source: rtems/cpukit/posix/include/rtems/posix/key.h @ 8b3416f

4.104.11
Last change on this file since 8b3416f was 8b3416f, checked in by Joel Sherrill <joel.sherrill@…>, on Jan 5, 2009 at 8:19:51 PM

2009-01-05 Joel Sherrill <joel.sherrill@…>

  • posix/include/rtems/posix/key.h: Remove redundant prototypes for inlines.
  • Property mode set to 100644
File size: 1.9 KB
RevLine 
[6c2675d]1/**
2 * @file rtems/posix/key.h
3 */
4
[5e9b32b]5/*  rtems/posix/key.h
6 *
7 *  This include file contains all the private support information for
8 *  POSIX key.
9 *
[309e2f6]10 *  COPYRIGHT (c) 1989-2008.
[5e9b32b]11 *  On-Line Applications Research Corporation (OAR).
12 *
[98e4ebf]13 *  The license and distribution terms for this file may be
14 *  found in the file LICENSE in this distribution or at
[8e36f29]15 *  http://www.rtems.com/license/LICENSE.
[5e9b32b]16 *
17 *  $Id$
18 */
[874297f3]19
[5ec2f12d]20#ifndef _RTEMS_POSIX_KEY_H
21#define _RTEMS_POSIX_KEY_H
[874297f3]22
[5e9b32b]23#ifdef __cplusplus
24extern "C" {
25#endif
26
27/*
28 *  Data Structure used to manage a POSIX key
29 *
30 *  NOTE:  The Values is a table indexed by the index portion of the
31 *         ID of the currently executing thread.
32 */
[874297f3]33
[5e9b32b]34typedef struct {
35   Objects_Control     Object;
[f8437c8]36   bool                is_active;
[5e9b32b]37   void              (*destructor)( void * );
[3c465878]38   void              **Values[ OBJECTS_APIS_LAST + 1 ];
[5e9b32b]39}  POSIX_Keys_Control;
40
41/*
42 *  The following defines the information control block used to manage
43 *  this class of objects.
44 */
[874297f3]45
[c627b2a]46POSIX_EXTERN Objects_Information  _POSIX_Keys_Information;
[874297f3]47
[5e9b32b]48/*
49 *  _POSIX_Keys_Manager_initialization
50 *
51 *  DESCRIPTION:
52 *
53 *  This routine performs the initialization necessary for this manager.
54 */
[874297f3]55
[309e2f6]56void _POSIX_Key_Manager_initialization(void);
[874297f3]57
[5e9b32b]58/*
59 *  _POSIX_Keys_Run_destructors
60 *
61 *  DESCRIPTION:
62 *
63 *  This function executes all the destructors associated with the thread's
64 *  keys.  This function will execute until all values have been set to NULL.
65 *
66 *  NOTE:  This is the routine executed when a thread exits to
67 *         run through all the keys and do the destructor action.
68 */
[874297f3]69
[5e9b32b]70void _POSIX_Keys_Run_destructors(
71  Thread_Control *thread
72);
73
74/*
75 *  _POSIX_Keys_Free
76 *
77 *  DESCRIPTION:
78 *
79 *  This routine frees a keys control block to the
80 *  inactive chain of free keys control blocks.
81 */
[874297f3]82
[503dc058]83RTEMS_INLINE_ROUTINE void _POSIX_Keys_Free (
[5e9b32b]84  POSIX_Keys_Control *the_key
85);
[874297f3]86
[5e9b32b]87#include <rtems/posix/key.inl>
88
89#ifdef __cplusplus
90}
91#endif
[874297f3]92
[5e9b32b]93#endif
94/*  end of include file */
Note: See TracBrowser for help on using the repository browser.