|
RTEMS CPU Kit with SuperCore
4.10.99.0
|
00001 00007 /* 00008 * COPYRIGHT (c) 1989-2008. 00009 * On-Line Applications Research Corporation (OAR). 00010 * 00011 * The license and distribution terms for this file may be 00012 * found in the file LICENSE in this distribution or at 00013 * http://www.rtems.com/license/LICENSE. 00014 */ 00015 00016 #ifndef _RTEMS_EXTENSION_H 00017 #define _RTEMS_EXTENSION_H 00018 00019 #ifndef SAPI_EXT_EXTERN 00020 #define SAPI_EXT_EXTERN extern 00021 #endif 00022 00023 #ifdef __cplusplus 00024 extern "C" { 00025 #endif 00026 00027 #include <rtems/score/object.h> 00028 #include <rtems/score/userext.h> 00029 #include <rtems/rtems/status.h> 00030 #include <rtems/rtems/types.h> 00031 00032 SAPI_EXT_EXTERN Objects_Information _Extension_Information; 00033 00034 typedef struct { 00035 Objects_Control Object; 00036 User_extensions_Control Extension; 00037 } Extension_Control; 00038 00044 void _Extension_Manager_initialization(void); 00045 00046 typedef User_extensions_routine 00047 rtems_extension RTEMS_COMPILER_DEPRECATED_ATTRIBUTE; 00048 00176 typedef User_extensions_thread_create_extension rtems_task_create_extension; 00177 typedef User_extensions_thread_delete_extension rtems_task_delete_extension; 00178 typedef User_extensions_thread_start_extension rtems_task_start_extension; 00179 typedef User_extensions_thread_restart_extension rtems_task_restart_extension; 00180 typedef User_extensions_thread_switch_extension rtems_task_switch_extension; 00181 typedef User_extensions_thread_begin_extension rtems_task_begin_extension; 00182 typedef User_extensions_thread_exitted_extension rtems_task_exitted_extension; 00183 typedef User_extensions_fatal_extension rtems_fatal_extension; 00184 00185 typedef User_extensions_Table rtems_extensions_table; 00186 00187 typedef Internal_errors_Source rtems_fatal_source; 00188 00189 typedef Internal_errors_t rtems_fatal_code; 00190 00210 rtems_status_code rtems_extension_create( 00211 rtems_name name, 00212 const rtems_extensions_table *extension_table, 00213 rtems_id *id 00214 ); 00215 00232 rtems_status_code rtems_extension_ident( 00233 rtems_name name, 00234 rtems_id *id 00235 ); 00236 00248 rtems_status_code rtems_extension_delete( 00249 rtems_id id 00250 ); 00251 00254 #ifndef __RTEMS_APPLICATION__ 00255 #include <rtems/extension.inl> 00256 #endif 00257 00258 #ifdef __cplusplus 00259 } 00260 #endif 00261 00262 #endif 00263 /* end of include file */
1.7.5