Xenomai API  2.5.6.1
include/native/syscall.h
00001 /*
00002  * Copyright (C) 2004 Philippe Gerum <[email protected]>.
00003  *
00004  * Xenomai is free software; you can redistribute it and/or modify it
00005  * under the terms of the GNU General Public License as published by
00006  * the Free Software Foundation; either version 2 of the License, or
00007  * (at your option) any later version.
00008  *
00009  * Xenomai is distributed in the hope that it will be useful, but
00010  * WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  * General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU General Public License
00015  * along with Xenomai; if not, write to the Free Software Foundation,
00016  * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00017  */
00018 
00019 #ifndef _NATIVE_SYSCALL_H
00020 #define _NATIVE_SYSCALL_H
00021 
00022 #ifndef __XENO_SIM__
00023 #include <asm/xenomai/syscall.h>
00024 #endif /* __XENO_SIM__ */
00025 
00026 #define __native_task_create        0
00027 #define __native_task_bind          1
00028 #define __native_task_start         2
00029 #define __native_task_suspend       3
00030 #define __native_task_resume        4
00031 #define __native_task_delete        5
00032 #define __native_task_yield         6
00033 #define __native_task_set_periodic  7
00034 #define __native_task_wait_period   8
00035 #define __native_task_set_priority  9
00036 #define __native_task_sleep         10
00037 #define __native_task_sleep_until   11
00038 #define __native_task_unblock       12
00039 #define __native_task_inquire       13
00040 #define __native_task_notify        14
00041 #define __native_task_set_mode      15
00042 #define __native_task_self          16
00043 #define __native_task_slice         17
00044 #define __native_task_send          18
00045 #define __native_task_receive       19
00046 #define __native_task_reply         20
00047 #define __native_timer_set_mode     21
00048 #define __native_unimp_22           22
00049 #define __native_timer_read         23
00050 #define __native_timer_tsc          24
00051 #define __native_timer_ns2ticks     25
00052 #define __native_timer_ticks2ns     26
00053 #define __native_timer_inquire      27
00054 #define __native_timer_spin         28
00055 #define __native_sem_create         29
00056 #define __native_sem_bind           30
00057 #define __native_sem_delete         31
00058 #define __native_sem_p              32
00059 #define __native_sem_v              33
00060 #define __native_sem_broadcast      34
00061 #define __native_sem_inquire        35
00062 #define __native_event_create       36
00063 #define __native_event_bind         37
00064 #define __native_event_delete       38
00065 #define __native_event_wait         39
00066 #define __native_event_signal       40
00067 #define __native_event_clear        41
00068 #define __native_event_inquire      42
00069 #define __native_mutex_create       43
00070 #define __native_mutex_bind         44
00071 #define __native_mutex_delete       45
00072 #define __native_mutex_acquire      46
00073 #define __native_mutex_release      47
00074 #define __native_mutex_inquire      48
00075 #define __native_cond_create        49
00076 #define __native_cond_bind          50
00077 #define __native_cond_delete        51
00078 #define __native_cond_wait_prologue 52
00079 #define __native_cond_signal        53
00080 #define __native_cond_broadcast     54
00081 #define __native_cond_inquire       55
00082 #define __native_queue_create       56
00083 #define __native_queue_bind         57
00084 #define __native_queue_delete       58
00085 #define __native_queue_alloc        59
00086 #define __native_queue_free         60
00087 #define __native_queue_send         61
00088 #define __native_queue_receive      62
00089 #define __native_queue_inquire      63
00090 #define __native_heap_create        64
00091 #define __native_heap_bind          65
00092 #define __native_heap_delete        66
00093 #define __native_heap_alloc         67
00094 #define __native_heap_free          68
00095 #define __native_heap_inquire       69
00096 #define __native_alarm_create       70
00097 #define __native_alarm_delete       71
00098 #define __native_alarm_start        72
00099 #define __native_alarm_stop         73
00100 #define __native_alarm_wait         74
00101 #define __native_alarm_inquire      75
00102 #define __native_intr_create        76
00103 #define __native_intr_bind          77
00104 #define __native_intr_delete        78
00105 #define __native_intr_wait          79
00106 #define __native_intr_enable        80
00107 #define __native_intr_disable       81
00108 #define __native_intr_inquire       82
00109 #define __native_pipe_create        83
00110 #define __native_pipe_bind          84
00111 #define __native_pipe_delete        85
00112 #define __native_pipe_read          86
00113 #define __native_pipe_write         87
00114 #define __native_pipe_stream        88
00115 #define __native_unimp_89           89
00116 #define __native_io_get_region      90
00117 #define __native_io_put_region      91
00118 #define __native_unimp_92           92
00119 #define __native_unimp_93           93
00120 #define __native_queue_write        94
00121 #define __native_queue_read         95
00122 #define __native_buffer_create      96
00123 #define __native_buffer_bind        97
00124 #define __native_buffer_delete      98
00125 #define __native_buffer_read        99
00126 #define __native_buffer_write       100
00127 #define __native_buffer_clear       101
00128 #define __native_buffer_inquire     102
00129 #define __native_queue_flush        103
00130 #define __native_cond_wait_epilogue 104
00131 
00132 struct rt_arg_bulk {
00133 
00134         u_long a1;
00135         u_long a2;
00136         u_long a3;
00137         u_long a4;
00138         u_long a5;
00139         u_long a6;
00140 };
00141 
00142 #if defined (__KERNEL__) || defined(__XENO_SIM__)
00143 
00144 #ifdef __cplusplus
00145 extern "C" {
00146 #endif
00147 
00148 #ifdef CONFIG_XENO_OPT_PERVASIVE
00149 
00150 int __native_syscall_init(void);
00151 
00152 void __native_syscall_cleanup(void);
00153 
00154 #else /* !CONFIG_XENO_OPT_PERVASIVE */
00155 
00156 #define __native_syscall_init()         ({ 0; })
00157 #define __native_syscall_cleanup()      do { } while(0)
00158 
00159 #endif /* !CONFIG_XENO_OPT_PERVASIVE */
00160 
00161 #ifdef __cplusplus
00162 }
00163 #endif
00164 
00165 #endif /* __KERNEL__ || __XENO_SIM__ */
00166 
00167 #endif /* _NATIVE_SYSCALL_H */
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines