forked from Imagelibrary/rtems
More file movement required api extension to be added to score
This commit is contained in:
@@ -26,7 +26,7 @@
|
|||||||
#include <rtems/core/tod.h>
|
#include <rtems/core/tod.h>
|
||||||
#include <rtems/core/userext.h>
|
#include <rtems/core/userext.h>
|
||||||
#include <rtems/core/wkspace.h>
|
#include <rtems/core/wkspace.h>
|
||||||
#include <rtems/core/intthrd.h>
|
#include <rtems/core/apiext.h>
|
||||||
#include <rtems/core/sysstate.h>
|
#include <rtems/core/sysstate.h>
|
||||||
|
|
||||||
/*PAGE
|
/*PAGE
|
||||||
@@ -132,13 +132,13 @@ User_extensions_routine _RTEMS_tasks_Switch_extension(
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Internal_threads_Extensions_control _RTEMS_tasks_Internal_thread_extensions = {
|
API_extensions_Control _RTEMS_tasks_API_extensions = {
|
||||||
{ NULL, NULL },
|
{ NULL, NULL },
|
||||||
NULL, /* predriver */
|
NULL, /* predriver */
|
||||||
_RTEMS_tasks_Initialize_user_tasks /* postdriver */
|
_RTEMS_tasks_Initialize_user_tasks /* postdriver */
|
||||||
};
|
};
|
||||||
|
|
||||||
User_extensions_Control _RTEMS_tasks_API_extensions = {
|
User_extensions_Control _RTEMS_tasks_User_extensions = {
|
||||||
{ NULL, NULL },
|
{ NULL, NULL },
|
||||||
{ _RTEMS_tasks_Create_extension, /* create */
|
{ _RTEMS_tasks_Create_extension, /* create */
|
||||||
_RTEMS_tasks_Start_extension, /* start */
|
_RTEMS_tasks_Start_extension, /* start */
|
||||||
@@ -192,9 +192,9 @@ void _RTEMS_tasks_Manager_initialization(
|
|||||||
* Add all the extensions for this API
|
* Add all the extensions for this API
|
||||||
*/
|
*/
|
||||||
|
|
||||||
_User_extensions_Add_API_set( &_RTEMS_tasks_API_extensions );
|
_User_extensions_Add_API_set( &_RTEMS_tasks_User_extensions );
|
||||||
|
|
||||||
_Internal_threads_Add_extension( &_RTEMS_tasks_Internal_thread_extensions );
|
_API_extensions_Add( &_RTEMS_tasks_API_extensions );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Register the MP Process Packet routine.
|
* Register the MP Process Packet routine.
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
#include <rtems/io.h>
|
#include <rtems/io.h>
|
||||||
#include <rtems/sysstate.h>
|
#include <rtems/sysstate.h>
|
||||||
|
|
||||||
|
#include <rtems/core/apiext.h>
|
||||||
#include <rtems/core/copyrt.h>
|
#include <rtems/core/copyrt.h>
|
||||||
#include <rtems/core/heap.h>
|
#include <rtems/core/heap.h>
|
||||||
#include <rtems/core/interr.h>
|
#include <rtems/core/interr.h>
|
||||||
@@ -144,6 +145,8 @@ rtems_interrupt_level rtems_initialize_executive_early(
|
|||||||
|
|
||||||
_Debug_Manager_initialization();
|
_Debug_Manager_initialization();
|
||||||
|
|
||||||
|
_API_extensions_Initialization();
|
||||||
|
|
||||||
_Thread_Dispatch_initialization();
|
_Thread_Dispatch_initialization();
|
||||||
|
|
||||||
_User_extensions_Handler_initialization(
|
_User_extensions_Handler_initialization(
|
||||||
|
|||||||
86
c/src/exec/score/headers/apiext.h
Normal file
86
c/src/exec/score/headers/apiext.h
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
/* apiext.h
|
||||||
|
*
|
||||||
|
* XXX
|
||||||
|
*
|
||||||
|
* COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
|
||||||
|
* On-Line Applications Research Corporation (OAR).
|
||||||
|
* All rights assigned to U.S. Government, 1994.
|
||||||
|
*
|
||||||
|
* This material may be reproduced by or for the U.S. Government pursuant
|
||||||
|
* to the copyright license under the clause at DFARS 252.227-7013. This
|
||||||
|
* notice must appear in all copies of this file and its derivatives.
|
||||||
|
*
|
||||||
|
* $Id$
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __API_EXTENSIONS_h
|
||||||
|
#define __API_EXTENSIONS_h
|
||||||
|
|
||||||
|
#include <rtems/core/chain.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The control structure which defines the points at which an API
|
||||||
|
* can add an extension to the system initialization thread.
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef void (*API_extensions_Predriver_hook)(void);
|
||||||
|
typedef void (*API_extensions_Postdriver_hook)(void);
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
Chain_Node Node;
|
||||||
|
API_extensions_Predriver_hook predriver_hook;
|
||||||
|
API_extensions_Postdriver_hook postdriver_hook;
|
||||||
|
} API_extensions_Control;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is the list of API extensions to the system initialization.
|
||||||
|
*/
|
||||||
|
|
||||||
|
EXTERN Chain_Control _API_extensions_List;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* _API_extensions_Initialization
|
||||||
|
*
|
||||||
|
* DESCRIPTION:
|
||||||
|
*
|
||||||
|
* This routine initializes the API extension handler.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
void _API_extensions_Initialization( void );
|
||||||
|
|
||||||
|
/*
|
||||||
|
* _API_extensions_Add
|
||||||
|
*
|
||||||
|
* DESCRIPTION:
|
||||||
|
*
|
||||||
|
* XXX
|
||||||
|
*/
|
||||||
|
|
||||||
|
void _API_extensions_Add(
|
||||||
|
API_extensions_Control *the_extension
|
||||||
|
);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* _API_extensions_Run_predriver
|
||||||
|
*
|
||||||
|
* DESCRIPTION:
|
||||||
|
*
|
||||||
|
* XXX
|
||||||
|
*/
|
||||||
|
|
||||||
|
void _API_extensions_Run_predriver( void );
|
||||||
|
|
||||||
|
/*
|
||||||
|
* _API_extensions_Run_postdriver
|
||||||
|
*
|
||||||
|
* DESCRIPTION:
|
||||||
|
*
|
||||||
|
* XXX
|
||||||
|
*/
|
||||||
|
|
||||||
|
void _API_extensions_Run_postdriver( void );
|
||||||
|
|
||||||
|
#endif
|
||||||
|
/* end of include file */
|
||||||
86
c/src/exec/score/include/rtems/score/apiext.h
Normal file
86
c/src/exec/score/include/rtems/score/apiext.h
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
/* apiext.h
|
||||||
|
*
|
||||||
|
* XXX
|
||||||
|
*
|
||||||
|
* COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
|
||||||
|
* On-Line Applications Research Corporation (OAR).
|
||||||
|
* All rights assigned to U.S. Government, 1994.
|
||||||
|
*
|
||||||
|
* This material may be reproduced by or for the U.S. Government pursuant
|
||||||
|
* to the copyright license under the clause at DFARS 252.227-7013. This
|
||||||
|
* notice must appear in all copies of this file and its derivatives.
|
||||||
|
*
|
||||||
|
* $Id$
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __API_EXTENSIONS_h
|
||||||
|
#define __API_EXTENSIONS_h
|
||||||
|
|
||||||
|
#include <rtems/core/chain.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The control structure which defines the points at which an API
|
||||||
|
* can add an extension to the system initialization thread.
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef void (*API_extensions_Predriver_hook)(void);
|
||||||
|
typedef void (*API_extensions_Postdriver_hook)(void);
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
Chain_Node Node;
|
||||||
|
API_extensions_Predriver_hook predriver_hook;
|
||||||
|
API_extensions_Postdriver_hook postdriver_hook;
|
||||||
|
} API_extensions_Control;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is the list of API extensions to the system initialization.
|
||||||
|
*/
|
||||||
|
|
||||||
|
EXTERN Chain_Control _API_extensions_List;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* _API_extensions_Initialization
|
||||||
|
*
|
||||||
|
* DESCRIPTION:
|
||||||
|
*
|
||||||
|
* This routine initializes the API extension handler.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
void _API_extensions_Initialization( void );
|
||||||
|
|
||||||
|
/*
|
||||||
|
* _API_extensions_Add
|
||||||
|
*
|
||||||
|
* DESCRIPTION:
|
||||||
|
*
|
||||||
|
* XXX
|
||||||
|
*/
|
||||||
|
|
||||||
|
void _API_extensions_Add(
|
||||||
|
API_extensions_Control *the_extension
|
||||||
|
);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* _API_extensions_Run_predriver
|
||||||
|
*
|
||||||
|
* DESCRIPTION:
|
||||||
|
*
|
||||||
|
* XXX
|
||||||
|
*/
|
||||||
|
|
||||||
|
void _API_extensions_Run_predriver( void );
|
||||||
|
|
||||||
|
/*
|
||||||
|
* _API_extensions_Run_postdriver
|
||||||
|
*
|
||||||
|
* DESCRIPTION:
|
||||||
|
*
|
||||||
|
* XXX
|
||||||
|
*/
|
||||||
|
|
||||||
|
void _API_extensions_Run_postdriver( void );
|
||||||
|
|
||||||
|
#endif
|
||||||
|
/* end of include file */
|
||||||
84
c/src/exec/score/src/apiext.c
Normal file
84
c/src/exec/score/src/apiext.c
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
/* apiext.c
|
||||||
|
*
|
||||||
|
* XXX
|
||||||
|
*
|
||||||
|
* COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
|
||||||
|
* On-Line Applications Research Corporation (OAR).
|
||||||
|
* All rights assigned to U.S. Government, 1994.
|
||||||
|
*
|
||||||
|
* This material may be reproduced by or for the U.S. Government pursuant
|
||||||
|
* to the copyright license under the clause at DFARS 252.227-7013. This
|
||||||
|
* notice must appear in all copies of this file and its derivatives.
|
||||||
|
*
|
||||||
|
* $Id$
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include <rtems/system.h>
|
||||||
|
#include <rtems/core/apiext.h>
|
||||||
|
|
||||||
|
/*PAGE
|
||||||
|
*
|
||||||
|
* _API_extensions_Initialization
|
||||||
|
*/
|
||||||
|
|
||||||
|
void _API_extensions_Initialization( void )
|
||||||
|
{
|
||||||
|
_Chain_Initialize_empty( &_API_extensions_List );
|
||||||
|
}
|
||||||
|
|
||||||
|
/*PAGE
|
||||||
|
*
|
||||||
|
* _API_extensions_Add
|
||||||
|
*/
|
||||||
|
|
||||||
|
void _API_extensions_Add(
|
||||||
|
API_extensions_Control *the_extension
|
||||||
|
)
|
||||||
|
{
|
||||||
|
_Chain_Append( &_API_extensions_List, &the_extension->Node );
|
||||||
|
}
|
||||||
|
|
||||||
|
/*PAGE
|
||||||
|
*
|
||||||
|
* _API_extensions_Run_predriver
|
||||||
|
*/
|
||||||
|
|
||||||
|
void _API_extensions_Run_predriver( void )
|
||||||
|
{
|
||||||
|
Chain_Node *the_node;
|
||||||
|
API_extensions_Control *the_extension;
|
||||||
|
|
||||||
|
for ( the_node = _API_extensions_List.first ;
|
||||||
|
!_Chain_Is_tail( &_API_extensions_List, the_node ) ;
|
||||||
|
the_node = the_node->next ) {
|
||||||
|
|
||||||
|
the_extension = (API_extensions_Control *) the_node;
|
||||||
|
|
||||||
|
if ( the_extension->predriver_hook )
|
||||||
|
(*the_extension->predriver_hook)();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*PAGE
|
||||||
|
*
|
||||||
|
* _API_extensions_Run_postdriver
|
||||||
|
*/
|
||||||
|
|
||||||
|
void _API_extensions_Run_postdriver( void )
|
||||||
|
{
|
||||||
|
Chain_Node *the_node;
|
||||||
|
API_extensions_Control *the_extension;
|
||||||
|
|
||||||
|
for ( the_node = _API_extensions_List.first ;
|
||||||
|
!_Chain_Is_tail( &_API_extensions_List, the_node ) ;
|
||||||
|
the_node = the_node->next ) {
|
||||||
|
|
||||||
|
the_extension = (API_extensions_Control *) the_node;
|
||||||
|
|
||||||
|
if ( the_extension->postdriver_hook )
|
||||||
|
(*the_extension->postdriver_hook)();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* end of file */
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
#include <rtems/core/tod.h>
|
#include <rtems/core/tod.h>
|
||||||
#include <rtems/core/userext.h>
|
#include <rtems/core/userext.h>
|
||||||
#include <rtems/core/wkspace.h>
|
#include <rtems/core/wkspace.h>
|
||||||
#include <rtems/core/intthrd.h>
|
#include <rtems/core/apiext.h>
|
||||||
#include <rtems/core/sysstate.h>
|
#include <rtems/core/sysstate.h>
|
||||||
|
|
||||||
/*PAGE
|
/*PAGE
|
||||||
@@ -132,13 +132,13 @@ User_extensions_routine _RTEMS_tasks_Switch_extension(
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Internal_threads_Extensions_control _RTEMS_tasks_Internal_thread_extensions = {
|
API_extensions_Control _RTEMS_tasks_API_extensions = {
|
||||||
{ NULL, NULL },
|
{ NULL, NULL },
|
||||||
NULL, /* predriver */
|
NULL, /* predriver */
|
||||||
_RTEMS_tasks_Initialize_user_tasks /* postdriver */
|
_RTEMS_tasks_Initialize_user_tasks /* postdriver */
|
||||||
};
|
};
|
||||||
|
|
||||||
User_extensions_Control _RTEMS_tasks_API_extensions = {
|
User_extensions_Control _RTEMS_tasks_User_extensions = {
|
||||||
{ NULL, NULL },
|
{ NULL, NULL },
|
||||||
{ _RTEMS_tasks_Create_extension, /* create */
|
{ _RTEMS_tasks_Create_extension, /* create */
|
||||||
_RTEMS_tasks_Start_extension, /* start */
|
_RTEMS_tasks_Start_extension, /* start */
|
||||||
@@ -192,9 +192,9 @@ void _RTEMS_tasks_Manager_initialization(
|
|||||||
* Add all the extensions for this API
|
* Add all the extensions for this API
|
||||||
*/
|
*/
|
||||||
|
|
||||||
_User_extensions_Add_API_set( &_RTEMS_tasks_API_extensions );
|
_User_extensions_Add_API_set( &_RTEMS_tasks_User_extensions );
|
||||||
|
|
||||||
_Internal_threads_Add_extension( &_RTEMS_tasks_Internal_thread_extensions );
|
_API_extensions_Add( &_RTEMS_tasks_API_extensions );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Register the MP Process Packet routine.
|
* Register the MP Process Packet routine.
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
#include <rtems/io.h>
|
#include <rtems/io.h>
|
||||||
#include <rtems/sysstate.h>
|
#include <rtems/sysstate.h>
|
||||||
|
|
||||||
|
#include <rtems/core/apiext.h>
|
||||||
#include <rtems/core/copyrt.h>
|
#include <rtems/core/copyrt.h>
|
||||||
#include <rtems/core/heap.h>
|
#include <rtems/core/heap.h>
|
||||||
#include <rtems/core/interr.h>
|
#include <rtems/core/interr.h>
|
||||||
@@ -144,6 +145,8 @@ rtems_interrupt_level rtems_initialize_executive_early(
|
|||||||
|
|
||||||
_Debug_Manager_initialization();
|
_Debug_Manager_initialization();
|
||||||
|
|
||||||
|
_API_extensions_Initialization();
|
||||||
|
|
||||||
_Thread_Dispatch_initialization();
|
_Thread_Dispatch_initialization();
|
||||||
|
|
||||||
_User_extensions_Handler_initialization(
|
_User_extensions_Handler_initialization(
|
||||||
|
|||||||
86
cpukit/score/include/rtems/score/apiext.h
Normal file
86
cpukit/score/include/rtems/score/apiext.h
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
/* apiext.h
|
||||||
|
*
|
||||||
|
* XXX
|
||||||
|
*
|
||||||
|
* COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
|
||||||
|
* On-Line Applications Research Corporation (OAR).
|
||||||
|
* All rights assigned to U.S. Government, 1994.
|
||||||
|
*
|
||||||
|
* This material may be reproduced by or for the U.S. Government pursuant
|
||||||
|
* to the copyright license under the clause at DFARS 252.227-7013. This
|
||||||
|
* notice must appear in all copies of this file and its derivatives.
|
||||||
|
*
|
||||||
|
* $Id$
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __API_EXTENSIONS_h
|
||||||
|
#define __API_EXTENSIONS_h
|
||||||
|
|
||||||
|
#include <rtems/core/chain.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The control structure which defines the points at which an API
|
||||||
|
* can add an extension to the system initialization thread.
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef void (*API_extensions_Predriver_hook)(void);
|
||||||
|
typedef void (*API_extensions_Postdriver_hook)(void);
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
Chain_Node Node;
|
||||||
|
API_extensions_Predriver_hook predriver_hook;
|
||||||
|
API_extensions_Postdriver_hook postdriver_hook;
|
||||||
|
} API_extensions_Control;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is the list of API extensions to the system initialization.
|
||||||
|
*/
|
||||||
|
|
||||||
|
EXTERN Chain_Control _API_extensions_List;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* _API_extensions_Initialization
|
||||||
|
*
|
||||||
|
* DESCRIPTION:
|
||||||
|
*
|
||||||
|
* This routine initializes the API extension handler.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
void _API_extensions_Initialization( void );
|
||||||
|
|
||||||
|
/*
|
||||||
|
* _API_extensions_Add
|
||||||
|
*
|
||||||
|
* DESCRIPTION:
|
||||||
|
*
|
||||||
|
* XXX
|
||||||
|
*/
|
||||||
|
|
||||||
|
void _API_extensions_Add(
|
||||||
|
API_extensions_Control *the_extension
|
||||||
|
);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* _API_extensions_Run_predriver
|
||||||
|
*
|
||||||
|
* DESCRIPTION:
|
||||||
|
*
|
||||||
|
* XXX
|
||||||
|
*/
|
||||||
|
|
||||||
|
void _API_extensions_Run_predriver( void );
|
||||||
|
|
||||||
|
/*
|
||||||
|
* _API_extensions_Run_postdriver
|
||||||
|
*
|
||||||
|
* DESCRIPTION:
|
||||||
|
*
|
||||||
|
* XXX
|
||||||
|
*/
|
||||||
|
|
||||||
|
void _API_extensions_Run_postdriver( void );
|
||||||
|
|
||||||
|
#endif
|
||||||
|
/* end of include file */
|
||||||
84
cpukit/score/src/apiext.c
Normal file
84
cpukit/score/src/apiext.c
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
/* apiext.c
|
||||||
|
*
|
||||||
|
* XXX
|
||||||
|
*
|
||||||
|
* COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
|
||||||
|
* On-Line Applications Research Corporation (OAR).
|
||||||
|
* All rights assigned to U.S. Government, 1994.
|
||||||
|
*
|
||||||
|
* This material may be reproduced by or for the U.S. Government pursuant
|
||||||
|
* to the copyright license under the clause at DFARS 252.227-7013. This
|
||||||
|
* notice must appear in all copies of this file and its derivatives.
|
||||||
|
*
|
||||||
|
* $Id$
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include <rtems/system.h>
|
||||||
|
#include <rtems/core/apiext.h>
|
||||||
|
|
||||||
|
/*PAGE
|
||||||
|
*
|
||||||
|
* _API_extensions_Initialization
|
||||||
|
*/
|
||||||
|
|
||||||
|
void _API_extensions_Initialization( void )
|
||||||
|
{
|
||||||
|
_Chain_Initialize_empty( &_API_extensions_List );
|
||||||
|
}
|
||||||
|
|
||||||
|
/*PAGE
|
||||||
|
*
|
||||||
|
* _API_extensions_Add
|
||||||
|
*/
|
||||||
|
|
||||||
|
void _API_extensions_Add(
|
||||||
|
API_extensions_Control *the_extension
|
||||||
|
)
|
||||||
|
{
|
||||||
|
_Chain_Append( &_API_extensions_List, &the_extension->Node );
|
||||||
|
}
|
||||||
|
|
||||||
|
/*PAGE
|
||||||
|
*
|
||||||
|
* _API_extensions_Run_predriver
|
||||||
|
*/
|
||||||
|
|
||||||
|
void _API_extensions_Run_predriver( void )
|
||||||
|
{
|
||||||
|
Chain_Node *the_node;
|
||||||
|
API_extensions_Control *the_extension;
|
||||||
|
|
||||||
|
for ( the_node = _API_extensions_List.first ;
|
||||||
|
!_Chain_Is_tail( &_API_extensions_List, the_node ) ;
|
||||||
|
the_node = the_node->next ) {
|
||||||
|
|
||||||
|
the_extension = (API_extensions_Control *) the_node;
|
||||||
|
|
||||||
|
if ( the_extension->predriver_hook )
|
||||||
|
(*the_extension->predriver_hook)();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*PAGE
|
||||||
|
*
|
||||||
|
* _API_extensions_Run_postdriver
|
||||||
|
*/
|
||||||
|
|
||||||
|
void _API_extensions_Run_postdriver( void )
|
||||||
|
{
|
||||||
|
Chain_Node *the_node;
|
||||||
|
API_extensions_Control *the_extension;
|
||||||
|
|
||||||
|
for ( the_node = _API_extensions_List.first ;
|
||||||
|
!_Chain_Is_tail( &_API_extensions_List, the_node ) ;
|
||||||
|
the_node = the_node->next ) {
|
||||||
|
|
||||||
|
the_extension = (API_extensions_Control *) the_node;
|
||||||
|
|
||||||
|
if ( the_extension->postdriver_hook )
|
||||||
|
(*the_extension->postdriver_hook)();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* end of file */
|
||||||
Reference in New Issue
Block a user