RTEMS
5.1
|
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. More... | |
#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. More... | |
RTEMS_INLINE_ROUTINE void | _POSIX_Keys_Free (POSIX_Keys_Control *the_key) |
Free a keys control block. More... | |
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. More... | |
const uint32_t | _POSIX_Keys_Key_value_pair_maximum |
The POSIX key and value pairs maximum. More... | |
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. | |
#define POSIX_KEYS_INFORMATION_DEFINE | ( | max | ) |
Macro to define the objects information for the POSIX Key objects.
This macro should only be used by <rtems/confdefs.h>.
max | The configured object maximum (the OBJECTS_UNLIMITED_OBJECTS flag may be set). |
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.
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.
const uint32_t _POSIX_Keys_Key_value_pair_maximum |
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_pair _POSIX_Keys_Key_value_pairs[] |
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 ).