HPlogo HP-UX Reference > M

memalign(3C)

HP-UX 11i Version 2: December 2007 Update
» 

Technical documentation

 » Table of Contents

 » Index

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.

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.

EXTERNAL INFLUENCES

memalign() employs the malloc(3C) allocator. For tuning information, see the malloc(3C) man page.

WARNINGS

For warnings, see the malloc(3C) man page.

COMPATIBILITY

memalign() has not previously been available on HP-UX.

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.