include/native/syscall.h

00001 /*
00002  * Copyright (C) 2004 Philippe Gerum <rpm@xenomai.org>.
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          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_timer_ns2tsc       92
00119 #define __native_timer_tsc2ns       93
00120 #define __native_queue_write        94
00121 #define __native_queue_read         95
00122 
00123 struct rt_arg_bulk {
00124 
00125     u_long a1;
00126     u_long a2;
00127     u_long a3;
00128     u_long a4;
00129     u_long a5;
00130 };
00131 
00132 #ifdef __KERNEL__
00133 
00134 #ifdef __cplusplus
00135 extern "C" {
00136 #endif
00137 
00138 #ifdef CONFIG_XENO_OPT_PERVASIVE
00139 
00140 int __native_syscall_init(void);
00141 
00142 void __native_syscall_cleanup(void);
00143 
00144 #else /* !CONFIG_XENO_OPT_PERVASIVE */
00145 
00146 #define __native_syscall_init() ({ 0; })
00147 #define __native_syscall_cleanup()      do { } while(0)
00148 
00149 #endif /* !CONFIG_XENO_OPT_PERVASIVE */
00150 
00151 #ifdef __cplusplus
00152 }
00153 #endif
00154 
00155 #endif /* __KERNEL__ */
00156 
00157 #endif /* _NATIVE_SYSCALL_H */

Generated on Mon Mar 24 18:02:40 2008 for Xenomai API by  doxygen 1.5.3