Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
ALIGNED_ALLOC(3)       FreeBSD 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
     successful; otherwise a NULL pointer is returned and errno is set to an
     error value.

     The posix_memalign() function returns the value 0 if successful;
     otherwise 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.

FreeBSD 11.0-PRERELEASE         January 7, 2011        FreeBSD 11.0-PRERELEASE

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>

home | help