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 ALSOfree(3), malloc(3), realloc(3)STANDARDS
The posix_memalign() function conforms to IEEE Std 1003.1-2001
(``POSIX'').
HISTORY
The posix_memalign() function first appeared in OpenBSD 4.8.
BUGS
Only alignments up to the page size can be specified.
OpenBSD 4.9 May 19, 2010 OpenBSD 4.9