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),
reallocarray(3) and
free(3), but not
recallocarray(3) and
freezero(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
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.