diff options
Diffstat (limited to 'cpukit/posix/include/rtems/posix/key.h')
-rw-r--r-- | cpukit/posix/include/rtems/posix/key.h | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/cpukit/posix/include/rtems/posix/key.h b/cpukit/posix/include/rtems/posix/key.h index bfa05b1d10..7cc179c3cc 100644 --- a/cpukit/posix/include/rtems/posix/key.h +++ b/cpukit/posix/include/rtems/posix/key.h @@ -25,6 +25,7 @@ #include <rtems/score/chain.h> #include <rtems/score/object.h> #include <rtems/score/rbtree.h> +#include <rtems/score/thread.h> #ifdef __cplusplus extern "C" { @@ -39,20 +40,36 @@ extern "C" { /**@{**/ /** - * @brief The rbtree node used to manage a POSIX key and value. + * @brief Represents POSIX key and value pair. */ typedef struct { - /** This field is the chain node structure. */ + /** + * @brief The chain node for the per-thread value chain. + */ Chain_Node Key_values_per_thread_node; - /** This field is the rbtree node structure. */ + + /** + * @brief The tree node for the lookup tree. + */ RBTree_Node Key_value_lookup_node; - /** This field is the POSIX key used as an rbtree key */ + + /** + * @brief The POSIX key identifier used in combination with the thread + * pointer as the tree key. + */ pthread_key_t key; - /** This field is the Thread id also used as an rbtree key */ - Objects_Id thread_id; - /** This field points to the POSIX key value of specific thread */ + + /** + * @brief The thread pointer used in combination with the POSIX key + * identifier as the tree key. + */ + Thread_Control *thread; + + /** + * @brief The thread specific POSIX key value. + */ const void *value; -} POSIX_Keys_Key_value_pair; +} POSIX_Keys_Key_value_pair; /** * @brief The data structure used to manage a POSIX key. |