FreeBSD Manual Pages
ALIGNED_ALLOC(3) BSD Library Functions Manual ALIGNED_ALLOC(3) NAME aligned_alloc, posix_memalign -- aligned memory allocation LIBRARY Standard C Library (libc, -lc) SYNOPSIS #include <stdlib.h> void * aligned_alloc(size_t alignment, size_t size); int posix_memalign(void **ptr, size_t alignment, size_t size); DESCRIPTION The aligned_alloc() and posix_memalign() functions allocate size bytes of memory such that the allocation's base address is an even multiple of alignment. The aligned_alloc() function returns the allocation, while the posix_memalign() function stores 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 aligned_alloc() and posix_memalign() can be used as an argument in subsequent calls to realloc(3), reallocf(3), and free(3). RETURN VALUES The aligned_alloc() function returns a pointer to the allocation if suc- cessful; otherwise a NULL pointer is returned and errno is set to an er- ror value. The posix_memalign() function returns the value 0 if successful; other- wise it returns an error value. ERRORS The aligned_alloc() and posix_memalign() functions 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), reallocf(3), valloc(3) STANDARDS The aligned_alloc() function conforms to ISO/IEC 9899:2011 ("ISO C11"). The posix_memalign() function conforms to IEEE Std 1003.1-2001 ("POSIX.1"). HISTORY The posix_memalign() function first appeared in FreeBSD 7.0. The aligned_alloc() function first appeared in FreeBSD 10.0. BSD January 7, 2011 BSD
NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | STANDARDS | HISTORY
Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=posix_memalign&sektion=3&manpath=FreeBSD+9.2-RELEASE>