RTEMS CPU Kit with SuperCore  4.11.3
Files | Data Structures | Typedefs | Functions | Variables
API Extension Handler

This handler encapsulates functionality which provides mechanisms for the SuperCore to perform API specific actions without there beingg "up-references" from the SuperCore to APIs. More...

Collaboration diagram for API Extension Handler:

Files

file  apiext.c
 Holding for API Extension Functions.
 

Data Structures

struct  API_extensions_Control
 The control structure which defines the points at which an API can add an extension to the system initialization thread. More...
 

Typedefs

typedef void(* API_extensions_Postdriver_hook) (void)
 This type defines the prototype of the Postdriver Hook.
 

Functions

void _API_extensions_Initialization (void)
 Initialize the API extensions handler. More...
 
void _API_extensions_Add (API_extensions_Control *the_extension)
 Add extension set to the active set. More...
 
void _API_extensions_Run_postdriver (void)
 Execute all post-driver extensions. More...
 

Variables

SCORE_EXTERN Chain_Control _API_extensions_List
 This is the list of API extensions to the system initialization.
 

Detailed Description

This handler encapsulates functionality which provides mechanisms for the SuperCore to perform API specific actions without there beingg "up-references" from the SuperCore to APIs.

If these referencesg were allowed in the implementation, the cohesion would be too high and adding an API would be more difficult. The SuperCore is supposed to be largely independent of any API.

Function Documentation

◆ _API_extensions_Add()

void _API_extensions_Add ( API_extensions_Control the_extension)

Add extension set to the active set.

This routine adds the_extension to the active set of API extensions.

Parameters
[in]the_extensionis the extension set to add.

References _API_extensions_List, _Chain_Append(), _Chain_First(), _Chain_Is_tail(), Chain_Node_struct::next, and API_extensions_Control::Node.

◆ _API_extensions_Initialization()

void _API_extensions_Initialization ( void  )

Initialize the API extensions handler.

This routine initializes the API extension handler.

References _API_extensions_List, and _Chain_Initialize_empty().

◆ _API_extensions_Run_postdriver()

void _API_extensions_Run_postdriver ( void  )

Execute all post-driver extensions.

This routine executes all of the postdriver callouts.

References _API_extensions_List, _Chain_First(), _Chain_Is_tail(), Chain_Node_struct::next, and API_extensions_Control::postdriver_hook.