RTEMS  5.1
Files | Data Structures | Macros | Functions | Variables

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.
 

Detailed Description

Macro Definition Documentation

◆ POSIX_KEYS_INFORMATION_DEFINE

#define POSIX_KEYS_INFORMATION_DEFINE (   max)
Value:
_POSIX_Keys, \
OBJECTS_POSIX_API, \
OBJECTS_POSIX_KEYS, \
max, \
NULL \
)
#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
#define OBJECTS_INFORMATION_DEFINE(name, api, cls, type, max, nl, ex)
Statically initializes an objects information.
Definition: objectdata.h:427
The data structure used to manage a POSIX key.
Definition: key.h:94
#define NULL
Requests a GPIO pin group configuration.
Definition: bestcomm_api.h:77

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

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

Parameters
maxThe 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

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[]

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 ).