1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
|
$FreeBSD$
; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94
; from: src/sys/kern/syscalls.master 1.107
;
; System call name/number master file.
; Processed to created init_sysent.c, syscalls.c and syscall.h.
; Columns: number [M]type nargs name alt{name,tag,rtyp}/comments
; number system call number, must be in order
; audit the audit event associated with the system call
; A value of AUE_NULL means no auditing, but it also means that
; there is no audit event for the call at this time. For the
; case where the event exists, but we don't want auditing, the
; event should be #defined to AUE_NULL in audit_kevents.h.
; type one of [M]STD, [M]OBSOL, [M]UNIMPL, [M]COMPAT, [M]CPT_NOA,
; [M]LIBCOMPAT, [M]NODEF, [M]NOARGS, [M]NOPROTO, [M]NOIMPL,
; [M]NOSTD
; name psuedo-prototype of syscall routine
; If one of the following alts is different, then all appear:
; altname name of system call if different
; alttag name of args struct tag if different from [o]`name'"_args"
; altrtyp return type if not int (bogus - syscalls always return int)
; for UNIMPL/OBSOL, name continues with comments
; types:
; [M] e.g. like MSTD -- means the system call is MP-safe. If no
; M prefix is used, the syscall wrapper will obtain the Giant
; lock for the syscall.
; STD always included
; COMPAT included on COMPAT #ifdef
; LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h
; OBSOL obsolete, not included in system, only specifies name
; UNIMPL not implemented, placeholder only
; NOSTD implemented but as a lkm that can be statically
; compiled in sysent entry will be filled with lkmsys
; so the SYSCALL_MODULE macro works
; #ifdef's, etc. may be included, and are copied to the output files.
#include <sys/param.h>
#include <sys/sysent.h>
#include <sys/sysproto.h>
#include <sys/mount.h>
#include <compat/freebsd32/freebsd32.h>
#include <compat/freebsd32/freebsd32_proto.h>
; Reserved/unimplemented system calls in the range 0-150 inclusive
; are reserved for use in future Berkeley releases.
; Additional system calls implemented in vendor and other
; redistributions should be placed in the reserved range at the end
; of the current calls.
0 AUE_NULL MNOPROTO { int nosys(void); } syscall nosys_args int
1 AUE_NULL MNOPROTO { void sys_exit(int rval); } exit \
sys_exit_args void
2 AUE_NULL MNOPROTO { int fork(void); }
3 AUE_NULL MNOPROTO { ssize_t read(int fd, void *buf, \
size_t nbyte); }
4 AUE_NULL MNOPROTO { ssize_t write(int fd, const void *buf, \
size_t nbyte); }
5 AUE_NULL MNOPROTO { int open(char *path, int flags, \
int mode); }
6 AUE_NULL MNOPROTO { int close(int fd); }
7 AUE_NULL MSTD { int freebsd32_wait4(int pid, int *status, \
int options, struct rusage32 *rusage); }
8 AUE_NULL OBSOL old creat
9 AUE_NULL MNOPROTO { int link(char *path, char *link); }
10 AUE_NULL MNOPROTO { int unlink(char *path); }
11 AUE_NULL OBSOL execv
12 AUE_NULL MNOPROTO { int chdir(char *path); }
13 AUE_NULL MNOPROTO { int fchdir(int fd); }
14 AUE_NULL MNOPROTO { int mknod(char *path, int mode, int dev); }
15 AUE_NULL MNOPROTO { int chmod(char *path, int mode); }
16 AUE_NULL MNOPROTO { int chown(char *path, int uid, int gid); }
17 AUE_NULL MNOPROTO { int obreak(char *nsize); } break \
obreak_args int
18 AUE_NULL MCOMPAT4 { int freebsd32_getfsstat( \
struct statfs32 *buf, long bufsize, \
int flags); }
19 AUE_NULL OBSOL olseek
20 AUE_NULL MNOPROTO { pid_t getpid(void); }
21 AUE_NULL NOPROTO { int mount(char *type, char *path, \
int flags, caddr_t data); }
22 AUE_NULL NOPROTO { int unmount(char *path, int flags); }
23 AUE_NULL MNOPROTO { int setuid(uid_t uid); }
24 AUE_NULL MNOPROTO { uid_t getuid(void); }
25 AUE_NULL MNOPROTO { uid_t geteuid(void); }
26 AUE_NULL MNOPROTO { int ptrace(int req, pid_t pid, \
caddr_t addr, int data); }
; XXX implement
27 AUE_NULL MSTD { int freebsd32_recvmsg(int s, struct msghdr32 *msg, \
int flags); }
28 AUE_NULL MSTD { int freebsd32_sendmsg(int s, struct msghdr32 *msg, \
int flags); }
29 AUE_NULL MSTD { int freebsd32_recvfrom(int s, u_int32_t buf, \
u_int32_t len, int flags, u_int32_t from, \
u_int32_t fromlenaddr); }
30 AUE_NULL MNOPROTO { int accept(int s, caddr_t name, \
int *anamelen); }
31 AUE_NULL MNOPROTO { int getpeername(int fdes, caddr_t asa, \
int *alen); }
32 AUE_NULL MNOPROTO { int getsockname(int fdes, caddr_t asa, \
int *alen); }
33 AUE_NULL MNOPROTO { int access(char *path, int flags); }
34 AUE_NULL MNOPROTO { int chflags(char *path, int flags); }
35 AUE_NULL MNOPROTO { int fchflags(int fd, int flags); }
36 AUE_NULL MNOPROTO { int sync(void); }
37 AUE_NULL MNOPROTO { int kill(int pid, int signum); }
38 AUE_NULL UNIMPL ostat
39 AUE_NULL MNOPROTO { pid_t getppid(void); }
40 AUE_NULL UNIMPL olstat
41 AUE_NULL MNOPROTO { int dup(u_int fd); }
42 AUE_NULL MNOPROTO { int pipe(void); }
43 AUE_NULL MNOPROTO { gid_t getegid(void); }
44 AUE_NULL MNOPROTO { int profil(caddr_t samples, size_t size, \
size_t offset, u_int scale); }
45 AUE_NULL MNOPROTO { int ktrace(const char *fname, int ops, \
int facs, int pid); }
46 AUE_NULL MCOMPAT { int freebsd32_sigaction( int signum, \
struct osigaction32 *nsa, \
struct osigaction32 *osa); }
47 AUE_NULL MNOPROTO { gid_t getgid(void); }
48 AUE_NULL MCOMPAT { int freebsd32_sigprocmask(int how, \
osigset_t mask); }
49 AUE_NULL MNOPROTO { int getlogin(char *namebuf, \
u_int namelen); }
50 AUE_NULL MNOPROTO { int setlogin(char *namebuf); }
51 AUE_NULL MNOPROTO { int acct(char *path); }
52 AUE_NULL MCOMPAT { int freebsd32_sigpending(void); }
53 AUE_NULL MSTD { int freebsd32_sigaltstack( \
struct sigaltstack32 *ss, \
struct sigaltstack32 *oss); }
54 AUE_NULL MNOPROTO { int ioctl(int fd, u_long com, \
caddr_t data); }
55 AUE_NULL MNOPROTO { int reboot(int opt); }
56 AUE_NULL MNOPROTO { int revoke(char *path); }
57 AUE_NULL MNOPROTO { int symlink(char *path, char *link); }
58 AUE_NULL MNOPROTO { int readlink(char *path, char *buf, \
int count); }
59 AUE_NULL MSTD { int freebsd32_execve(char *fname, \
u_int32_t *argv, u_int32_t *envv); }
60 AUE_NULL MNOPROTO { int umask(int newmask); } umask \
umask_args int
61 AUE_NULL MNOPROTO { int chroot(char *path); }
62 AUE_NULL OBSOL ofstat
63 AUE_NULL OBSOL ogetkerninfo
64 AUE_NULL OBSOL ogetpagesize
; XXX implement (not OBSOL at all)
65 AUE_NULL MNOPROTO { int msync(void *addr, size_t len, \
int flags); }
66 AUE_NULL MNOPROTO { int vfork(void); }
67 AUE_NULL OBSOL vread
68 AUE_NULL OBSOL vwrite
69 AUE_NULL MNOPROTO { int sbrk(int incr); }
70 AUE_NULL MNOPROTO { int sstk(int incr); }
71 AUE_NULL OBSOL ommap
72 AUE_NULL MNOPROTO { int ovadvise(int anom); } vadvise \
ovadvise_args int
73 AUE_NULL MNOPROTO { int munmap(void *addr, size_t len); }
74 AUE_NULL MNOPROTO { int mprotect(const void *addr, \
size_t len, int prot); }
75 AUE_NULL MNOPROTO { int madvise(void *addr, size_t len, \
int behav); }
76 AUE_NULL OBSOL vhangup
77 AUE_NULL OBSOL vlimit
78 AUE_NULL MNOPROTO { int mincore(const void *addr, size_t len, \
char *vec); }
79 AUE_NULL MNOPROTO { int getgroups(u_int gidsetsize, \
gid_t *gidset); }
80 AUE_NULL MNOPROTO { int setgroups(u_int gidsetsize, \
gid_t *gidset); }
81 AUE_NULL MNOPROTO { int getpgrp(void); }
82 AUE_NULL MNOPROTO { int setpgid(int pid, int pgid); }
83 AUE_NULL MSTD { int freebsd32_setitimer(u_int which, \
struct itimerval32 *itv, \
struct itimerval32 *oitv); }
84 AUE_NULL OBSOL owait
; XXX implement
85 AUE_NULL OBSOL oswapon
86 AUE_NULL MSTD { int freebsd32_getitimer(u_int which, \
struct itimerval32 *itv); }
87 AUE_NULL OBSOL ogethostname
88 AUE_NULL OBSOL osethostname
89 AUE_NULL MNOPROTO { int getdtablesize(void); }
90 AUE_NULL MNOPROTO { int dup2(u_int from, u_int to); }
91 AUE_NULL UNIMPL getdopt
92 AUE_NULL MNOPROTO { int fcntl(int fd, int cmd, long arg); }
93 AUE_NULL MSTD { int freebsd32_select(int nd, fd_set *in, \
fd_set *ou, fd_set *ex, \
struct timeval32 *tv); }
; XXX need to override for big-endian - little-endian should work fine.
94 AUE_NULL UNIMPL setdopt
95 AUE_NULL MNOPROTO { int fsync(int fd); }
96 AUE_NULL MNOPROTO { int setpriority(int which, int who, \
int prio); }
97 AUE_NULL MNOPROTO { int socket(int domain, int type, \
int protocol); }
98 AUE_NULL MNOPROTO { int connect(int s, caddr_t name, \
int namelen); }
99 AUE_NULL OBSOL oaccept
100 AUE_NULL MNOPROTO { int getpriority(int which, int who); }
101 AUE_NULL OBSOL osend
102 AUE_NULL OBSOL orecv
103 AUE_NULL OBSOL osigreturn
104 AUE_NULL MNOPROTO { int bind(int s, caddr_t name, \
int namelen); }
105 AUE_NULL MNOPROTO { int setsockopt(int s, int level, \
int name, caddr_t val, int valsize); }
106 AUE_NULL MNOPROTO { int listen(int s, int backlog); }
107 AUE_NULL OBSOL vtimes
108 AUE_NULL MCOMPAT { int freebsd32_sigvec(int signum, \
struct sigvec32 *nsv, \
struct sigvec32 *osv); }
109 AUE_NULL MCOMPAT { int freebsd32_sigblock(int mask); }
110 AUE_NULL MCOMPAT { int freebsd32_sigsetmask( int mask); }
111 AUE_NULL MCOMPAT { int freebsd32_sigsuspend( int mask); }
112 AUE_NULL MCOMPAT { int freebsd32_sigstack( \
struct sigstack32 *nss, \
struct sigstack32 *oss); }
113 AUE_NULL OBSOL orecvmsg
114 AUE_NULL OBSOL osendmsg
115 AUE_NULL OBSOL vtrace
116 AUE_NULL MSTD { int freebsd32_gettimeofday( \
struct timeval32 *tp, \
struct timezone *tzp); }
117 AUE_NULL MSTD { int freebsd32_getrusage(int who, \
struct rusage32 *rusage); }
118 AUE_NULL MNOPROTO { int getsockopt(int s, int level, \
int name, caddr_t val, int *avalsize); }
119 AUE_NULL UNIMPL resuba (BSD/OS 2.x)
120 AUE_NULL MSTD { int freebsd32_readv(int fd, \
struct iovec32 *iovp, u_int iovcnt); }
121 AUE_NULL MSTD { int freebsd32_writev(int fd, \
struct iovec32 *iovp, u_int iovcnt); }
122 AUE_NULL MSTD { int freebsd32_settimeofday( \
struct timeval32 *tv, \
struct timezone *tzp); }
123 AUE_NULL MNOPROTO { int fchown(int fd, int uid, int gid); }
124 AUE_NULL MNOPROTO { int fchmod(int fd, int mode); }
125 AUE_NULL OBSOL orecvfrom
126 AUE_NULL MNOPROTO { int setreuid(int ruid, int euid); }
127 AUE_NULL MNOPROTO { int setregid(int rgid, int egid); }
128 AUE_NULL MNOPROTO { int rename(char *from, char *to); }
129 AUE_NULL OBSOL otruncate
130 AUE_NULL OBSOL ftruncate
131 AUE_NULL MNOPROTO { int flock(int fd, int how); }
132 AUE_NULL MNOPROTO { int mkfifo(char *path, int mode); }
133 AUE_NULL MNOPROTO { int sendto(int s, caddr_t buf, \
size_t len, int flags, caddr_t to, \
int tolen); }
134 AUE_NULL MNOPROTO { int shutdown(int s, int how); }
135 AUE_NULL MNOPROTO { int socketpair(int domain, int type, \
int protocol, int *rsv); }
136 AUE_NULL MNOPROTO { int mkdir(char *path, int mode); }
137 AUE_NULL MNOPROTO { int rmdir(char *path); }
138 AUE_NULL MSTD { int freebsd32_utimes(char *path, \
struct timeval32 *tptr); }
139 AUE_NULL OBSOL 4.2 sigreturn
140 AUE_NULL MSTD { int freebsd32_adjtime( \
struct timeval32 *delta, \
struct timeval32 *olddelta); }
141 AUE_NULL OBSOL ogetpeername
142 AUE_NULL OBSOL ogethostid
143 AUE_NULL OBSOL sethostid
144 AUE_NULL OBSOL getrlimit
145 AUE_NULL OBSOL setrlimit
146 AUE_NULL OBSOL killpg
147 AUE_NULL MNOPROTO { int setsid(void); }
148 AUE_NULL MNOPROTO { int quotactl(char *path, int cmd, int uid, \
caddr_t arg); }
149 AUE_NULL OBSOL oquota
150 AUE_NULL OBSOL ogetsockname
; Syscalls 151-180 inclusive are reserved for vendor-specific
; system calls. (This includes various calls added for compatibity
; with other Unix variants.)
; Some of these calls are now supported by BSD...
151 AUE_NULL UNIMPL sem_lock (BSD/OS 2.x)
152 AUE_NULL UNIMPL sem_wakeup (BSD/OS 2.x)
153 AUE_NULL UNIMPL asyncdaemon (BSD/OS 2.x)
154 AUE_NULL UNIMPL nosys
; 155 is initialized by the NFS code, if present.
; XXX this is a problem!!!
155 AUE_NULL UNIMPL nfssvc
156 AUE_NULL OBSOL ogetdirentries
157 AUE_NULL MCOMPAT4 { int freebsd32_statfs(char *path, \
struct statfs32 *buf); }
158 AUE_NULL MCOMPAT4 { int freebsd32_fstatfs(int fd, \
struct statfs32 *buf); }
159 AUE_NULL UNIMPL nosys
160 AUE_NULL UNIMPL nosys
161 AUE_NULL MNOPROTO { int getfh(char *fname, \
struct fhandle *fhp); }
162 AUE_NULL MNOPROTO { int getdomainname(char *domainname, \
int len); }
163 AUE_NULL MNOPROTO { int setdomainname(char *domainname, \
int len); }
164 AUE_NULL MNOPROTO { int uname(struct utsname *name); }
165 AUE_NULL MNOPROTO { int sysarch(int op, char *parms); }
166 AUE_NULL MNOPROTO { int rtprio(int function, pid_t pid, \
struct rtprio *rtp); }
167 AUE_NULL UNIMPL nosys
168 AUE_NULL UNIMPL nosys
169 AUE_NULL MSTD { int freebsd32_semsys(int which, int a2, \
int a3, int a4, int a5); }
170 AUE_NULL MSTD { int freebsd32_msgsys(int which, int a2, \
int a3, int a4, int a5, int a6); }
171 AUE_NULL MSTD { int freebsd32_shmsys(int which, int a2, \
int a3, int a4); }
172 AUE_NULL UNIMPL nosys
173 AUE_NULL MSTD { ssize_t freebsd32_pread(int fd, void *buf, \
size_t nbyte, int pad, \
u_int32_t offsetlo, u_int32_t offsethi); }
; XXX note - bigendian is different
174 AUE_NULL MSTD { ssize_t freebsd32_pwrite(int fd, \
const void *buf, size_t nbyte, int pad, \
u_int32_t offsetlo, u_int32_t offsethi); }
; XXX note - bigendian is different
175 AUE_NULL UNIMPL nosys
176 AUE_NULL MNOPROTO { int ntp_adjtime(struct timex *tp); }
177 AUE_NULL UNIMPL sfork (BSD/OS 2.x)
178 AUE_NULL UNIMPL getdescriptor (BSD/OS 2.x)
179 AUE_NULL UNIMPL setdescriptor (BSD/OS 2.x)
180 AUE_NULL UNIMPL nosys
; Syscalls 181-199 are used by/reserved for BSD
181 AUE_NULL MNOPROTO { int setgid(gid_t gid); }
182 AUE_NULL MNOPROTO { int setegid(gid_t egid); }
183 AUE_NULL MNOPROTO { int seteuid(uid_t euid); }
184 AUE_NULL UNIMPL lfs_bmapv
185 AUE_NULL UNIMPL lfs_markv
186 AUE_NULL UNIMPL lfs_segclean
187 AUE_NULL UNIMPL lfs_segwait
188 AUE_NULL MSTD { int freebsd32_stat(char *path, \
struct stat32 *ub); }
189 AUE_NULL MSTD { int freebsd32_fstat(int fd, \
struct stat32 *ub); }
190 AUE_NULL MSTD { int freebsd32_lstat(char *path, \
struct stat32 *ub); }
191 AUE_NULL MNOPROTO { int pathconf(char *path, int name); }
192 AUE_NULL MNOPROTO { int fpathconf(int fd, int name); }
193 AUE_NULL UNIMPL nosys
194 AUE_NULL MNOPROTO { int getrlimit(u_int which, \
struct rlimit *rlp); } getrlimit \
__getrlimit_args int
195 AUE_NULL MNOPROTO { int setrlimit(u_int which, \
struct rlimit *rlp); } setrlimit \
__setrlimit_args int
196 AUE_NULL MNOPROTO { int getdirentries(int fd, char *buf, \
u_int count, long *basep); }
197 AUE_NULL MSTD { caddr_t freebsd32_mmap(caddr_t addr, \
size_t len, int prot, int flags, int fd, \
int pad, u_int32_t poslo, \
u_int32_t poshi); }
198 AUE_NULL MNOPROTO { int nosys(void); } __syscall \
__syscall_args int
; XXX note - bigendian is different
199 AUE_NULL MSTD { off_t freebsd32_lseek(int fd, int pad, \
u_int32_t offsetlo, u_int32_t offsethi, \
int whence); }
; XXX note - bigendian is different
200 AUE_NULL MSTD { int freebsd32_truncate(char *path, \
int pad, u_int32_t lengthlo, \
u_int32_t lengthhi); }
; XXX note - bigendian is different
201 AUE_NULL MSTD { int freebsd32_ftruncate(int fd, int pad, \
u_int32_t lengthlo, u_int32_t lengthhi); }
202 AUE_NULL MSTD { int freebsd32_sysctl(int *name, \
u_int namelen, void *old, \
u_int32_t *oldlenp, void *new, \
u_int32_t newlen); }
203 AUE_NULL MNOPROTO { int mlock(const void *addr, \
size_t len); }
204 AUE_NULL MNOPROTO { int munlock(const void *addr, \
size_t len); }
205 AUE_NULL MNOPROTO { int undelete(char *path); }
206 AUE_NULL MSTD { int freebsd32_futimes(int fd, \
struct timeval32 *tptr); }
207 AUE_NULL MNOPROTO { int getpgid(pid_t pid); }
208 AUE_NULL UNIMPL newreboot (NetBSD)
209 AUE_NULL MNOPROTO { int poll(struct pollfd *fds, u_int nfds, \
int timeout); }
;
; The following are reserved for loadable syscalls
;
210 AUE_NULL UNIMPL
211 AUE_NULL UNIMPL
212 AUE_NULL UNIMPL
213 AUE_NULL UNIMPL
214 AUE_NULL UNIMPL
215 AUE_NULL UNIMPL
216 AUE_NULL UNIMPL
217 AUE_NULL UNIMPL
218 AUE_NULL UNIMPL
219 AUE_NULL UNIMPL
;
; The following were introduced with NetBSD/4.4Lite-2
; They are initialized by thier respective modules/sysinits
; XXX PROBLEM!!
220 AUE_NULL MNOPROTO { int __semctl(int semid, int semnum, \
int cmd, union semun *arg); }
221 AUE_NULL MNOPROTO { int semget(key_t key, int nsems, \
int semflg); }
222 AUE_NULL MNOPROTO { int semop(int semid, struct sembuf *sops, \
u_int nsops); }
223 AUE_NULL UNIMPL semconfig
224 AUE_NULL MNOPROTO { int msgctl(int msqid, int cmd, \
struct msqid_ds *buf); }
225 AUE_NULL MNOPROTO { int msgget(key_t key, int msgflg); }
226 AUE_NULL MNOPROTO { int msgsnd(int msqid, void *msgp, \
size_t msgsz, int msgflg); }
227 AUE_NULL MNOPROTO { int msgrcv(int msqid, void *msgp, \
size_t msgsz, long msgtyp, int msgflg); }
228 AUE_NULL MNOPROTO { int shmat(int shmid, void *shmaddr, \
int shmflg); }
229 AUE_NULL MNOPROTO { int shmctl(int shmid, int cmd, \
struct shmid_ds *buf); }
230 AUE_NULL MNOPROTO { int shmdt(void *shmaddr); }
231 AUE_NULL MNOPROTO { int shmget(key_t key, int size, \
int shmflg); }
;
232 AUE_NULL MSTD { int freebsd32_clock_gettime(clockid_t clock_id, \
struct timespec32 *tp); }
233 AUE_NULL MSTD { int freebsd32_clock_settime(clockid_t clock_id, \
const struct timespec32 *tp); }
234 AUE_NULL MSTD { int freebsd32_clock_getres(clockid_t clock_id, \
struct timespec32 *tp); }
235 AUE_NULL UNIMPL timer_create
236 AUE_NULL UNIMPL timer_delete
237 AUE_NULL UNIMPL timer_settime
238 AUE_NULL UNIMPL timer_gettime
239 AUE_NULL UNIMPL timer_getoverrun
240 AUE_NULL MSTD { int freebsd32_nanosleep( \
const struct timespec32 *rqtp, \
struct timespec32 *rmtp); }
241 AUE_NULL UNIMPL nosys
242 AUE_NULL UNIMPL nosys
243 AUE_NULL UNIMPL nosys
244 AUE_NULL UNIMPL nosys
245 AUE_NULL UNIMPL nosys
246 AUE_NULL UNIMPL nosys
247 AUE_NULL UNIMPL nosys
248 AUE_NULL UNIMPL ntp_gettime
249 AUE_NULL UNIMPL nosys
; syscall numbers initially used in OpenBSD
250 AUE_NULL MNOPROTO { int minherit(void *addr, size_t len, \
int inherit); }
251 AUE_NULL MNOPROTO { int rfork(int flags); }
252 AUE_NULL MNOPROTO { int openbsd_poll(struct pollfd *fds, \
u_int nfds, int timeout); }
253 AUE_NULL MNOPROTO { int issetugid(void); }
254 AUE_NULL MNOPROTO { int lchown(char *path, int uid, int gid); }
255 AUE_NULL UNIMPL nosys
256 AUE_NULL UNIMPL nosys
257 AUE_NULL UNIMPL nosys
258 AUE_NULL UNIMPL nosys
259 AUE_NULL UNIMPL nosys
260 AUE_NULL UNIMPL nosys
261 AUE_NULL UNIMPL nosys
262 AUE_NULL UNIMPL nosys
263 AUE_NULL UNIMPL nosys
264 AUE_NULL UNIMPL nosys
265 AUE_NULL UNIMPL nosys
266 AUE_NULL UNIMPL nosys
267 AUE_NULL UNIMPL nosys
268 AUE_NULL UNIMPL nosys
269 AUE_NULL UNIMPL nosys
270 AUE_NULL UNIMPL nosys
271 AUE_NULL UNIMPL nosys
272 AUE_NULL MNOPROTO { int getdents(int fd, char *buf, \
size_t count); }
273 AUE_NULL UNIMPL nosys
274 AUE_NULL MNOPROTO { int lchmod(char *path, mode_t mode); }
275 AUE_NULL MNOPROTO { int lchown(char *path, uid_t uid, \
gid_t gid); } netbsd_lchown \
lchown_args int
276 AUE_NULL MNOPROTO { int lutimes(char *path, \
struct timeval *tptr); }
277 AUE_NULL MNOPROTO { int msync(void *addr, size_t len, \
int flags); } netbsd_msync msync_args int
278 AUE_NULL MNOPROTO { int nstat(char *path, struct nstat *ub); }
279 AUE_NULL MNOPROTO { int nfstat(int fd, struct nstat *sb); }
280 AUE_NULL MNOPROTO { int nlstat(char *path, struct nstat *ub); }
281 AUE_NULL UNIMPL nosys
282 AUE_NULL UNIMPL nosys
283 AUE_NULL UNIMPL nosys
284 AUE_NULL UNIMPL nosys
285 AUE_NULL UNIMPL nosys
286 AUE_NULL UNIMPL nosys
287 AUE_NULL UNIMPL nosys
288 AUE_NULL UNIMPL nosys
; 289 and 290 from NetBSD (OpenBSD: 267 and 268)
289 AUE_NULL MSTD { ssize_t freebsd32_preadv(int fd, \
struct iovec32 *iovp, \
u_int iovcnt, off_t offset); }
; XXX note - bigendian is different
290 AUE_NULL MSTD { ssize_t freebsd32_pwritev(int fd, \
struct iovec32 *iovp, \
u_int iovcnt, off_t offset); }
; XXX note - bigendian is different
291 AUE_NULL UNIMPL nosys
292 AUE_NULL UNIMPL nosys
293 AUE_NULL UNIMPL nosys
294 AUE_NULL UNIMPL nosys
295 AUE_NULL UNIMPL nosys
296 AUE_NULL UNIMPL nosys
; XXX 297 is 300 in NetBSD
297 AUE_NULL MCOMPAT4 { int freebsd32_fhstatfs( \
const struct fhandle *u_fhp, \
struct statfs32 *buf); }
298 AUE_NULL MNOPROTO { int fhopen(const struct fhandle *u_fhp, \
int flags); }
299 AUE_NULL MNOPROTO { int fhstat(const struct fhandle *u_fhp, \
struct stat *sb); }
; syscall numbers for FreeBSD
300 AUE_NULL MNOPROTO { int modnext(int modid); }
301 AUE_NULL MSTD { int freebsd32_modstat(int modid, \
struct module_stat32* stat); }
302 AUE_NULL MNOPROTO { int modfnext(int modid); }
303 AUE_NULL MNOPROTO { int modfind(const char *name); }
304 AUE_NULL MNOPROTO { int kldload(const char *file); }
305 AUE_NULL MNOPROTO { int kldunload(int fileid); }
306 AUE_NULL MNOPROTO { int kldfind(const char *file); }
307 AUE_NULL MNOPROTO { int kldnext(int fileid); }
308 AUE_NULL MNOPROTO { int kldstat(int fileid, \
struct kld_file_stat* stat); }
309 AUE_NULL MNOPROTO { int kldfirstmod(int fileid); }
310 AUE_NULL MNOPROTO { int getsid(pid_t pid); }
311 AUE_NULL MNOPROTO { int setresuid(uid_t ruid, uid_t euid, \
uid_t suid); }
312 AUE_NULL MNOPROTO { int setresgid(gid_t rgid, gid_t egid, \
gid_t sgid); }
313 AUE_NULL OBSOL signanosleep
314 AUE_NULL UNIMPL aio_return
315 AUE_NULL UNIMPL aio_suspend
316 AUE_NULL UNIMPL aio_cancel
317 AUE_NULL UNIMPL aio_error
318 AUE_NULL UNIMPL aio_read
319 AUE_NULL UNIMPL aio_write
320 AUE_NULL UNIMPL lio_listio
321 AUE_NULL MNOPROTO { int yield(void); }
322 AUE_NULL OBSOL thr_sleep
323 AUE_NULL OBSOL thr_wakeup
324 AUE_NULL MNOPROTO { int mlockall(int how); }
325 AUE_NULL MNOPROTO { int munlockall(void); }
326 AUE_NULL MNOPROTO { int __getcwd(u_char *buf, u_int buflen); }
327 AUE_NULL MNOPROTO { int sched_setparam (pid_t pid, \
const struct sched_param *param); }
328 AUE_NULL MNOPROTO { int sched_getparam (pid_t pid, \
struct sched_param *param); }
329 AUE_NULL MNOPROTO { int sched_setscheduler (pid_t pid, \
int policy, \
const struct sched_param *param); }
330 AUE_NULL MNOPROTO { int sched_getscheduler (pid_t pid); }
331 AUE_NULL MNOPROTO { int sched_yield (void); }
332 AUE_NULL MNOPROTO { int sched_get_priority_max (int policy); }
333 AUE_NULL MNOPROTO { int sched_get_priority_min (int policy); }
334 AUE_NULL MNOPROTO { int sched_rr_get_interval (pid_t pid, \
struct timespec *interval); }
335 AUE_NULL MNOPROTO { int utrace(const void *addr, size_t len); }
; XXX note - bigendian is different
336 AUE_NULL MCOMPAT4 { int freebsd32_sendfile(int fd, int s, \
u_int32_t offsetlo, u_int32_t offsethi, \
size_t nbytes, struct sf_hdtr *hdtr, \
off_t *sbytes, int flags); }
337 AUE_NULL MNOPROTO { int kldsym(int fileid, int cmd, \
void *data); }
338 AUE_NULL MNOPROTO { int jail(struct jail *jail); }
339 AUE_NULL UNIMPL pioctl
340 AUE_NULL MNOPROTO { int sigprocmask(int how, \
const sigset_t *set, sigset_t *oset); }
341 AUE_NULL MNOPROTO { int sigsuspend(const sigset_t *sigmask); }
342 AUE_NULL MCOMPAT4 { int freebsd32_sigaction(int sig, \
struct sigaction32 *act, \
struct sigaction32 *oact); }
343 AUE_NULL MNOPROTO { int sigpending(sigset_t *set); }
344 AUE_NULL MCOMPAT4 { int freebsd32_sigreturn( \
const struct freebsd4_freebsd32_ucontext *sigcntxp); }
; XXX implement
345 AUE_NULL UNIMPL sigtimedwait
; XXX implement
346 AUE_NULL UNIMPL sigwaitinfo
347 AUE_NULL MNOPROTO { int __acl_get_file(const char *path, \
acl_type_t type, struct acl *aclp); }
348 AUE_NULL MNOPROTO { int __acl_set_file(const char *path, \
acl_type_t type, struct acl *aclp); }
349 AUE_NULL MNOPROTO { int __acl_get_fd(int filedes, \
acl_type_t type, struct acl *aclp); }
350 AUE_NULL MNOPROTO { int __acl_set_fd(int filedes, \
acl_type_t type, struct acl *aclp); }
351 AUE_NULL MNOPROTO { int __acl_delete_file(const char *path, \
acl_type_t type); }
352 AUE_NULL MNOPROTO { int __acl_delete_fd(int filedes, \
acl_type_t type); }
353 AUE_NULL MNOPROTO { int __acl_aclcheck_file(const char *path, \
acl_type_t type, struct acl *aclp); }
354 AUE_NULL MNOPROTO { int __acl_aclcheck_fd(int filedes, \
acl_type_t type, struct acl *aclp); }
355 AUE_NULL NOPROTO { int extattrctl(const char *path, int cmd, \
const char *filename, int attrnamespace, \
const char *attrname); }
356 AUE_NULL NOPROTO { int extattr_set_file(const char *path, \
int attrnamespace, const char *attrname, \
void *data, size_t nbytes); }
357 AUE_NULL NOPROTO { ssize_t extattr_get_file(const char *path, \
int attrnamespace, const char *attrname, \
void *data, size_t nbytes); }
358 AUE_NULL NOPROTO { int extattr_delete_file(const char *path, \
int attrnamespace, \
const char *attrname); }
359 AUE_NULL UNIMPL aio_waitcomplete
360 AUE_NULL MNOPROTO { int getresuid(uid_t *ruid, uid_t *euid, \
uid_t *suid); }
361 AUE_NULL MNOPROTO { int getresgid(gid_t *rgid, gid_t *egid, \
gid_t *sgid); }
362 AUE_NULL MNOPROTO { int kqueue(void); }
363 AUE_NULL MSTD { int freebsd32_kevent(int fd, \
const struct kevent32 *changelist, \
int nchanges, \
struct kevent32 *eventlist, int nevents, \
const struct timespec32 *timeout); }
364 AUE_NULL UNIMPL __cap_get_proc
365 AUE_NULL UNIMPL __cap_set_proc
366 AUE_NULL UNIMPL __cap_get_fd
367 AUE_NULL UNIMPL __cap_get_file
368 AUE_NULL UNIMPL __cap_set_fd
369 AUE_NULL UNIMPL __cap_set_file
370 AUE_NULL UNIMPL lkmressys
371 AUE_NULL NOPROTO { int extattr_set_fd(int fd, \
int attrnamespace, const char *attrname, \
void *data, size_t nbytes); }
372 AUE_NULL NOPROTO { ssize_t extattr_get_fd(int fd, \
int attrnamespace, const char *attrname, \
void *data, size_t nbytes); }
373 AUE_NULL NOPROTO { int extattr_delete_fd(int fd, \
int attrnamespace, \
const char *attrname); }
374 AUE_NULL MNOPROTO { int __setugid(int flag); }
375 AUE_NULL UNIMPL nfsclnt
376 AUE_NULL MNOPROTO { int eaccess(char *path, int flags); }
377 AUE_NULL UNIMPL afs_syscall
378 AUE_NULL NOPROTO { int nmount(struct iovec *iovp, \
unsigned int iovcnt, int flags); }
379 AUE_NULL MNOPROTO { int kse_exit(void); }
380 AUE_NULL MNOPROTO { int kse_wakeup(struct kse_mailbox *mbx); }
381 AUE_NULL MNOPROTO { int kse_create(struct kse_mailbox *mbx, \
int newgroup); }
382 AUE_NULL MNOPROTO { int kse_thr_interrupt( \
struct kse_thr_mailbox *tmbx); }
383 AUE_NULL MNOPROTO { int kse_release(void); }
384 AUE_NULL UNIMPL __mac_get_proc
385 AUE_NULL UNIMPL __mac_set_proc
386 AUE_NULL UNIMPL __mac_get_fd
387 AUE_NULL UNIMPL __mac_get_file
388 AUE_NULL UNIMPL __mac_set_fd
389 AUE_NULL UNIMPL __mac_set_file
390 AUE_NULL MNOPROTO { int kenv(int what, const char *name, \
char *value, int len); }
391 AUE_NULL MNOPROTO { int lchflags(const char *path, int flags); }
392 AUE_NULL MNOPROTO { int uuidgen(struct uuid *store, \
int count); }
393 AUE_NULL MSTD { int freebsd32_sendfile(int fd, int s, \
u_int32_t offsetlo, u_int32_t offsethi, \
size_t nbytes, struct sf_hdtr *hdtr, \
off_t *sbytes, int flags); }
394 AUE_NULL UNIMPL mac_syscall
395 AUE_NULL MNOPROTO { int getfsstat(struct statfs *buf, \
long bufsize, int flags); }
396 AUE_NULL MNOPROTO { int statfs(char *path, \
struct statfs *buf); }
397 AUE_NULL MNOPROTO { int fstatfs(int fd, struct statfs *buf); }
398 AUE_NULL MNOPROTO { int fhstatfs(const struct fhandle *u_fhp, \
struct statfs *buf); }
399 AUE_NULL UNIMPL nosys
; XXX implement these?
400 AUE_NULL UNIMPL ksem_close
401 AUE_NULL UNIMPL ksem_post
402 AUE_NULL UNIMPL ksem_wait
403 AUE_NULL UNIMPL ksem_trywait
404 AUE_NULL UNIMPL ksem_init
405 AUE_NULL UNIMPL ksem_open
406 AUE_NULL UNIMPL ksem_unlink
407 AUE_NULL UNIMPL ksem_getvalue
408 AUE_NULL UNIMPL ksem_destroy
409 AUE_NULL UNIMPL __mac_get_pid
410 AUE_NULL UNIMPL __mac_get_link
411 AUE_NULL UNIMPL __mac_set_link
412 AUE_NULL UNIMPL extattr_set_link
413 AUE_NULL UNIMPL extattr_get_link
414 AUE_NULL UNIMPL extattr_delete_link
415 AUE_NULL UNIMPL __mac_execve
416 AUE_NULL MSTD { int freebsd32_sigaction(int sig, \
struct sigaction32 *act, \
struct sigaction32 *oact); }
417 AUE_NULL MSTD { int freebsd32_sigreturn( \
const struct freebsd32_ucontext *sigcntxp); }
418 AUE_NULL UNIMPL __xstat
419 AUE_NULL UNIMPL __xfstat
420 AUE_NULL UNIMPL __xlstat
421 AUE_NULL MSTD { int freebsd32_getcontext( \
struct freebsd32_ucontext *ucp); }
422 AUE_NULL MSTD { int freebsd32_setcontext( \
const struct freebsd32_ucontext *ucp); }
423 AUE_NULL MSTD { int freebsd32_swapcontext( \
struct freebsd32_ucontext *oucp, \
const struct freebsd32_ucontext *ucp); }
424 AUE_NULL UNIMPL swapoff
425 AUE_NULL UNIMPL __acl_get_link
426 AUE_NULL UNIMPL __acl_set_link
427 AUE_NULL UNIMPL __acl_delete_link
428 AUE_NULL UNIMPL __acl_aclcheck_link
; XXX implement
429 AUE_NULL UNIMPL sigwait
430 AUE_NULL MNOPROTO { int thr_create(ucontext_t *ctx, long *id, \
int flag s); }
431 AUE_NULL MNOPROTO { void thr_exit(long *state); }
432 AUE_NULL MNOPROTO { int thr_self(long *id); }
433 AUE_NULL MNOPROTO { int thr_kill(long id, int sig); }
434 AUE_NULL MNOPROTO { int _umtx_lock(struct umtx *umtx); }
435 AUE_NULL MNOPROTO { int _umtx_unlock(struct umtx *umtx); }
436 AUE_NULL MNOPROTO { int jail_attach(int jid); }
437 AUE_NULL UNIMPL extattr_list_fd
438 AUE_NULL UNIMPL extattr_list_file
439 AUE_NULL UNIMPL extattr_list_link
440 AUE_NULL UNIMPL kse_switchin
441 AUE_NULL UNIMPL ksem_timedwait
442 AUE_NULL MNOPROTO { int thr_suspend( \
const struct timespec *timeout); }
443 AUE_NULL MNOPROTO { int thr_wake(long id); }
444 AUE_NULL MNOPROTO { int kldunloadf(int fileid, int flags); }
445 AUE_NULL UNIMPL audit
446 AUE_NULL UNIMPL auditon
447 AUE_NULL UNIMPL getauid
448 AUE_NULL UNIMPL setauid
449 AUE_NULL UNIMPL getaudit
450 AUE_NULL UNIMPL setaudit
451 AUE_NULL UNIMPL getaudit_addr
452 AUE_NULL UNIMPL setaudit_addr
453 AUE_NULL UNIMPL auditctl
454 AUE_NULL UNIMPL _umtx_op
|