POSIX_MEMALIGN(3C) Standard C Library Functions POSIX_MEMALIGN(3C)

posix_memalign - aligned memory allocation

#include <sys/mman.h>
int posix_memalign(void **memptr, size_t alignment, size_t size);

The posix_memalign() function allocates size bytes aligned on a boundary specified by alignment, and returns a pointer to the allocated memory in memptr. The value of alignment must be a power of two multiple of sizeof(void *).

Upon successful completion, the value pointed to by memptr will be a multiple of alignment.

If the size of the space requested is 0, the value returned in memptr will be a null pointer.

The free(3C) function will deallocate memory that has previously been allocated by posix_memalign().

Upon successful completion, posix_memalign() returns zero. Otherwise, an error number is returned to indicate the error.

The posix_memalign() function will fail if:

EINVAL

The value of the alignment parameter is not a power of two multiple of sizeof(void *).

ENOMEM

There is insufficient memory available with the requested alignment.

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Committed
MT-Level MT-Safe
Standard See standards(7).

free(3C), malloc(3C), memalign(3C), attributes(7), standards(7)

July 14, 2008 OmniOS