iofunc_lock_calloc()

Allocate memory to lock structures

Synopsis:

#include <sys/iofunc.h>

iofunc_lock_list_t *iofunc_lock_calloc
                   ( resmgr_context_t *ctp,
                     IOFUNC_OCB_T *ocb,
                     size_t size );

Arguments:

ctp
A pointer to a resmgr_context_t structure that the resource-manager library uses to pass context information between functions.
ocb
A pointer to the the Open Control Block (typically a iofunc_ocb_t structure) that was created when the client opened the resource.
size
The amount of memory that you want to allocate.

Library:

libc

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

Description:

The function iofunc_lock_calloc() is used by iofunc_lock() to allocate memory to lock structures.


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, iofunc_lock_calloc() indicates an error of ENOMEM.

Returns:

A pointer to a zeroed buffer that the POSIX layer uses for locks, or NULL if no memory could be allocated (errno is set).

Errors:

ENOMEM
Not enough memory.
EOK
No error.

Classification:

QNX Neutrino

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

See also:

iofunc_lock(), iofunc_lock_free()

Writing a Resource Manager