RTEMS  5.0.0
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>

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, 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

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.