manpagez: man(ual) pages & more
man posix_memalign(3)
Home | html | info | man
posix_memalign(3)        BSD Library Functions Manual        posix_memalign(3)


NAME

     posix_memalign -- aligned memory allocation


SYNOPSIS

     #include <stdlib.h>

     int
     posix_memalign(void **memptr, size_t alignment, size_t size);


DESCRIPTION

     The posix_memalign() function allocates size bytes of memory such that
     the allocation's base address is an exact multiple of alignment, and
     returns the allocation in the value pointed to by memptr.

     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), reallocf(3), and free(3).  (Note how-
     ever, that the allocation returned by realloc(3) or reallocf(3) is not
     guaranteed to preserve the original alignment).


NOTES

     posix_memalign() should be used judiciously as the algorithm that real-
     izes the alignment constraint can incur significant memory overhead.


RETURN VALUES

     The posix_memalign() function returns the value 0 if successful; other-
     wise 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), reallocf(3), valloc(3),
     malloc_zone_memalign(3)


STANDARDS

     The posix_memalign() function conforms to IEEE Std 1003.1-2001
     (``POSIX.1'').

BSD                              April 9, 2008                             BSD

Mac OS X 10.8 - Generated Wed Aug 29 19:28:19 CDT 2012
© manpagez.com 2000-2017
Individual documents may contain additional copyright information.