1 struct syscall_result {
6 static struct syscall_result syscall_return(long result)
8 struct syscall_result res;
9 if (((unsigned long)result) >= ((unsigned long)-125)) {
19 static struct syscall_result syscall0(unsigned long nr)
26 return syscall_return(res);
29 static struct syscall_result syscall1(unsigned long nr, unsigned long arg1)
35 : "a" (nr), "b" (arg1));
36 return syscall_return(res);
40 static struct syscall_result syscall2(unsigned long nr, unsigned long arg1, unsigned long arg2)
46 : "a" (nr), "b" (arg1), "c" (arg2));
47 return syscall_return(res);
52 static struct syscall_result syscall3(unsigned long nr, unsigned long arg1, unsigned long arg2,
59 : "a" (nr), "b" (arg1), "c" (arg2), "d" (arg3));
60 return syscall_return(res);
64 static struct syscall_result syscall4(unsigned long nr, unsigned long arg1, unsigned long arg2,
65 unsigned long arg3, unsigned long arg4)
71 : "a" (nr), "b" (arg1), "c" (arg2), "d" (arg3), "S" (arg4));
72 return syscall_return(res);
76 static struct syscall_result syscall5(unsigned long nr, unsigned long arg1, unsigned long arg2,
77 unsigned long arg3, unsigned long arg4, unsigned long arg5)
83 : "a" (nr), "b" (arg1), "c" (arg2), "d" (arg3),
84 "S" (arg4), "D" (arg5));
85 return syscall_return(res);
106 #define NR_oldstat 18
116 #define NR_oldfstat 28
137 #define NR_geteuid 49
138 #define NR_getegid 50
140 #define NR_umount2 52
145 #define NR_setpgid 57
147 #define NR_oldolduname 59
152 #define NR_getppid 64
153 #define NR_getpgrp 65
155 #define NR_sigaction 67
156 #define NR_sgetmask 68
157 #define NR_ssetmask 69
158 #define NR_setreuid 70
159 #define NR_setregid 71
160 #define NR_sigsuspend 72
161 #define NR_sigpending 73
162 #define NR_sethostname 74
163 #define NR_setrlimit 75
164 #define NR_getrlimit 76
165 #define NR_getrusage 77
166 #define NR_gettimeofday 78
167 #define NR_settimeofday 79
168 #define NR_getgroups 80
169 #define NR_setgroups 81
171 #define NR_symlink 83
172 #define NR_oldlstat 84
173 #define NR_readlink 85
177 #define NR_readdir 89
180 #define NR_truncate 92
181 #define NR_ftruncate 93
184 #define NR_getpriority 96
185 #define NR_setpriority 97
188 #define NR_fstatfs 100
189 #define NR_ioperm 101
190 #define NR_socketcall 102
191 #define NR_syslog 103
192 #define NR_setitimer 104
193 #define NR_getitimer 105
197 #define NR_olduname 109
199 #define NR_vhangup 111
201 #define NR_vm86old 113
203 #define NR_swapoff 115
204 #define NR_sysinfo 116
207 #define NR_sigreturn 119
209 #define NR_setdomainname 121
211 #define NR_modify_ldt 123
212 #define NR_adjtimex 124
213 #define NR_mprotect 125
214 #define NR_sigprocmask 126
215 #define NR_create_module 127
216 #define NR_init_module 128
217 #define NR_delete_module 129
218 #define NR_get_kernel_syms 130
219 #define NR_quotactl 131
220 #define NR_getpgid 132
221 #define NR_fchdir 133
222 #define NR_bdflush 134
224 #define NR_personality 136
225 #define NR_afs_syscall 137 /* Syscall for Andrew File System */
226 #define NR_setfsuid 138
227 #define NR_setfsgid 139
228 #define NR__llseek 140
229 #define NR_getdents 141
230 #define NR__newselect 142
234 #define NR_writev 146
235 #define NR_getsid 147
236 #define NR_fdatasync 148
237 #define NR__sysctl 149
239 #define NR_munlock 151
240 #define NR_mlockall 152
241 #define NR_munlockall 153
242 #define NR_sched_setparam 154
243 #define NR_sched_getparam 155
244 #define NR_sched_setscheduler 156
245 #define NR_sched_getscheduler 157
246 #define NR_sched_yield 158
247 #define NR_sched_get_priority_max 159
248 #define NR_sched_get_priority_min 160
249 #define NR_sched_rr_get_interval 161
250 #define NR_nanosleep 162
251 #define NR_mremap 163
252 #define NR_setresuid 164
253 #define NR_getresuid 165
255 #define NR_query_module 167
257 #define NR_nfsservctl 169
258 #define NR_setresgid 170
259 #define NR_getresgid 171
261 #define NR_rt_sigreturn 173
262 #define NR_rt_sigaction 174
263 #define NR_rt_sigprocmask 175
264 #define NR_rt_sigpending 176
265 #define NR_rt_sigtimedwait 177
266 #define NR_rt_sigqueueinfo 178
267 #define NR_rt_sigsuspend 179
269 #define NR_pwrite 181
271 #define NR_getcwd 183
272 #define NR_capget 184
273 #define NR_capset 185
274 #define NR_sigaltstack 186
275 #define NR_sendfile 187
276 #define NR_getpmsg 188 /* some people actually want streams */
277 #define NR_putpmsg 189 /* some people actually want streams */
280 /* Standard file descriptors */
281 #define STDIN_FILENO 0 /* Standard input */
282 #define STDOUT_FILENO 1 /* Standard output */
283 #define STDERR_FILENO 2 /* Standard error output */
285 typedef long ssize_t;
286 typedef unsigned long size_t;
288 static ssize_t write(int fd, const void *buf, size_t count)
290 struct syscall_result res;
291 res = syscall3(NR_write, fd, (unsigned long)buf, count);
295 static void _exit(int status)
297 struct syscall_result res;
298 res = syscall1(NR_exit, status);