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


NAME


posix_memalign - aligned memory allocation

SYNOPSIS


#include <sys/mman.h>

int posix_memalign(void **memptr, size_t alignment, size_t size);


DESCRIPTION


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().

RETURN VALUES


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

ERRORS


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.


ATTRIBUTES


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


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

SEE ALSO


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


July 14, 2008 POSIX_MEMALIGN(3C)