Man Linux: Main Page and Category List

NAME

       posix_memalign - aligned memory allocation (ADVANCED REALTIME)

SYNOPSIS

       #include <stdlib.h>

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

DESCRIPTION

       The  posix_memalign()  function  shall allocate size bytes aligned on a
       boundary specified by alignment, and shall  return  a  pointer  to  the
       allocated  memory in memptr. The value of alignment shall be a multiple
       of sizeof( void *), that is  also  a  power  of  two.  Upon  successful
       completion,  the  value  pointed  to  by  memptr shall be a multiple of
       alignment.

       The free() function shall deallocate memory that  has  previously  been
       allocated by posix_memalign().

RETURN VALUE

       Upon   successful   completion,  posix_memalign()  shall  return  zero;
       otherwise, an error number shall be returned to indicate the error.

ERRORS

       The posix_memalign() function shall fail if:

       EINVAL The value of the alignment parameter  is  not  a  power  of  two
              multiple of sizeof( void *).

       ENOMEM There  is  insufficient  memory  available  with  the  requested
              alignment.

       The following sections are informative.

EXAMPLES

       None.

APPLICATION USAGE

       The posix_memalign() function  is  part  of  the  Advisory  Information
       option and need not be provided on all implementations.

RATIONALE

       None.

FUTURE DIRECTIONS

       None.

SEE ALSO

       free()    ,    malloc()    ,    the    Base   Definitions   volume   of
       IEEE Std 1003.1-2001, <stdlib.h>

COPYRIGHT

       Portions of this text are reprinted and reproduced in  electronic  form
       from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
       -- Portable Operating System Interface (POSIX),  The  Open  Group  Base
       Specifications  Issue  6,  Copyright  (C) 2001-2003 by the Institute of
       Electrical and Electronics Engineers, Inc and The Open  Group.  In  the
       event of any discrepancy between this version and the original IEEE and
       The Open Group Standard, the original IEEE and The Open Group  Standard
       is  the  referee document. The original Standard can be obtained online
       at http://www.opengroup.org/unix/online.html .