valloc()

Allocate a heap block aligned on a page boundary

Synopsis:

#include <stdarg.h>

void * valloc( size_t size);

Arguments:

size
The size of the block to allocate, in bytes.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The valloc() function allocates a heap block that's aligned on a page boundary. It's equivalent to:

memalign( sysconf( _SC_PAGESIZE ), size );

Note: Because the malloc() implementation uses signed, 32-bit integers to represent the size internally, you can't allocate more than 2 GB in a single allocation. If the size is greater than 2 GB, valloc() indicates an error of ENOMEM.

Returns:

A pointer to the allocated block, or NULL if an error occurred (errno is set).

Errors:

ENOMEM
There's insufficient memory available with the requested alignment.

Classification:

QNX Neutrino

Safety:
Cancellation point No
Interrupt handler No
Signal handler Yes
Thread Yes

See also:

memalign(), sysconf()