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.org/license/LICENSE.
00014  */
00015 
00016 #ifndef _RTEMS_EXTENSION_H
00017 #define _RTEMS_EXTENSION_H
00018 
00019 #ifdef __cplusplus
00020 extern "C" {
00021 #endif
00022 
00023 #include <rtems/score/object.h>
00024 #include <rtems/score/userext.h>
00025 #include <rtems/rtems/status.h>
00026 #include <rtems/rtems/types.h>
00027 
00028 typedef struct {
00029   Objects_Control          Object;
00030   User_extensions_Control  Extension;
00031 }   Extension_Control;
00032 
00033 typedef User_extensions_routine
00034   rtems_extension RTEMS_COMPILER_DEPRECATED_ATTRIBUTE;
00035 
00163 typedef User_extensions_thread_create_extension   rtems_task_create_extension;
00164 typedef User_extensions_thread_delete_extension   rtems_task_delete_extension;
00165 typedef User_extensions_thread_start_extension    rtems_task_start_extension;
00166 typedef User_extensions_thread_restart_extension  rtems_task_restart_extension;
00167 typedef User_extensions_thread_switch_extension   rtems_task_switch_extension;
00168 typedef User_extensions_thread_begin_extension    rtems_task_begin_extension;
00169 typedef User_extensions_thread_exitted_extension  rtems_task_exitted_extension;
00170 typedef User_extensions_fatal_extension           rtems_fatal_extension;
00171 
00172 typedef User_extensions_Table                     rtems_extensions_table;
00173 
00174 typedef Internal_errors_Source rtems_fatal_source;
00175 
00176 typedef Internal_errors_t rtems_fatal_code;
00177 
00197 rtems_status_code rtems_extension_create(
00198   rtems_name                    name,
00199   const rtems_extensions_table *extension_table,
00200   rtems_id                     *id
00201 );
00202 
00219 rtems_status_code rtems_extension_ident(
00220   rtems_name  name,
00221   rtems_id   *id
00222 );
00223 
00235 rtems_status_code rtems_extension_delete(
00236   rtems_id id
00237 );
00238 
00241 #ifdef __cplusplus
00242 }
00243 #endif
00244 
00245 #endif
00246 /* end of include file */