RTEMS: POSIX Key

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Files | Data Structures | Macros | Functions | Variables
POSIX Key
Internal » RTEMS POSIX API

## Files
file | key.c
| POSIX Keys Information with Zero Objects.

## Data Structures
struct | POSIX_Keys_Key_value_pair
| Represents POSIX key and value pair. More...
struct | POSIX_Keys_Control
| The data structure used to manage a POSIX key. More...

## Macros
#define | POSIX_KEYS_INFORMATION_DEFINE(max)
| Macro to define the objects information for the POSIX Key objects.
#define | POSIX_KEYS_RBTREE_NODE_TO_KEY_VALUE_PAIR(node) RTEMS_CONTAINER_OF( node, POSIX_Keys_Key_value_pair, Lookup_node )

## Functions
RTEMS_INLINE_ROUTINE POSIX_Keys_Control * | _POSIX_Keys_Allocate (void)
| Allocate a keys control block.
RTEMS_INLINE_ROUTINE void | _POSIX_Keys_Free (POSIX_Keys_Control *the_key)
| Free a keys control block.
RTEMS_INLINE_ROUTINE POSIX_Keys_Control * | _POSIX_Keys_Get (pthread_key_t key)
RTEMS_INLINE_ROUTINE void | _POSIX_Keys_Key_value_acquire (Thread_Control *the_thread, ISR_lock_Context *lock_context)
RTEMS_INLINE_ROUTINE void | _POSIX_Keys_Key_value_release (Thread_Control *the_thread, ISR_lock_Context *lock_context)
POSIX_Keys_Key_value_pair * | _POSIX_Keys_Key_value_allocate (void)
RTEMS_INLINE_ROUTINE void | _POSIX_Keys_Key_value_free (POSIX_Keys_Key_value_pair *key_value_pair)
RTEMS_INLINE_ROUTINE bool | _POSIX_Keys_Key_value_equal (const void *left, const RBTree_Node *right)
RTEMS_INLINE_ROUTINE bool | _POSIX_Keys_Key_value_less (const void *left, const RBTree_Node *right)
RTEMS_INLINE_ROUTINE void * | _POSIX_Keys_Key_value_map (RBTree_Node *node)
RTEMS_INLINE_ROUTINE POSIX_Keys_Key_value_pair * | _POSIX_Keys_Key_value_find (pthread_key_t key, const Thread_Control *the_thread)
RTEMS_INLINE_ROUTINE void | _POSIX_Keys_Key_value_insert (pthread_key_t key, POSIX_Keys_Key_value_pair *key_value_pair, Thread_Control *the_thread)

## Variables
POSIX_Keys_Key_value_pair | _POSIX_Keys_Key_value_pairs []
| The initial set of POSIX key and value pairs.
const uint32_t | _POSIX_Keys_Key_value_pair_maximum
| The POSIX key and value pairs maximum.
Objects_Information | _POSIX_Keys_Information
| The POSIX Key objects information.
Freechain_Control | _POSIX_Keys_Keypool
| This freechain is used as a memory pool for POSIX_Keys_Key_value_pair.

## Detailed Description

## Macro Definition Documentation

## ◆ POSIX_KEYS_INFORMATION_DEFINE

#define POSIX_KEYS_INFORMATION_DEFINE | ( |  | max | ) |

Value:
OBJECTS_INFORMATION_DEFINE( \
_POSIX_Keys, \
OBJECTS_POSIX_API, \
OBJECTS_POSIX_KEYS, \
POSIX_Keys_Control, \
max, \
OBJECTS_NO_STRING_NAME, \
NULL \
)
NULL
#define NULL
Requests a GPIO pin group configuration.
Definition: bestcomm_api.h:77
OBJECTS_NO_STRING_NAME
#define OBJECTS_NO_STRING_NAME
Constant for the object information string name length to indicate that this object class has no stri...
Definition: objectdata.h:101
OBJECTS_INFORMATION_DEFINE
#define OBJECTS_INFORMATION_DEFINE(name, api, cls, type, max, nl, ex)
Statically initializes an objects information.
Definition: objectdata.h:427
POSIX_Keys_Control
The data structure used to manage a POSIX key.
Definition: key.h:94

Macro to define the objects information for the POSIX Key objects.

This macro should only be used by <rtems/confdefs.h>.

Parameters

  max | The configured object maximum (the OBJECTS_UNLIMITED_OBJECTS flag may be set).

## Function Documentation

## ◆ _POSIX_Keys_Allocate()

RTEMS_INLINE_ROUTINE POSIX_Keys_Control * _POSIX_Keys_Allocate | ( | void |  | ) |

Allocate a keys control block.

This function allocates a keys control block from the inactive chain of free keys control blocks.

## ◆ _POSIX_Keys_Free()

RTEMS_INLINE_ROUTINE void _POSIX_Keys_Free | ( | POSIX_Keys_Control * | the_key | ) |

Free a keys control block.

This routine frees a keys control block to the inactive chain of free keys control blocks.

## Variable Documentation

## ◆ _POSIX_Keys_Key_value_pair_maximum

const uint32_t _POSIX_Keys_Key_value_pair_maximum
| extern

The POSIX key and value pairs maximum.

This value is provided via <rtems/confdefs.h> in case POSIX key and value pairs are configured. The OBJECTS_UNLIMITED_OBJECTS flag may be set.

## ◆ _POSIX_Keys_Key_value_pairs

POSIX_Keys_Key_value_pair _POSIX_Keys_Key_value_pairs[]
| extern

The initial set of POSIX key and value pairs.

This array is provided via <rtems/confdefs.h> in case POSIX key and value pairs are configured. The POSIX key and value pair count in this array must be equal to _Objects_Maximum_per_allocation( _POSIX_Keys_Key_value_pair_maximum ).