Caution: This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs.

posix_typed_mem_get_info()

Query a typed memory object to obtain the amount of memory available

Synopsis:

#include <sys/mman.h>

int posix_typed_mem_get_info(
        int fildes,
        struct posix_typed_mem_info *info);

Arguments:

fildes
The file description for the typed memory object that you want to query.
info
A pointer to a posix_typed_mem_info structure where the function can store the information.

Library:

libc

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

Description:

The posix_typed_mem_get_info() function queries the typed memory object to obtain the amount of memory currently available.

The posix_typed_mem_get_info() function allows an application to immediately determine the amount of available memory. This is particularly important for typed memory objects that may in some cases be scarce resources. The posix_typed_mem_get_info() function stores, in the posix_tmi_length field of the posix_typed_mem_info structure pointed to by info, the maximum length that may be successfully allocated by the typed memory object designated by fildes. Note that when a typed memory pool is a shared resource, some form of mutual-exclusion or synchronization may be required while typed memory is being queried and allocated to prevent race conditions.

The maximum length is dynamic; it's valid only while the current mapping of the corresponding typed memory pool remains unchanged.

This maximum length takes into account the flag POSIX_TYPED_MEM_ALLOCATE or POSIX_TYPED_MEM_ALLOCATE_CONTIG specified when the typed memory object represented by fildes was opened.

If fildes represents a typed memory object opened with neither the POSIX_TYPED_MEM_ALLOCATE flag nor the POSIX_TYPED_MEM_ALLOCATE_CONTIG flag specified, the returned value of info->posix_tmi_length is 0.


Note:

This function was added in the QNX Neutrino Core OS 6.3.2.


Returns:

0
Success.
EBADF
The fildes argument isn't a valid open file descriptor.
ENODEV
The fildes isn't connected to a memory object supported by this function.

Classification:

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

See also:

posix_mem_offset(), posix_typed_mem_open()