source: rtems/c/src/exec/score/include/rtems/score/apiext.h @ 94b3ec59

4.104.114.84.95
Last change on this file since 94b3ec59 was 94b3ec59, checked in by Joel Sherrill <joel.sherrill@…>, on Feb 13, 1996 at 10:14:48 PM

changed post task extension from user set to api set and added flag
in each thread which must be set when the post switch extension is to be run.

  • Property mode set to 100644
File size: 1.9 KB
Line 
1/*  apiext.h
2 *
3 *  XXX
4 *
5 *  COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
6 *  On-Line Applications Research Corporation (OAR).
7 *  All rights assigned to U.S. Government, 1994.
8 *
9 *  This material may be reproduced by or for the U.S. Government pursuant
10 *  to the copyright license under the clause at DFARS 252.227-7013.  This
11 *  notice must appear in all copies of this file and its derivatives.
12 *
13 *  $Id$
14 */
15
16
17#ifndef __API_EXTENSIONS_h
18#define __API_EXTENSIONS_h
19
20#include <rtems/score/chain.h>
21#include <rtems/score/thread.h>
22
23/*
24 *  The control structure which defines the points at which an API
25 *  can add an extension to the system initialization thread.
26 */
27 
28typedef void (*API_extensions_Predriver_hook)(void);
29typedef void (*API_extensions_Postdriver_hook)(void);
30typedef void (*API_extensions_Postswitch_hook)(
31                 Thread_Control *
32             );
33 
34 
35typedef struct {
36  Chain_Node                      Node;
37  API_extensions_Predriver_hook   predriver_hook;
38  API_extensions_Postdriver_hook  postdriver_hook;
39  API_extensions_Postswitch_hook  postswitch_hook;
40}  API_extensions_Control;
41
42/*
43 *  This is the list of API extensions to the system initialization.
44 */
45 
46EXTERN Chain_Control _API_extensions_List;
47
48/*
49 *  _API_extensions_Initialization
50 *
51 *  DESCRIPTION:
52 *
53 *  This routine initializes the API extension handler.
54 *
55 */
56 
57void _API_extensions_Initialization( void );
58 
59/*
60 *  _API_extensions_Add
61 *
62 *  DESCRIPTION:
63 *
64 *  XXX
65 */
66 
67void _API_extensions_Add(
68  API_extensions_Control *the_extension
69);
70
71/*
72 *  _API_extensions_Run_predriver
73 *
74 *  DESCRIPTION:
75 *
76 *  XXX
77 */
78 
79void _API_extensions_Run_predriver( void );
80
81/*
82 *  _API_extensions_Run_postdriver
83 *
84 *  DESCRIPTION:
85 *
86 *  XXX
87 */
88
89void _API_extensions_Run_postdriver( void );
90
91/*
92 *  _API_extensions_Run_postswitch
93 *
94 *  DESCRIPTION:
95 *
96 *  XXX
97 */
98
99void _API_extensions_Run_postswitch( void );
100
101#endif
102/* end of include file */
Note: See TracBrowser for help on using the repository browser.