Package org.lwjgl.system.libc
Class Stdlib
- java.lang.Object
-
- org.lwjgl.system.libc.Stdlib
-
public class Stdlib extends java.lang.ObjectNative bindings to stdlib.h.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method and Description static java.nio.ByteBufferaligned_alloc(long alignment, long size)Allocatessizebytes of uninitialized storage whose alignment is specified byalignment.static voidaligned_free(java.nio.ByteBuffer ptr)Frees a block of memory that was allocated withStdlib.aligned_alloc(long, long).static voidaligned_free(double[] ptr)double[] version of:Stdlib.aligned_free(java.nio.ByteBuffer)static voidaligned_free(java.nio.DoubleBuffer ptr)DoubleBuffer version of:Stdlib.aligned_free(java.nio.ByteBuffer)static voidaligned_free(float[] ptr)float[] version of:Stdlib.aligned_free(java.nio.ByteBuffer)static voidaligned_free(java.nio.FloatBuffer ptr)FloatBuffer version of:Stdlib.aligned_free(java.nio.ByteBuffer)static voidaligned_free(int[] ptr)int[] version of:Stdlib.aligned_free(java.nio.ByteBuffer)static voidaligned_free(java.nio.IntBuffer ptr)IntBuffer version of:Stdlib.aligned_free(java.nio.ByteBuffer)static voidaligned_free(long[] ptr)long[] version of:Stdlib.aligned_free(java.nio.ByteBuffer)static voidaligned_free(java.nio.LongBuffer ptr)LongBuffer version of:Stdlib.aligned_free(java.nio.ByteBuffer)static voidaligned_free(PointerBuffer ptr)PointerBuffer version of:Stdlib.aligned_free(java.nio.ByteBuffer)static voidaligned_free(short[] ptr)short[] version of:Stdlib.aligned_free(java.nio.ByteBuffer)static voidaligned_free(java.nio.ShortBuffer ptr)ShortBuffer version of:Stdlib.aligned_free(java.nio.ByteBuffer)static java.nio.ByteBuffercalloc(long nmemb, long size)Allocates memory for an array ofnmembelements ofsizebytes each and returns a pointer to the allocated memory.static voidfree(java.nio.ByteBuffer ptr)Frees the memory space pointed to byptr, which must have been returned by a previous call toStdlib.malloc(long),Stdlib.calloc(long, long), orStdlib.realloc(java.nio.ByteBuffer, long).static voidfree(double[] ptr)double[] version of:Stdlib.free(java.nio.ByteBuffer)static voidfree(java.nio.DoubleBuffer ptr)DoubleBuffer version of:Stdlib.free(java.nio.ByteBuffer)static voidfree(float[] ptr)float[] version of:Stdlib.free(java.nio.ByteBuffer)static voidfree(java.nio.FloatBuffer ptr)FloatBuffer version of:Stdlib.free(java.nio.ByteBuffer)static voidfree(int[] ptr)int[] version of:Stdlib.free(java.nio.ByteBuffer)static voidfree(java.nio.IntBuffer ptr)IntBuffer version of:Stdlib.free(java.nio.ByteBuffer)static voidfree(long[] ptr)long[] version of:Stdlib.free(java.nio.ByteBuffer)static voidfree(java.nio.LongBuffer ptr)LongBuffer version of:Stdlib.free(java.nio.ByteBuffer)static voidfree(PointerBuffer ptr)PointerBuffer version of:Stdlib.free(java.nio.ByteBuffer)static voidfree(short[] ptr)short[] version of:Stdlib.free(java.nio.ByteBuffer)static voidfree(java.nio.ShortBuffer ptr)ShortBuffer version of:Stdlib.free(java.nio.ByteBuffer)static java.nio.ByteBuffermalloc(long size)Allocatessizebytes and returns a pointer to the allocated memory.static java.nio.ByteBufferrealloc(java.nio.ByteBuffer ptr, long size)Changes the size of the memory block pointed to byptrtosizebytes The contents will be unchanged in the range from the start of the region up to the minimum of the old and new sizes.
-
-
-
Method Detail
-
malloc
public static java.nio.ByteBuffer malloc(long size)
Allocatessizebytes and returns a pointer to the allocated memory. The memory is not initialized. Ifsizeis 0, then malloc() returns eitherNULL, or a unique pointer value that can later be successfully passed toStdlib.free(java.nio.ByteBuffer).- Parameters:
size- the number of bytes to allocate
-
calloc
public static java.nio.ByteBuffer calloc(long nmemb, long size)Allocates memory for an array ofnmembelements ofsizebytes each and returns a pointer to the allocated memory. The memory is set to zero. Ifnmemborsizeis 0, then calloc() returns eitherNULL, or a unique pointer value that can later be successfully passed toStdlib.free(java.nio.ByteBuffer).- Parameters:
nmemb- the number of elements to allocatesize- the number of bytes to allocate per element
-
realloc
public static java.nio.ByteBuffer realloc(java.nio.ByteBuffer ptr, long size)Changes the size of the memory block pointed to byptrtosizebytes The contents will be unchanged in the range from the start of the region up to the minimum of the old and new sizes. If the new size is larger than the old size, the added memory will not be initialized. IfptrisNULL, then the call is equivalent tomalloc(size), for all values ofsize; ifsizeis equal to zero, andptris notNULL, then the call is equivalent tofree(ptr). UnlessptrisNULL, it must have been returned by an earlier call toStdlib.malloc(long),Stdlib.calloc(long, long)orStdlib.realloc(java.nio.ByteBuffer, long). If the area pointed to was moved, afree(ptr)is done.- Parameters:
ptr- the memory block to reallocatesize- the new memory block size, in bytes
-
free
public static void free(java.nio.ByteBuffer ptr)
Frees the memory space pointed to byptr, which must have been returned by a previous call toStdlib.malloc(long),Stdlib.calloc(long, long), orStdlib.realloc(java.nio.ByteBuffer, long). Otherwise, or iffree(ptr)has already been called before, undefined behavior occurs. If ptr isNULL, no operation is performed.- Parameters:
ptr- the memory space to free
-
free
public static void free(java.nio.ShortBuffer ptr)
ShortBuffer version of:Stdlib.free(java.nio.ByteBuffer)
-
free
public static void free(java.nio.IntBuffer ptr)
IntBuffer version of:Stdlib.free(java.nio.ByteBuffer)
-
free
public static void free(java.nio.LongBuffer ptr)
LongBuffer version of:Stdlib.free(java.nio.ByteBuffer)
-
free
public static void free(java.nio.FloatBuffer ptr)
FloatBuffer version of:Stdlib.free(java.nio.ByteBuffer)
-
free
public static void free(java.nio.DoubleBuffer ptr)
DoubleBuffer version of:Stdlib.free(java.nio.ByteBuffer)
-
free
public static void free(PointerBuffer ptr)
PointerBuffer version of:Stdlib.free(java.nio.ByteBuffer)
-
aligned_alloc
public static java.nio.ByteBuffer aligned_alloc(long alignment, long size)Allocatessizebytes of uninitialized storage whose alignment is specified byalignment. The size parameter must be an integral multiple of alignment. Memory allocated with aligned_alloc() must be freed withStdlib.aligned_free(java.nio.ByteBuffer).- Parameters:
alignment- the alignment. Must be a power of two value.size- the number of bytes to allocate. Must be a multiple ofalignment.
-
aligned_free
public static void aligned_free(java.nio.ByteBuffer ptr)
Frees a block of memory that was allocated withStdlib.aligned_alloc(long, long). If ptr isNULL, no operation is performed.- Parameters:
ptr- the aligned block of memory to free
-
aligned_free
public static void aligned_free(java.nio.ShortBuffer ptr)
ShortBuffer version of:Stdlib.aligned_free(java.nio.ByteBuffer)
-
aligned_free
public static void aligned_free(java.nio.IntBuffer ptr)
IntBuffer version of:Stdlib.aligned_free(java.nio.ByteBuffer)
-
aligned_free
public static void aligned_free(java.nio.LongBuffer ptr)
LongBuffer version of:Stdlib.aligned_free(java.nio.ByteBuffer)
-
aligned_free
public static void aligned_free(java.nio.FloatBuffer ptr)
FloatBuffer version of:Stdlib.aligned_free(java.nio.ByteBuffer)
-
aligned_free
public static void aligned_free(java.nio.DoubleBuffer ptr)
DoubleBuffer version of:Stdlib.aligned_free(java.nio.ByteBuffer)
-
aligned_free
public static void aligned_free(PointerBuffer ptr)
PointerBuffer version of:Stdlib.aligned_free(java.nio.ByteBuffer)
-
free
public static void free(short[] ptr)
short[] version of:Stdlib.free(java.nio.ByteBuffer)
-
free
public static void free(int[] ptr)
int[] version of:Stdlib.free(java.nio.ByteBuffer)
-
free
public static void free(long[] ptr)
long[] version of:Stdlib.free(java.nio.ByteBuffer)
-
free
public static void free(float[] ptr)
float[] version of:Stdlib.free(java.nio.ByteBuffer)
-
free
public static void free(double[] ptr)
double[] version of:Stdlib.free(java.nio.ByteBuffer)
-
aligned_free
public static void aligned_free(short[] ptr)
short[] version of:Stdlib.aligned_free(java.nio.ByteBuffer)
-
aligned_free
public static void aligned_free(int[] ptr)
int[] version of:Stdlib.aligned_free(java.nio.ByteBuffer)
-
aligned_free
public static void aligned_free(long[] ptr)
long[] version of:Stdlib.aligned_free(java.nio.ByteBuffer)
-
aligned_free
public static void aligned_free(float[] ptr)
float[] version of:Stdlib.aligned_free(java.nio.ByteBuffer)
-
aligned_free
public static void aligned_free(double[] ptr)
double[] version of:Stdlib.aligned_free(java.nio.ByteBuffer)
-
-