RTEMS CPU Kit with SuperCore  4.11.3
Macros | Functions | Variables
keyimpl.h File Reference

Private Inlined Routines for POSIX Key's. More...

#include <rtems/posix/key.h>
#include <rtems/score/chainimpl.h>
#include <rtems/score/freechain.h>
#include <rtems/score/objectimpl.h>
#include <rtems/score/percpu.h>
Include dependency graph for keyimpl.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define POSIX_KEYS_RBTREE_NODE_TO_KEY_VALUE_PAIR(node)   RTEMS_CONTAINER_OF( node, POSIX_Keys_Key_value_pair, Key_value_lookup_node )
 

Functions

void _POSIX_Key_Manager_initialization (void)
 POSIX key manager initialization. More...
 
RBTree_Compare_result _POSIX_Keys_Key_value_compare (const RBTree_Node *node1, const RBTree_Node *node2)
 POSIX keys Red-Black tree node comparison. More...
 
void _POSIX_Keys_Run_destructors (Thread_Control *thread)
 Create thread-specific data POSIX key. More...
 
void _POSIX_Keys_Free_memory (POSIX_Keys_Control *the_key)
 Free a POSIX key table memory. More...
 
RTEMS_INLINE_ROUTINE void _POSIX_Keys_Free (POSIX_Keys_Control *the_key)
 Free a POSIX keys control block. More...
 
RTEMS_INLINE_ROUTINE POSIX_Keys_Control_POSIX_Keys_Allocate (void)
 Allocate a keys control block. More...
 
RTEMS_INLINE_ROUTINE POSIX_Keys_Control_POSIX_Keys_Get (pthread_key_t id, Objects_Locations *location)
 Get a keys control block. More...
 
POSIX_Keys_Key_value_pair_POSIX_Keys_Key_value_pair_allocate (void)
 
RTEMS_INLINE_ROUTINE void _POSIX_Keys_Key_value_pair_free (POSIX_Keys_Key_value_pair *key_value_pair)
 
RTEMS_INLINE_ROUTINE RBTree_Node_POSIX_Keys_Find (pthread_key_t key, Thread_Control *thread)
 
RTEMS_INLINE_ROUTINE void _POSIX_Keys_Free_key_value_pair (POSIX_Keys_Key_value_pair *key_value_pair)
 

Variables

POSIX_EXTERN Objects_Information _POSIX_Keys_Information
 The information control block used to manage this class of objects.
 
RBTree_Control _POSIX_Keys_Key_value_lookup_tree
 The rbtree control block used to manage all key values.
 
POSIX_EXTERN Freechain_Control _POSIX_Keys_Keypool
 This freechain is used as a memory pool for POSIX_Keys_Key_value_pair.
 

Detailed Description

Private Inlined Routines for POSIX Key's.

This include file contains the static inline implementation of the private inlined routines for POSIX key's.