OpenBSD manual page server

Manual Page Search Parameters

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 ALSO
     free(3), malloc(3), realloc(3)

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.

BUGS
     Only alignments up to the page size can be specified.

OpenBSD 5.0                      May 19, 2010                      OpenBSD 5.0