RTEMS CPU Kit with SuperCore  4.11.2
apiext.h
Go to the documentation of this file.
1 
9 /*
10  * COPYRIGHT (c) 1989-2009.
11  * On-Line Applications Research Corporation (OAR).
12  *
13  * The license and distribution terms for this file may be
14  * found in the file LICENSE in this distribution or at
15  * http://www.rtems.org/license/LICENSE.
16  */
17 
18 #ifndef _RTEMS_SCORE_APIEXT_H
19 #define _RTEMS_SCORE_APIEXT_H
20 
21 #include <rtems/score/chainimpl.h>
22 #include <rtems/score/thread.h>
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
42 #if defined(FUNCTIONALITY_NOT_CURRENTLY_USED_BY_ANY_API)
43 
46  typedef void (*API_extensions_Predriver_hook)(void);
47 #endif
48 
52 typedef void (*API_extensions_Postdriver_hook)(void);
53 
58 typedef struct {
61  #if defined(FUNCTIONALITY_NOT_CURRENTLY_USED_BY_ANY_API)
62 
69  API_extensions_Predriver_hook predriver_hook;
70  #endif
71 
80 
85 
92 
101  API_extensions_Control *the_extension
102 );
103 
104 #if defined(FUNCTIONALITY_NOT_CURRENTLY_USED_BY_ANY_API)
105 
110  void _API_extensions_Run_predriver( void );
111 #endif
112 
118 void _API_extensions_Run_postdriver( void );
119 
122 #ifdef __cplusplus
123 }
124 #endif
125 
126 #endif
127 /* end of include file */
This is used to manage each element (node) which is placed on a chain.
Definition: chain.h:65
SCORE_EXTERN Chain_Control _API_extensions_List
This is the list of API extensions to the system initialization.
Definition: apiext.h:84
API_extensions_Postdriver_hook postdriver_hook
This field is the callout invoked during RTEMS initialization after RTEMS data structures and device ...
Definition: apiext.h:78
The control structure which defines the points at which an API can add an extension to the system ini...
Definition: apiext.h:58
This is used to manage a chain.
Definition: chain.h:83
Constants and Structures Related with the Thread Control Block.
void _API_extensions_Run_postdriver(void)
Execute all post-driver extensions.
Definition: apiext.c:56
void _API_extensions_Initialization(void)
Initialize the API extensions handler.
Definition: apiext.c:25
Chain Handler API.
void _API_extensions_Add(API_extensions_Control *the_extension)
Add extension set to the active set.
Definition: apiext.c:30
Chain_Node Node
This field allows this structure to be used with the Chain Handler.
Definition: apiext.h:60
void(* API_extensions_Postdriver_hook)(void)
This type defines the prototype of the Postdriver Hook.
Definition: apiext.h:52
#define SCORE_EXTERN
The following ensures that all data is declared in the space of the initialization routine for either...
Definition: basedefs.h:81