RTEMS CPU Kit with SuperCore  4.11.3
key.h
Go to the documentation of this file.
1 
10 /*
11  * Copyright (c) 2012 Zhongwei Yao.
12  * COPYRIGHT (c) 1989-2011.
13  * On-Line Applications Research Corporation (OAR).
14  *
15  * The license and distribution terms for this file may be
16  * found in the file LICENSE in this distribution or at
17  * http://www.rtems.org/license/LICENSE.
18  */
19 
20 #ifndef _RTEMS_POSIX_KEY_H
21 #define _RTEMS_POSIX_KEY_H
22 
23 #include <pthread.h>
24 
25 #include <rtems/score/chain.h>
26 #include <rtems/score/object.h>
27 #include <rtems/score/rbtree.h>
28 #include <rtems/score/thread.h>
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
45 typedef struct {
50 
55 
60  pthread_key_t key;
61 
67 
71  void *value;
73 
77 typedef struct {
81  void (*destructor) (void *);
83 
86 #ifdef __cplusplus
87 }
88 #endif
89 
90 #endif
91 /* end of include file */
Constants and Structures Associated with the Object Handler.
This is used to manage each element (node) which is placed on a chain.
Definition: chain.h:65
The following defines the Object Control Block used to manage each object local to this node...
Definition: object.h:232
Represents POSIX key and value pair.
Definition: key.h:45
POSIX Threads Private Support.
Constants and Structures Related with the Thread Control Block.
Constants and Structures Associated with the Red-Black Tree Handler.
This structure defines the Thread Control Block (TCB).
Definition: thread.h:671
RBTree_Node Key_value_lookup_node
The tree node for the lookup tree.
Definition: key.h:54
void * value
The thread specific POSIX key value.
Definition: key.h:71
Chain_Node Key_values_per_thread_node
The chain node for the per-thread value chain.
Definition: key.h:49
Thread_Control * thread
The thread pointer used in combination with the POSIX key identifier as the tree key.
Definition: key.h:66
Chain Handler API.
The data structure used to manage a POSIX key.
Definition: key.h:77
pthread_key_t key
The POSIX key identifier used in combination with the thread pointer as the tree key.
Definition: key.h:60
Objects_Control Object
This field is the Object control structure.
Definition: key.h:79
This is used to manage each element (node) which is placed on a RBT.
Definition: rbtree.h:75