diff options
Diffstat (limited to 'cpukit/score/include/rtems/score/userext.h')
-rw-r--r-- | cpukit/score/include/rtems/score/userext.h | 195 |
1 files changed, 0 insertions, 195 deletions
diff --git a/cpukit/score/include/rtems/score/userext.h b/cpukit/score/include/rtems/score/userext.h index b182e86172..6071d7ab3b 100644 --- a/cpukit/score/include/rtems/score/userext.h +++ b/cpukit/score/include/rtems/score/userext.h @@ -231,201 +231,6 @@ typedef struct { User_extensions_Table Callouts; } User_extensions_Control; -/** - * @brief List of active extensions. - */ -extern Chain_Control _User_extensions_List; - -/** - * @brief List of active task switch extensions. - */ -extern Chain_Control _User_extensions_Switches_list; - -/** - * @name Extension Maintainance - * - * @{ - */ - -void _User_extensions_Handler_initialization( void ); - -void _User_extensions_Add_set( - User_extensions_Control *extension -); - -RTEMS_INLINE_ROUTINE void _User_extensions_Add_API_set( - User_extensions_Control *extension -) -{ - _User_extensions_Add_set( extension ); -} - -RTEMS_INLINE_ROUTINE void _User_extensions_Add_set_with_table( - User_extensions_Control *extension, - const User_extensions_Table *extension_table -) -{ - extension->Callouts = *extension_table; - - _User_extensions_Add_set( extension ); -} - -void _User_extensions_Remove_set( - User_extensions_Control *extension -); - -/** - * @brief User extension visitor. - * - * @param[in, out] executing The currently executing thread. - * @param[in, out] arg The argument passed to _User_extensions_Iterate(). - * @param[in] callouts The current callouts. - */ -typedef void (*User_extensions_Visitor)( - Thread_Control *executing, - void *arg, - const User_extensions_Table *callouts -); - -typedef struct { - Thread_Control *created; - bool ok; -} User_extensions_Thread_create_context; - -void _User_extensions_Thread_create_visitor( - Thread_Control *executing, - void *arg, - const User_extensions_Table *callouts -); - -void _User_extensions_Thread_delete_visitor( - Thread_Control *executing, - void *arg, - const User_extensions_Table *callouts -); - -void _User_extensions_Thread_start_visitor( - Thread_Control *executing, - void *arg, - const User_extensions_Table *callouts -); - -void _User_extensions_Thread_restart_visitor( - Thread_Control *executing, - void *arg, - const User_extensions_Table *callouts -); - -void _User_extensions_Thread_begin_visitor( - Thread_Control *executing, - void *arg, - const User_extensions_Table *callouts -); - -void _User_extensions_Thread_exitted_visitor( - Thread_Control *executing, - void *arg, - const User_extensions_Table *callouts -); - -typedef struct { - Internal_errors_Source source; - bool is_internal; - Internal_errors_t error; -} User_extensions_Fatal_context; - -void _User_extensions_Fatal_visitor( - Thread_Control *executing, - void *arg, - const User_extensions_Table *callouts -); - -/** - * @brief Iterates through all user extensions and calls the visitor for each. - * - * @param[in, out] arg The argument passed to the visitor. - * @param[in] visitor The visitor for each extension. - */ -void _User_extensions_Iterate( - void *arg, - User_extensions_Visitor visitor -); - -/** @} */ - -/** - * @name Extension Callout Dispatcher - * - * @{ - */ - -static inline bool _User_extensions_Thread_create( Thread_Control *created ) -{ - User_extensions_Thread_create_context ctx = { created, true }; - - _User_extensions_Iterate( &ctx, _User_extensions_Thread_create_visitor ); - - return ctx.ok; -} - -static inline void _User_extensions_Thread_delete( Thread_Control *deleted ) -{ - _User_extensions_Iterate( - deleted, - _User_extensions_Thread_delete_visitor - ); -} - -static inline void _User_extensions_Thread_start( Thread_Control *started ) -{ - _User_extensions_Iterate( - started, - _User_extensions_Thread_start_visitor - ); -} - -static inline void _User_extensions_Thread_restart( Thread_Control *restarted ) -{ - _User_extensions_Iterate( - restarted, - _User_extensions_Thread_restart_visitor - ); -} - -static inline void _User_extensions_Thread_begin( Thread_Control *executing ) -{ - _User_extensions_Iterate( - executing, - _User_extensions_Thread_begin_visitor - ); -} - -void _User_extensions_Thread_switch( - Thread_Control *executing, - Thread_Control *heir -); - -static inline void _User_extensions_Thread_exitted( Thread_Control *executing ) -{ - _User_extensions_Iterate( - executing, - _User_extensions_Thread_exitted_visitor - ); -} - -static inline void _User_extensions_Fatal( - Internal_errors_Source source, - bool is_internal, - Internal_errors_t error -) -{ - User_extensions_Fatal_context ctx = { source, is_internal, error }; - - _User_extensions_Iterate( &ctx, _User_extensions_Fatal_visitor ); -} - -/** @} */ - /** @} */ #ifdef __cplusplus |