Class LibCStdlib

java.lang.Object
org.lwjgl.system.libc.LibCStdlib

public class LibCStdlib extends Object
Native bindings to stdlib.h.
  • Method Details

    • nmalloc

      public static long nmalloc(long size)
      Unsafe version of: malloc(long)
    • malloc

      @Nullable public static ByteBuffer malloc(long size)
      Allocates size bytes and returns a pointer to the allocated memory. The memory is not initialized. If size is 0, then malloc() returns either NULL, or a unique pointer value that can later be successfully passed to free(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 ByteBuffer calloc(long nmemb, long size)
      Allocates memory for an array of nmemb elements of size bytes each and returns a pointer to the allocated memory. The memory is set to zero. If nmemb or size is 0, then calloc() returns either NULL, or a unique pointer value that can later be successfully passed to free(java.nio.ByteBuffer).
      Parameters:
      nmemb - the number of elements to allocate
      size - the number of bytes to allocate per element
    • nrealloc

      public static long nrealloc(long ptr, long size)
    • realloc

      @Nullable public static ByteBuffer realloc(@Nullable ByteBuffer ptr, long size)
      Changes the size of the memory block pointed to by ptr to size bytes 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. If ptr is NULL, then the call is equivalent to malloc(size), for all values of size; if size is equal to zero, and ptr is not NULL, then the call is equivalent to free(ptr). Unless ptr is NULL, it must have been returned by an earlier call to malloc(long), calloc(long, long) or realloc(java.nio.ByteBuffer, long). If the area pointed to was moved, a free(ptr) is done.
      Parameters:
      ptr - the memory block to reallocate
      size - 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 ByteBuffer ptr)
      Frees the memory space pointed to by ptr, which must have been returned by a previous call to malloc(long), calloc(long, long), or realloc(java.nio.ByteBuffer, long). Otherwise, or if free(ptr) has already been called before, undefined behavior occurs. If ptr is NULL, no operation is performed.
      Parameters:
      ptr - the memory space to free
    • free

      public static void free(@Nullable ShortBuffer ptr)
      Frees the memory space pointed to by ptr, which must have been returned by a previous call to malloc(long), calloc(long, long), or realloc(java.nio.ByteBuffer, long). Otherwise, or if free(ptr) has already been called before, undefined behavior occurs. If ptr is NULL, no operation is performed.
      Parameters:
      ptr - the memory space to free
    • free

      public static void free(@Nullable IntBuffer ptr)
      Frees the memory space pointed to by ptr, which must have been returned by a previous call to malloc(long), calloc(long, long), or realloc(java.nio.ByteBuffer, long). Otherwise, or if free(ptr) has already been called before, undefined behavior occurs. If ptr is NULL, no operation is performed.
      Parameters:
      ptr - the memory space to free
    • free

      public static void free(@Nullable LongBuffer ptr)
      Frees the memory space pointed to by ptr, which must have been returned by a previous call to malloc(long), calloc(long, long), or realloc(java.nio.ByteBuffer, long). Otherwise, or if free(ptr) has already been called before, undefined behavior occurs. If ptr is NULL, no operation is performed.
      Parameters:
      ptr - the memory space to free
    • free

      public static void free(@Nullable FloatBuffer ptr)
      Frees the memory space pointed to by ptr, which must have been returned by a previous call to malloc(long), calloc(long, long), or realloc(java.nio.ByteBuffer, long). Otherwise, or if free(ptr) has already been called before, undefined behavior occurs. If ptr is NULL, no operation is performed.
      Parameters:
      ptr - the memory space to free
    • free

      public static void free(@Nullable DoubleBuffer ptr)
      Frees the memory space pointed to by ptr, which must have been returned by a previous call to malloc(long), calloc(long, long), or realloc(java.nio.ByteBuffer, long). Otherwise, or if free(ptr) has already been called before, undefined behavior occurs. If ptr is NULL, no operation is performed.
      Parameters:
      ptr - the memory space to free
    • free

      public static void free(@Nullable org.lwjgl.PointerBuffer ptr)
      Frees the memory space pointed to by ptr, which must have been returned by a previous call to malloc(long), calloc(long, long), or realloc(java.nio.ByteBuffer, long). Otherwise, or if free(ptr) has already been called before, undefined behavior occurs. If ptr is NULL, 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 ByteBuffer aligned_alloc(long alignment, long size)
      Allocates size bytes of uninitialized storage whose alignment is specified by alignment. The size parameter must be an integral multiple of alignment. Memory allocated with aligned_alloc() must be freed with 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 of alignment.
    • naligned_free

      public static void naligned_free(long ptr)
    • aligned_free

      public static void aligned_free(@Nullable ByteBuffer ptr)
      Frees a block of memory that was allocated with aligned_alloc(long, long). If ptr is NULL, no operation is performed.
      Parameters:
      ptr - the aligned block of memory to free
    • aligned_free

      public static void aligned_free(@Nullable ShortBuffer ptr)
      Frees a block of memory that was allocated with aligned_alloc(long, long). If ptr is NULL, no operation is performed.
      Parameters:
      ptr - the aligned block of memory to free
    • aligned_free

      public static void aligned_free(@Nullable IntBuffer ptr)
      Frees a block of memory that was allocated with aligned_alloc(long, long). If ptr is NULL, no operation is performed.
      Parameters:
      ptr - the aligned block of memory to free
    • aligned_free

      public static void aligned_free(@Nullable LongBuffer ptr)
      Frees a block of memory that was allocated with aligned_alloc(long, long). If ptr is NULL, no operation is performed.
      Parameters:
      ptr - the aligned block of memory to free
    • aligned_free

      public static void aligned_free(@Nullable FloatBuffer ptr)
      Frees a block of memory that was allocated with aligned_alloc(long, long). If ptr is NULL, no operation is performed.
      Parameters:
      ptr - the aligned block of memory to free
    • aligned_free

      public static void aligned_free(@Nullable DoubleBuffer ptr)
      Frees a block of memory that was allocated with aligned_alloc(long, long). If ptr is NULL, no operation is performed.
      Parameters:
      ptr - the aligned block of memory to free
    • aligned_free

      public static void aligned_free(@Nullable org.lwjgl.PointerBuffer ptr)
      Frees a block of memory that was allocated with aligned_alloc(long, long). If ptr is NULL, no operation is performed.
      Parameters:
      ptr - the aligned block of memory to free