RTEMS
Classes | Typedefs | Variables
userextimpl.h File Reference

User Extension Handler API. More...

#include <rtems/score/userextdata.h>
#include <rtems/score/chainimpl.h>
#include <rtems/score/isrlock.h>
#include <rtems/score/thread.h>
#include <rtems/score/percpu.h>

Go to the source code of this file.

Classes

struct  User_extensions_Iterator
 Chain iterator for dynamic user extensions. More...
 
struct  User_extensions_List
 
struct  User_extensions_Thread_create_context
 
struct  User_extensions_Fatal_context
 

Typedefs

typedef struct User_extensions_Iterator User_extensions_Iterator
 Chain iterator for dynamic user extensions. More...
 

Functions

Extension Callout Dispatcher
static bool _User_extensions_Thread_create (Thread_Control *created)
 Creates a thread. More...
 
static void _User_extensions_Thread_delete (Thread_Control *deleted)
 Deletes a thread. More...
 
static void _User_extensions_Thread_start (Thread_Control *started)
 Starts a thread. More...
 
static void _User_extensions_Thread_restart (Thread_Control *restarted)
 Restarts a thread. More...
 
static void _User_extensions_Thread_begin (Thread_Control *executing)
 Begins a thread. More...
 
static void _User_extensions_Thread_switch (Thread_Control *executing, Thread_Control *heir)
 Switches the thread from the executing to the heir. More...
 
static void _User_extensions_Thread_exitted (Thread_Control *executing)
 A user extension thread exitted. More...
 
static void _User_extensions_Fatal (Internal_errors_Source source, Internal_errors_t error)
 Forwards all visitors that there was a fatal failure. More...
 
static void _User_extensions_Thread_terminate (Thread_Control *executing)
 Terminates the executing thread. More...
 
static void _User_extensions_Acquire (ISR_lock_Context *lock_context)
 Disables interrupts and acquires the lock context. More...
 
static void _User_extensions_Release (ISR_lock_Context *lock_context)
 Releases the lock context and enables interrupts. More...
 
static void _User_extensions_Destroy_iterators (Thread_Control *the_thread)
 Destroys all user extension iterators of a thread. More...
 

Variables

User_extensions_List _User_extensions_List
 List of active extensions.
 
Chain_Control _User_extensions_Switches_list
 List of active task switch extensions.
 

Extension Maintainance

typedef void(* User_extensions_Visitor) (Thread_Control *executing, void *arg, const User_extensions_Table *callouts)
 User extension visitor. More...
 
void _User_extensions_Handler_initialization (void)
 Initializes the user extensions handler.
 
void _User_extensions_Add_set (User_extensions_Control *extension)
 Adds a user extension. More...
 
static __inline__ void _User_extensions_Add_API_set (User_extensions_Control *extension)
 Adds a user extension. More...
 
static __inline__ void _User_extensions_Add_set_with_table (User_extensions_Control *extension, const User_extensions_Table *extension_table)
 Adds a user extension with the given extension table as callouts. More...
 
void _User_extensions_Remove_set (User_extensions_Control *extension)
 Removes a user extension. More...
 
void _User_extensions_Thread_create_visitor (Thread_Control *executing, void *arg, const User_extensions_Table *callouts)
 Creates a visitor. More...
 
void _User_extensions_Thread_delete_visitor (Thread_Control *executing, void *arg, const User_extensions_Table *callouts)
 Deletes a visitor. More...
 
void _User_extensions_Thread_start_visitor (Thread_Control *executing, void *arg, const User_extensions_Table *callouts)
 Starts a visitor. More...
 
void _User_extensions_Thread_restart_visitor (Thread_Control *executing, void *arg, const User_extensions_Table *callouts)
 Restarts a visitor. More...
 
void _User_extensions_Thread_begin_visitor (Thread_Control *executing, void *arg, const User_extensions_Table *callouts)
 Calls the begin function of the thread callout for the visitor. More...
 
void _User_extensions_Thread_exitted_visitor (Thread_Control *executing, void *arg, const User_extensions_Table *callouts)
 Calls the exitted function of the thread callout for the visitor. More...
 
void _User_extensions_Fatal_visitor (Thread_Control *executing, void *arg, const User_extensions_Table *callouts)
 Calls the fatal function of the thread callout for the visitor. More...
 
void _User_extensions_Thread_terminate_visitor (Thread_Control *executing, void *arg, const User_extensions_Table *callouts)
 Terminates a visitor. More...
 
void _User_extensions_Iterate (void *arg, User_extensions_Visitor visitor, Chain_Iterator_direction direction)
 Iterates through all user extensions and calls the visitor for each. More...
 

Detailed Description

User Extension Handler API.

Definition in file userextimpl.h.