NAME
memalign() — allocate aligned memory
SYNOPSIS
#include <stdlib.h>
void *memalign(size_t boundary, size_t size);
DESCRIPTION
memalign()
allocates space for a block of
size
bytes, whose address is a multiple of
boundary.
The space is not initialized. The
boundary
must be a power of 2.
EXTERNAL INFLUENCES
memalign()
employs the
malloc()
allocator. For tuning information, see the
malloc(3C)
man page.
RETURN VALUE
Upon successful completion,
memalign()
returns a pointer to space aligned to a multiple of
boundary.
Otherwise, it returns a NULL pointer.
DIAGNOSTICS
memalign()
returns a NULL pointer if there is no available memory,
or if the value of
boundary
is not a power of 2.
ERRORS
- ENOMEM
memalign()
sets
errno
to
ENOMEM
and returns a
NULL pointer when an out-of-memory condition arises.
- EINVAL
memalign()
sets
errno
to
EINVAL
and returns a NULL pointer when the value of
boundary
is not a power of 2.
- EINVAL
memalign()
sets
errno
to
EINVAL
and returns a NULL
pointer when the memory being managed by
malloc()
has been detectably corrupted.
WARNINGS
For warnings, see the
malloc(3C)
man page.
STANDARDS CONFORMANCE
There appear to be no standards applicable to
memalign().
Some implementations do not check that
boundary
is a power of 2.
The HP-UX implementation is not derived from any predecessor.