POSIX_MEMALIGN(3) OpenBSD Programmer's Manual POSIX_MEMALIGN(3) NAME posix_memalign - aligned memory allocation SYNOPSIS #include <stdlib.h> int posix_memalign(void **ptr, size_t alignment, size_t size); DESCRIPTION The posix_memalign() function allocates size bytes of memory such that the allocation's base address is a multiple of alignment, and returns the allocation in the value pointed to by ptr. The requested alignment must be a power of 2 at least as large as sizeof(void *). Memory that is allocated via posix_memalign() can be used as an argument in subsequent calls to realloc(3) and free(3). RETURN VALUES The posix_memalign() function returns the value 0 if successful; otherwise it returns an error value. ERRORS The posix_memalign() function will fail if: [EINVAL] The alignment parameter is not a power of 2 at least as large as sizeof(void *). [ENOMEM] Memory allocation error. SEE ALSO free(3), malloc(3), realloc(3) STANDARDS The posix_memalign() function conforms to IEEE Std 1003.1-2001 (``POSIX.1''). HISTORY The posix_memalign() function first appeared in OpenBSD 4.8. BUGS Only alignments up to the page size can be specified. OpenBSD 5.0 May 19, 2010 OpenBSD 5.0