RTEMS CPU Kit with SuperCore  4.10.99.0
extension.h
Go to the documentation of this file.
1 
7 /*
8  * COPYRIGHT (c) 1989-2008.
9  * On-Line Applications Research Corporation (OAR).
10  *
11  * The license and distribution terms for this file may be
12  * found in the file LICENSE in this distribution or at
13  * http://www.rtems.org/license/LICENSE.
14  */
15 
16 #ifndef _RTEMS_EXTENSION_H
17 #define _RTEMS_EXTENSION_H
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
23 #include <rtems/score/object.h>
24 #include <rtems/score/userext.h>
25 #include <rtems/rtems/status.h>
26 #include <rtems/rtems/types.h>
27 
28 typedef struct {
29  Objects_Control Object;
30  User_extensions_Control Extension;
32 
33 typedef User_extensions_routine
35 
163 typedef User_extensions_thread_create_extension rtems_task_create_extension;
164 typedef User_extensions_thread_delete_extension rtems_task_delete_extension;
165 typedef User_extensions_thread_start_extension rtems_task_start_extension;
166 typedef User_extensions_thread_restart_extension rtems_task_restart_extension;
167 typedef User_extensions_thread_switch_extension rtems_task_switch_extension;
168 typedef User_extensions_thread_begin_extension rtems_task_begin_extension;
169 typedef User_extensions_thread_exitted_extension rtems_task_exitted_extension;
170 typedef User_extensions_fatal_extension rtems_fatal_extension;
171 
173 
175 
176 typedef Internal_errors_t rtems_fatal_code;
177 
198  rtems_name name,
199  const rtems_extensions_table *extension_table,
200  rtems_id *id
201 );
202 
220  rtems_name name,
221  rtems_id *id
222 );
223 
236  rtems_id id
237 );
238 
241 #ifdef __cplusplus
242 }
243 #endif
244 
245 #endif
246 /* end of include file */
void(* User_extensions_thread_begin_extension)(Thread_Control *executing)
Task begin extension.
Definition: userext.h:171
The following defines the Object Control Block used to manage each object local to this node...
Definition: object.h:233
Objects_Id rtems_id
Used to manage and manipulate RTEMS object identifiers.
Definition: types.h:80
rtems_status_code rtems_extension_delete(rtems_id id)
Deletes an extension set object specified by the identifier id.
Constants and Structures Associated with the Object Handler.
void(* User_extensions_thread_delete_extension)(Thread_Control *executing, Thread_Control *deleted)
Task delete extension.
Definition: userext.h:91
void(* User_extensions_thread_exitted_extension)(Thread_Control *executing)
Task exitted extension.
Definition: userext.h:185
void(* User_extensions_thread_restart_extension)(Thread_Control *executing, Thread_Control *restarted)
Task restart extension.
Definition: userext.h:133
rtems_status_code rtems_extension_create(rtems_name name, const rtems_extensions_table *extension_table, rtems_id *id)
Creates an extension set object.
void(* User_extensions_thread_start_extension)(Thread_Control *executing, Thread_Control *started)
Task start extension.
Definition: userext.h:111
rtems_status_code
Classic API Status.
Definition: status.h:46
uint32_t rtems_name
Classic API object name type.
Definition: types.h:74
rtems_status_code rtems_extension_ident(rtems_name name, rtems_id *id)
Identifies an extension set object by a name.
void(* User_extensions_fatal_extension)(Internal_errors_Source source, bool is_internal, Internal_errors_t code)
Fatal error extension.
Definition: userext.h:203
void(* User_extensions_thread_switch_extension)(Thread_Control *executing, Thread_Control *heir)
Task switch extension.
Definition: userext.h:156
#define RTEMS_COMPILER_DEPRECATED_ATTRIBUTE
Instructs the compiler to issue a warning whenever a variable or function with this attribute will be...
Definition: basedefs.h:186
bool(* User_extensions_thread_create_extension)(Thread_Control *executing, Thread_Control *created)
Task create extension.
Definition: userext.h:71
Definition: extension.h:28
User extension table.
Definition: userext.h:232
Manages each user extension set.
Definition: userext.h:260
Internal_errors_Source
This type lists the possible sources from which an error can be reported.
Definition: interr.h:45
User Extension Handler API.