RTEMS CPU Kit with SuperCore  4.10.99.0
rtems/posix/key.h
Go to the documentation of this file.
00001 
00010 /*
00011  * Copyright (c) 2012 Zhongwei Yao.
00012  * COPYRIGHT (c) 1989-2011.
00013  * On-Line Applications Research Corporation (OAR).
00014  *
00015  * The license and distribution terms for this file may be
00016  * found in the file LICENSE in this distribution or at
00017  * http://www.rtems.org/license/LICENSE.
00018  */
00019 
00020 #ifndef _RTEMS_POSIX_KEY_H
00021 #define _RTEMS_POSIX_KEY_H
00022 
00023 #include <pthread.h>
00024 
00025 #include <rtems/score/chain.h>
00026 #include <rtems/score/object.h>
00027 #include <rtems/score/rbtree.h>
00028 #include <rtems/score/thread.h>
00029 
00030 #ifdef __cplusplus
00031 extern "C" {
00032 #endif
00033 
00045 typedef struct {
00049   Chain_Node Key_values_per_thread_node;
00050 
00054   RBTree_Node Key_value_lookup_node;
00055 
00060   pthread_key_t key;
00061 
00066   Thread_Control *thread;
00067 
00071   const void *value;
00072 } POSIX_Keys_Key_value_pair;
00073 
00077 typedef struct {
00079    Objects_Control     Object;
00081    void (*destructor) (void *);
00082  }  POSIX_Keys_Control;
00083 
00086 #ifdef __cplusplus
00087 }
00088 #endif
00089 
00090 #endif
00091 /*  end of include file */