RTEMS CPU Kit with SuperCore  4.10.99.0
rtems/extension.h
Go to the documentation of this file.
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 */