Package org.lwjgl.system.libc
Class LibCStdlib
- java.lang.Object
-
- org.lwjgl.system.libc.LibCStdlib
-
public class LibCStdlib extends java.lang.ObjectNative bindings to stdlib.h.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method 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 withaligned_alloc(long, long).static voidaligned_free(java.nio.DoubleBuffer ptr)Frees a block of memory that was allocated withaligned_alloc(long, long).static voidaligned_free(java.nio.FloatBuffer ptr)Frees a block of memory that was allocated withaligned_alloc(long, long).static voidaligned_free(java.nio.IntBuffer ptr)Frees a block of memory that was allocated withaligned_alloc(long, long).static voidaligned_free(java.nio.LongBuffer ptr)Frees a block of memory that was allocated withaligned_alloc(long, long).static voidaligned_free(java.nio.ShortBuffer ptr)Frees a block of memory that was allocated withaligned_alloc(long, long).static voidaligned_free(PointerBuffer ptr)Frees a block of memory that was allocated withaligned_alloc(long, long).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 tomalloc(long),calloc(long, long), orrealloc(java.nio.ByteBuffer, long).static voidfree(java.nio.DoubleBuffer ptr)Frees the memory space pointed to byptr, which must have been returned by a previous call tomalloc(long),calloc(long, long), orrealloc(java.nio.ByteBuffer, long).static voidfree(java.nio.FloatBuffer ptr)Frees the memory space pointed to byptr, which must have been returned by a previous call tomalloc(long),calloc(long, long), orrealloc(java.nio.ByteBuffer, long).static voidfree(java.nio.IntBuffer ptr)Frees the memory space pointed to byptr, which must have been returned by a previous call tomalloc(long),calloc(long, long), orrealloc(java.nio.ByteBuffer, long).static voidfree(java.nio.LongBuffer ptr)Frees the memory space pointed to byptr, which must have been returned by a previous call tomalloc(long),calloc(long, long), orrealloc(java.nio.ByteBuffer, long).static voidfree(java.nio.ShortBuffer ptr)Frees the memory space pointed to byptr, which must have been returned by a previous call tomalloc(long),calloc(long, long), orrealloc(java.nio.ByteBuffer, long).static voidfree(PointerBuffer ptr)Frees the memory space pointed to byptr, which must have been returned by a previous call tomalloc(long),calloc(long, long), orrealloc(java.nio.ByteBuffer, long).static java.nio.ByteBuffermalloc(long size)Allocatessizebytes and returns a pointer to the allocated memory.static longnaligned_alloc(long alignment, long size)Unsafe version of:aligned_alloc(long, long)static voidnaligned_free(long ptr)Unsafe version of:aligned_free(java.nio.ByteBuffer)static longncalloc(long nmemb, long size)Unsafe version of:calloc(long, long)static voidnfree(long ptr)Unsafe version of:free(java.nio.ByteBuffer)static longnmalloc(long size)Unsafe version of:malloc(long)static longnrealloc(long ptr, long size)Unsafe version of:realloc(java.nio.ByteBuffer, long)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
-
nmalloc
public static long nmalloc(long size)
Unsafe version of:malloc(long)
-
malloc
@Nullable 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 tofree(java.nio.ByteBuffer).- Parameters:
size- the number of bytes to allocate
-
ncalloc
public static long ncalloc(long nmemb, long size)Unsafe version of:calloc(long, long)
-
calloc
@Nullable 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 tofree(java.nio.ByteBuffer).- Parameters:
nmemb- the number of elements to allocatesize- the number of bytes to allocate per element
-
nrealloc
public static long nrealloc(long ptr, long size)Unsafe version of:realloc(java.nio.ByteBuffer, long)
-
realloc
@Nullable public static java.nio.ByteBuffer realloc(@Nullable 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 tomalloc(long),calloc(long, long)orrealloc(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
-
nfree
public static void nfree(long ptr)
Unsafe version of:free(java.nio.ByteBuffer)
-
free
public static void free(@Nullable java.nio.ByteBuffer ptr) public static void free(@Nullable java.nio.ShortBuffer ptr) public static void free(@Nullable java.nio.IntBuffer ptr) public static void free(@Nullable java.nio.LongBuffer ptr) public static void free(@Nullable java.nio.FloatBuffer ptr) public static void free(@Nullable java.nio.DoubleBuffer ptr) public static void free(@Nullable PointerBuffer ptr)Frees the memory space pointed to byptr, which must have been returned by a previous call tomalloc(long),calloc(long, long), orrealloc(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
-
naligned_alloc
public static long naligned_alloc(long alignment, long size)Unsafe version of:aligned_alloc(long, long)
-
aligned_alloc
@Nullable 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 withaligned_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.
-
naligned_free
public static void naligned_free(long ptr)
Unsafe version of:aligned_free(java.nio.ByteBuffer)
-
aligned_free
public static void aligned_free(@Nullable java.nio.ByteBuffer ptr) public static void aligned_free(@Nullable java.nio.ShortBuffer ptr) public static void aligned_free(@Nullable java.nio.IntBuffer ptr) public static void aligned_free(@Nullable java.nio.LongBuffer ptr) public static void aligned_free(@Nullable java.nio.FloatBuffer ptr) public static void aligned_free(@Nullable java.nio.DoubleBuffer ptr) public static void aligned_free(@Nullable PointerBuffer ptr)Frees a block of memory that was allocated withaligned_alloc(long, long). If ptr isNULL, no operation is performed.- Parameters:
ptr- the aligned block of memory to free
-
-