aboutsummaryrefslogtreecommitdiff
path: root/sys/compat/freebsd32/syscalls.master
blob: 2303591fa41f3670d3bd47e3dece5c3244da251d (plain) (blame)
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
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
 $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 audit type 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 STD, OBSOL, UNIMPL, COMPAT, COMPAT4, COMPAT6,
;		COMPAT7, NODEF, NOARGS, NOPROTO, NOSTD
;		The COMPAT* options may be combined with one or more NO*
;		options separated by '|' with no spaces (e.g. COMPAT|NOARGS)
;	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:
;	STD	always included
;	COMPAT	included on COMPAT #ifdef
;	COMPAT4	included on COMPAT4 #ifdef (FreeBSD 4 compat)
;	COMPAT6	included on COMPAT6 #ifdef (FreeBSD 6 compat)
;	COMPAT7	included on COMPAT7 #ifdef (FreeBSD 7 compat)
;	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 lkmressys
;		so the SYSCALL_MODULE macro works
;	NOARGS	same as STD except do not create structure in sys/sysproto.h
;	NODEF	same as STD except only have the entry in the syscall table
;		added.  Meaning - do not create structure or function
;		prototype in sys/sysproto.h
;	NOPROTO	same as STD except do not create structure or
;		function prototype in sys/sysproto.h.  Does add a
;		definition to syscall.h besides adding a sysent.

; #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 <sys/socket.h>
#include <compat/freebsd32/freebsd32.h>
#include <compat/freebsd32/freebsd32_proto.h>

#if !defined(PAD64_REQUIRED) && (defined(__powerpc__) || defined(__mips__))
#define PAD64_REQUIRED
#endif

; 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	NOPROTO	{ int nosys(void); } syscall nosys_args int
1	AUE_EXIT	NOPROTO	{ void sys_exit(int rval); } exit \
				    sys_exit_args void
2	AUE_FORK	NOPROTO	{ int fork(void); }
3	AUE_READ	NOPROTO	{ ssize_t read(int fd, void *buf, \
				    size_t nbyte); }
4	AUE_WRITE	NOPROTO	{ ssize_t write(int fd, const void *buf, \
				    size_t nbyte); }
5	AUE_OPEN_RWTC	NOPROTO	{ int open(char *path, int flags, \
				    int mode); }
6	AUE_CLOSE	NOPROTO	{ int close(int fd); }
7	AUE_WAIT4	STD	{ int freebsd32_wait4(int pid, int *status, \
				    int options, struct rusage32 *rusage); }
8	AUE_CREAT	OBSOL	old creat
9	AUE_LINK	NOPROTO	{ int link(char *path, char *link); }
10	AUE_UNLINK	NOPROTO	{ int unlink(char *path); }
11	AUE_NULL	OBSOL	execv
12	AUE_CHDIR	NOPROTO	{ int chdir(char *path); }
13	AUE_FCHDIR	NOPROTO	{ int fchdir(int fd); }
14	AUE_MKNOD	NOPROTO	{ int mknod(char *path, int mode, int dev); }
15	AUE_CHMOD	NOPROTO	{ int chmod(char *path, int mode); }
16	AUE_CHOWN	NOPROTO	{ int chown(char *path, int uid, int gid); }
17	AUE_NULL	NOPROTO	{ int obreak(char *nsize); } break \
				    obreak_args int
18	AUE_GETFSSTAT	COMPAT4	{ int freebsd32_getfsstat( \
				    struct statfs32 *buf, long bufsize, \
				    int flags); }
19	AUE_LSEEK	COMPAT	{ int freebsd32_lseek(int fd, int offset, \
				    int whence); }
20	AUE_GETPID	NOPROTO	{ pid_t getpid(void); }
21	AUE_MOUNT	NOPROTO	{ int mount(char *type, char *path, \
				    int flags, caddr_t data); }
22	AUE_UMOUNT	NOPROTO	{ int unmount(char *path, int flags); }
23	AUE_SETUID	NOPROTO	{ int setuid(uid_t uid); }
24	AUE_GETUID	NOPROTO	{ uid_t getuid(void); }
25	AUE_GETEUID	NOPROTO	{ uid_t geteuid(void); }
26	AUE_PTRACE	NOPROTO	{ int ptrace(int req, pid_t pid, \
				    caddr_t addr, int data); }
27	AUE_RECVMSG	STD	{ int freebsd32_recvmsg(int s, struct msghdr32 *msg, \
				    int flags); }
28	AUE_SENDMSG	STD	{ int freebsd32_sendmsg(int s, struct msghdr32 *msg, \
				    int flags); }
29	AUE_RECVFROM	STD	{ int freebsd32_recvfrom(int s, uint32_t buf, \
				    uint32_t len, int flags, uint32_t from, \
				    uint32_t fromlenaddr); }
30	AUE_ACCEPT	NOPROTO	{ int accept(int s, caddr_t name, \
				    int *anamelen); }
31	AUE_GETPEERNAME	NOPROTO	{ int getpeername(int fdes, caddr_t asa, \
				    int *alen); }
32	AUE_GETSOCKNAME	NOPROTO	{ int getsockname(int fdes, caddr_t asa, \
				    int *alen); }
33	AUE_ACCESS	NOPROTO	{ int access(char *path, int amode); }
34	AUE_CHFLAGS	NOPROTO	{ int chflags(const char *path, u_long flags); }
35	AUE_FCHFLAGS	NOPROTO	{ int fchflags(int fd, u_long flags); }
36	AUE_SYNC	NOPROTO	{ int sync(void); }
37	AUE_KILL	NOPROTO	{ int kill(int pid, int signum); }
38	AUE_STAT	COMPAT	{ int freebsd32_stat(char *path, \
				    struct ostat32 *ub); }
39	AUE_GETPPID	NOPROTO	{ pid_t getppid(void); }
40	AUE_LSTAT	COMPAT	{ int freebsd32_lstat(char *path, \
				    struct ostat *ub); }
41	AUE_DUP		NOPROTO	{ int dup(u_int fd); }
42	AUE_PIPE	NOPROTO	{ int pipe(void); }
43	AUE_GETEGID	NOPROTO	{ gid_t getegid(void); }
44	AUE_PROFILE	NOPROTO	{ int profil(caddr_t samples, size_t size, \
				    size_t offset, u_int scale); }
45	AUE_KTRACE	NOPROTO	{ int ktrace(const char *fname, int ops, \
				    int facs, int pid); }
46	AUE_SIGACTION	COMPAT	{ int freebsd32_sigaction( int signum, \
				   struct osigaction32 *nsa, \
				   struct osigaction32 *osa); }
47	AUE_GETGID	NOPROTO	{ gid_t getgid(void); }
48	AUE_SIGPROCMASK	COMPAT	{ int freebsd32_sigprocmask(int how, \
				   osigset_t mask); }
49	AUE_GETLOGIN	NOPROTO	{ int getlogin(char *namebuf, \
				    u_int namelen); }
50	AUE_SETLOGIN	NOPROTO	{ int setlogin(char *namebuf); }
51	AUE_ACCT	NOPROTO	{ int acct(char *path); }
52	AUE_SIGPENDING	COMPAT	{ int freebsd32_sigpending(void); }
53	AUE_SIGALTSTACK	STD	{ int freebsd32_sigaltstack( \
				    struct sigaltstack32 *ss, \
				    struct sigaltstack32 *oss); }
54	AUE_NULL	STD	{ int freebsd32_ioctl(int fd, uint32_t com, \
				    struct md_ioctl32 *data); }
55	AUE_REBOOT	NOPROTO	{ int reboot(int opt); }
56	AUE_REVOKE	NOPROTO	{ int revoke(char *path); }
57	AUE_SYMLINK	NOPROTO	{ int symlink(char *path, char *link); }
58	AUE_READLINK	NOPROTO	{ ssize_t readlink(char *path, char *buf, \
				    size_t count); }
59	AUE_EXECVE	STD	{ int freebsd32_execve(char *fname, \
				    uint32_t *argv, uint32_t *envv); }
60	AUE_UMASK	NOPROTO	{ int umask(int newmask); } umask \
				    umask_args int
61	AUE_CHROOT	NOPROTO	{ int chroot(char *path); }
62	AUE_FSTAT	COMPAT	{ int freebsd32_fstat(int fd, \
				    struct ostat32 *ub); }
63	AUE_NULL	OBSOL	ogetkerninfo
64	AUE_NULL	COMPAT	{ int freebsd32_getpagesize( \
				    int32_t dummy); }
65	AUE_MSYNC	NOPROTO	{ int msync(void *addr, size_t len, \
				    int flags); }
66	AUE_VFORK	NOPROTO	{ int vfork(void); }
67	AUE_NULL	OBSOL	vread
68	AUE_NULL	OBSOL	vwrite
69	AUE_SBRK	NOPROTO	{ int sbrk(int incr); }
70	AUE_SSTK	NOPROTO	{ int sstk(int incr); }
71	AUE_MMAP	COMPAT|NOPROTO	{ int mmap(void *addr, int len, \
				    int prot, int flags, int fd, int pos); }
72	AUE_O_VADVISE	NOPROTO	{ int ovadvise(int anom); } vadvise \
				    ovadvise_args int
73	AUE_MUNMAP	NOPROTO	{ int munmap(void *addr, size_t len); }
74	AUE_MPROTECT	STD	{ int freebsd32_mprotect(const void *addr, \
				    size_t len, int prot); }
75	AUE_MADVISE	NOPROTO	{ int madvise(void *addr, size_t len, \
				    int behav); }
76	AUE_NULL	OBSOL	vhangup
77	AUE_NULL	OBSOL	vlimit
78	AUE_MINCORE	NOPROTO	{ int mincore(const void *addr, size_t len, \
				    char *vec); }
79	AUE_GETGROUPS	NOPROTO	{ int getgroups(u_int gidsetsize, \
				    gid_t *gidset); }
80	AUE_SETGROUPS	NOPROTO	{ int setgroups(u_int gidsetsize, \
				    gid_t *gidset); }
81	AUE_GETPGRP	NOPROTO	{ int getpgrp(void); }
82	AUE_SETPGRP	NOPROTO	{ int setpgid(int pid, int pgid); }
83	AUE_SETITIMER	STD	{ int freebsd32_setitimer(u_int which, \
				    struct itimerval32 *itv, \
				    struct itimerval32 *oitv); }
84	AUE_NULL	OBSOL	owait
; XXX implement
85	AUE_SWAPON	NOPROTO	{ int swapon(char *name); }
86	AUE_GETITIMER	STD	{ int freebsd32_getitimer(u_int which, \
				    struct itimerval32 *itv); }
87	AUE_O_GETHOSTNAME	OBSOL	ogethostname
88	AUE_O_SETHOSTNAME	OBSOL	osethostname
89	AUE_GETDTABLESIZE	NOPROTO	{ int getdtablesize(void); }
90	AUE_DUP2	NOPROTO	{ int dup2(u_int from, u_int to); }
91	AUE_NULL	UNIMPL	getdopt
92	AUE_FCNTL	STD	{ int freebsd32_fcntl(int fd, int cmd, \
				    int arg); }
93	AUE_SELECT	STD	{ int freebsd32_select(int nd, fd_set *in, \
				    fd_set *ou, fd_set *ex, \
				    struct timeval32 *tv); }
94	AUE_NULL	UNIMPL	setdopt
95	AUE_FSYNC	NOPROTO	{ int fsync(int fd); }
96	AUE_SETPRIORITY	NOPROTO	{ int setpriority(int which, int who, \
				    int prio); }
97	AUE_SOCKET	NOPROTO	{ int socket(int domain, int type, \
				    int protocol); }
98	AUE_CONNECT	NOPROTO	{ int connect(int s, caddr_t name, \
				    int namelen); }
99	AUE_NULL	OBSOL	oaccept
100	AUE_GETPRIORITY	NOPROTO	{ int getpriority(int which, int who); }
101	AUE_NULL	OBSOL	osend
102	AUE_NULL	OBSOL	orecv
103	AUE_NULL	COMPAT	{ int freebsd32_sigreturn( \
				    struct ia32_sigcontext3 *sigcntxp); }
104	AUE_BIND	NOPROTO	{ int bind(int s, caddr_t name, \
				    int namelen); }
105	AUE_SETSOCKOPT	NOPROTO	{ int setsockopt(int s, int level, \
				    int name, caddr_t val, int valsize); }
106	AUE_LISTEN	NOPROTO	{ int listen(int s, int backlog); }
107	AUE_NULL	OBSOL	vtimes
108	AUE_O_SIGVEC	COMPAT	{ int freebsd32_sigvec(int signum, \
				     struct sigvec32 *nsv, \
				     struct sigvec32 *osv); }
109	AUE_O_SIGBLOCK	COMPAT	{ int freebsd32_sigblock(int mask); }
110	AUE_O_SIGSETMASK	COMPAT	{ int freebsd32_sigsetmask( int mask); }
111	AUE_SIGSUSPEND	COMPAT	{ int freebsd32_sigsuspend( int mask); }
112	AUE_O_SIGSTACK	COMPAT	{ 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_GETTIMEOFDAY	STD	{ int freebsd32_gettimeofday( \
				    struct timeval32 *tp, \
				    struct timezone *tzp); }
117	AUE_GETRUSAGE	STD	{ int freebsd32_getrusage(int who, \
				    struct rusage32 *rusage); }
118	AUE_GETSOCKOPT	NOPROTO	{ int getsockopt(int s, int level, \
				    int name, caddr_t val, int *avalsize); }
119	AUE_NULL	UNIMPL	resuba (BSD/OS 2.x)
120	AUE_READV	STD	{ int freebsd32_readv(int fd, \
				    struct iovec32 *iovp, u_int iovcnt); }
121	AUE_WRITEV	STD	{ int freebsd32_writev(int fd, \
				    struct iovec32 *iovp, u_int iovcnt); }
122	AUE_SETTIMEOFDAY	STD	{ int freebsd32_settimeofday( \
				    struct timeval32 *tv, \
				    struct timezone *tzp); }
123	AUE_FCHOWN	NOPROTO	{ int fchown(int fd, int uid, int gid); }
124	AUE_FCHMOD	NOPROTO	{ int fchmod(int fd, int mode); }
125	AUE_RECVFROM	OBSOL	orecvfrom
126	AUE_SETREUID	NOPROTO	{ int setreuid(int ruid, int euid); }
127	AUE_SETREGID	NOPROTO	{ int setregid(int rgid, int egid); }
128	AUE_RENAME	NOPROTO	{ int rename(char *from, char *to); }
129	AUE_TRUNCATE	COMPAT|NOPROTO	{ int truncate(char *path, \
					    int length); }
130	AUE_FTRUNCATE	COMPAT|NOPROTO	{ int ftruncate(int fd, int length); }
131	AUE_FLOCK	NOPROTO	{ int flock(int fd, int how); }
132	AUE_MKFIFO	NOPROTO	{ int mkfifo(char *path, int mode); }
133	AUE_SENDTO	NOPROTO	{ int sendto(int s, caddr_t buf, \
				    size_t len, int flags, caddr_t to, \
				    int tolen); }
134	AUE_SHUTDOWN	NOPROTO	{ int shutdown(int s, int how); }
135	AUE_SOCKETPAIR	NOPROTO	{ int socketpair(int domain, int type, \
				    int protocol, int *rsv); }
136	AUE_MKDIR	NOPROTO	{ int mkdir(char *path, int mode); }
137	AUE_RMDIR	NOPROTO	{ int rmdir(char *path); }
138	AUE_UTIMES	STD	{ int freebsd32_utimes(char *path, \
				    struct timeval32 *tptr); }
139	AUE_NULL	OBSOL	4.2 sigreturn
140	AUE_ADJTIME	STD	{ int freebsd32_adjtime( \
				    struct timeval32 *delta, \
				    struct timeval32 *olddelta); }
141	AUE_GETPEERNAME	OBSOL	ogetpeername
142	AUE_SYSCTL	OBSOL	ogethostid
143	AUE_SYSCTL	OBSOL	sethostid
144	AUE_GETRLIMIT	OBSOL	getrlimit
145	AUE_SETRLIMIT	OBSOL	setrlimit
146	AUE_KILLPG	OBSOL	killpg
147	AUE_SETSID	NOPROTO	{ int setsid(void); }
148	AUE_QUOTACTL	NOPROTO	{ int quotactl(char *path, int cmd, int uid, \
				    caddr_t arg); }
149	AUE_O_QUOTA	OBSOL oquota
150	AUE_GETSOCKNAME	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 is initialised by the NLM code, if present.
154	AUE_NULL	UNIMPL	nlm_syscall
; 155 is initialized by the NFS code, if present.
; XXX this is a problem!!!
155	AUE_NFS_SVC	UNIMPL	nfssvc
156	AUE_GETDIRENTRIES COMPAT { int freebsd32_getdirentries(int fd, \
				    char *buf, u_int count, uint32_t *basep); }
157	AUE_STATFS	COMPAT4	{ int freebsd32_statfs(char *path, \
				    struct statfs32 *buf); }
158	AUE_FSTATFS	COMPAT4	{ int freebsd32_fstatfs(int fd, \
				    struct statfs32 *buf); }
159	AUE_NULL	UNIMPL	nosys
160	AUE_LGETFH	UNIMPL	lgetfh
161	AUE_NFS_GETFH	NOPROTO	{ int getfh(char *fname, \
				    struct fhandle *fhp); }
162	AUE_NULL	OBSOL	getdomainname
163	AUE_NULL	OBSOL	setdomainname
164	AUE_NULL	OBSOL	uname
165	AUE_SYSARCH	STD	{ int freebsd32_sysarch(int op, char *parms); }
166	AUE_RTPRIO	NOPROTO	{ int rtprio(int function, pid_t pid, \
				    struct rtprio *rtp); }
167	AUE_NULL	UNIMPL	nosys
168	AUE_NULL	UNIMPL	nosys
169	AUE_SEMSYS	NOSTD	{ int freebsd32_semsys(int which, int a2, \
				    int a3, int a4, int a5); }
170	AUE_MSGSYS	NOSTD	{ int freebsd32_msgsys(int which, int a2, \
				    int a3, int a4, int a5, int a6); }
171	AUE_SHMSYS	NOSTD	{ int freebsd32_shmsys(uint32_t which, uint32_t a2, \
				    uint32_t a3, uint32_t a4); }
172	AUE_NULL	UNIMPL	nosys
173	AUE_PREAD	COMPAT6	{ ssize_t freebsd32_pread(int fd, void *buf, \
				    size_t nbyte, int pad, \
				    uint32_t offset1, uint32_t offset2); }
174	AUE_PWRITE	COMPAT6	{ ssize_t freebsd32_pwrite(int fd, \
				    const void *buf, size_t nbyte, int pad, \
				    uint32_t offset1, uint32_t offset2); }
175	AUE_NULL	UNIMPL	nosys
176	AUE_NTP_ADJTIME	NOPROTO	{ 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_SETGID	NOPROTO	{ int setgid(gid_t gid); }
182	AUE_SETEGID	NOPROTO	{ int setegid(gid_t egid); }
183	AUE_SETEUID	NOPROTO	{ 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_STAT	STD	{ int freebsd32_stat(char *path, \
				    struct stat32 *ub); }
189	AUE_FSTAT	STD	{ int freebsd32_fstat(int fd, \
				    struct stat32 *ub); }
190	AUE_LSTAT	STD	{ int freebsd32_lstat(char *path, \
				    struct stat32 *ub); }
191	AUE_PATHCONF	NOPROTO	{ int pathconf(char *path, int name); }
192	AUE_FPATHCONF	NOPROTO	{ int fpathconf(int fd, int name); }
193	AUE_NULL	UNIMPL	nosys
194	AUE_GETRLIMIT	NOPROTO	{ int getrlimit(u_int which, \
				    struct rlimit *rlp); } getrlimit \
				    __getrlimit_args int
195	AUE_SETRLIMIT	NOPROTO	{ int setrlimit(u_int which, \
				    struct rlimit *rlp); } setrlimit \
				    __setrlimit_args int
196	AUE_GETDIRENTRIES	STD	{ int freebsd32_getdirentries(int fd, \
				    char *buf, u_int count, int32_t *basep); }
197	AUE_MMAP	COMPAT6	{ caddr_t freebsd32_mmap(caddr_t addr, \
				    size_t len, int prot, int flags, int fd, \
				    int pad, uint32_t pos1, uint32_t pos2); }
198	AUE_NULL	NOPROTO	{ int nosys(void); } __syscall \
				    __syscall_args int
199	AUE_LSEEK	COMPAT6	{ off_t freebsd32_lseek(int fd, int pad, \
				    uint32_t offset1, uint32_t offset2, \
				    int whence); }
200	AUE_TRUNCATE	COMPAT6	{ int freebsd32_truncate(char *path, \
				    int pad, uint32_t length1, \
				    uint32_t length2); }
201	AUE_FTRUNCATE	COMPAT6	{ int freebsd32_ftruncate(int fd, int pad, \
				    uint32_t length1, uint32_t length2); }
202	AUE_SYSCTL	STD	{ int freebsd32_sysctl(int *name, \
				    u_int namelen, void *old, \
				    uint32_t *oldlenp, void *new, \
				    uint32_t newlen); }
203	AUE_MLOCK	NOPROTO	{ int mlock(const void *addr, \
				    size_t len); }
204	AUE_MUNLOCK	NOPROTO	{ int munlock(const void *addr, \
				    size_t len); }
205	AUE_UNDELETE	NOPROTO	{ int undelete(char *path); }
206	AUE_FUTIMES	STD	{ int freebsd32_futimes(int fd, \
				    struct timeval32 *tptr); }
207	AUE_GETPGID	NOPROTO	{ int getpgid(pid_t pid); }
208	AUE_NULL	UNIMPL	newreboot (NetBSD)
209	AUE_POLL	NOPROTO	{ int poll(struct pollfd *fds, u_int nfds, \
				    int timeout); }

;
; The following are reserved for loadable syscalls
;
210	AUE_NULL	NODEF|NOTSTATIC	lkmnosys lkmnosys nosys_args int
211	AUE_NULL	NODEF|NOTSTATIC	lkmnosys lkmnosys nosys_args int
212	AUE_NULL	NODEF|NOTSTATIC	lkmnosys lkmnosys nosys_args int
213	AUE_NULL	NODEF|NOTSTATIC	lkmnosys lkmnosys nosys_args int
214	AUE_NULL	NODEF|NOTSTATIC	lkmnosys lkmnosys nosys_args int
215	AUE_NULL	NODEF|NOTSTATIC	lkmnosys lkmnosys nosys_args int
216	AUE_NULL	NODEF|NOTSTATIC	lkmnosys lkmnosys nosys_args int
217	AUE_NULL	NODEF|NOTSTATIC	lkmnosys lkmnosys nosys_args int
218	AUE_NULL	NODEF|NOTSTATIC	lkmnosys lkmnosys nosys_args int
219	AUE_NULL	NODEF|NOTSTATIC	lkmnosys lkmnosys nosys_args int

;
; The following were introduced with NetBSD/4.4Lite-2
; They are initialized by their respective modules/sysinits
; XXX PROBLEM!!
220	AUE_SEMCTL	COMPAT7|NOSTD	{ int freebsd32_semctl( \
				    int semid, int semnum, \
				    int cmd, union semun32 *arg); }
221	AUE_SEMGET	NOSTD|NOPROTO	{ int semget(key_t key, int nsems, \
				    int semflg); }
222	AUE_SEMOP	NOSTD|NOPROTO	{ int semop(int semid, \
				    struct sembuf *sops, u_int nsops); }
223	AUE_NULL	UNIMPL	semconfig
224	AUE_MSGCTL	COMPAT7|NOSTD	{ int freebsd32_msgctl( \
				    int msqid, int cmd, \
				    struct msqid_ds32_old *buf); }
225	AUE_MSGGET	NOSTD|NOPROTO	{ int msgget(key_t key, int msgflg); }
226	AUE_MSGSND	NOSTD	{ int freebsd32_msgsnd(int msqid, void *msgp, \
				    size_t msgsz, int msgflg); }
227	AUE_MSGRCV	NOSTD	{ int freebsd32_msgrcv(int msqid, void *msgp, \
				    size_t msgsz, long msgtyp, int msgflg); }
228	AUE_SHMAT	NOSTD|NOPROTO	{ int shmat(int shmid, void *shmaddr, \
				    int shmflg); }
229	AUE_SHMCTL	COMPAT7|NOSTD	{ int freebsd32_shmctl( \
				    int shmid, int cmd, \
				    struct shmid_ds32_old *buf); }
230	AUE_SHMDT	NOSTD|NOPROTO	{ int shmdt(void *shmaddr); }
231	AUE_SHMGET	NOSTD|NOPROTO	{ int shmget(key_t key, int size, \
				    int shmflg); }
;
232	AUE_NULL	STD 	{ int freebsd32_clock_gettime(clockid_t clock_id, \
				    struct timespec32 *tp); }
233	AUE_CLOCK_SETTIME	STD	{ int freebsd32_clock_settime(clockid_t clock_id, \
				    const struct timespec32 *tp); }
234	AUE_NULL	STD	{ int freebsd32_clock_getres(clockid_t clock_id, \
				    struct timespec32 *tp); }
235	AUE_NULL	STD	{ int freebsd32_ktimer_create(\
				    clockid_t clock_id, \
				    struct sigevent32 *evp, int *timerid); }
236	AUE_NULL	NOPROTO	{ int ktimer_delete(int timerid); }
237	AUE_NULL	STD	{ int freebsd32_ktimer_settime(int timerid,\
				    int flags, \
				    const struct itimerspec32 *value, \
				    struct itimerspec32 *ovalue); }
238	AUE_NULL	STD	{ int freebsd32_ktimer_gettime(int timerid,\
				    struct itimerspec32 *value); }
239	AUE_NULL	NOPROTO	{ int ktimer_getoverrun(int timerid); }
240	AUE_NULL	STD	{ int freebsd32_nanosleep( \
				    const struct timespec32 *rqtp, \
				    struct timespec32 *rmtp); }
241	AUE_NULL	NOPROTO	{ int ffclock_getcounter(ffcounter *ffcount); }
242	AUE_NULL	NOPROTO	{ int ffclock_setestimate( \
				    struct ffclock_estimate *cest); }
243	AUE_NULL	NOPROTO	{ int ffclock_getestimate( \
				    struct ffclock_estimate *cest); }
244	AUE_NULL	UNIMPL	nosys
245	AUE_NULL	UNIMPL	nosys
246	AUE_NULL	UNIMPL	nosys
247	AUE_NULL	STD	{ int freebsd32_clock_getcpuclockid2(\
				    uint32_t id1, uint32_t id2,\
				    int which, clockid_t *clock_id); }
248	AUE_NULL	UNIMPL	ntp_gettime
249	AUE_NULL	UNIMPL	nosys
; syscall numbers initially used in OpenBSD
250	AUE_MINHERIT	NOPROTO	{ int minherit(void *addr, size_t len, \
				    int inherit); }
251	AUE_RFORK	NOPROTO	{ int rfork(int flags); }
252	AUE_POLL	NOPROTO	{ int openbsd_poll(struct pollfd *fds, \
				    u_int nfds, int timeout); }
253	AUE_ISSETUGID	NOPROTO	{ int issetugid(void); }
254	AUE_LCHOWN	NOPROTO	{ int lchown(char *path, int uid, int gid); }
255	AUE_NULL	STD	{ int freebsd32_aio_read( \
				    struct aiocb32 *aiocbp); }
256	AUE_NULL	STD	{ int freebsd32_aio_write( \
				    struct aiocb32 *aiocbp); }
257	AUE_NULL	STD	{ int freebsd32_lio_listio(int mode, \
				    struct aiocb32 * const *acb_list, \
				    int nent, struct sigevent32 *sig); }
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_O_GETDENTS	NOPROTO	{ int getdents(int fd, char *buf, \
				    size_t count); }
273	AUE_NULL	UNIMPL	nosys
274	AUE_LCHMOD	NOPROTO	{ int lchmod(char *path, mode_t mode); }
275	AUE_LCHOWN	NOPROTO	{ int lchown(char *path, uid_t uid, \
				    gid_t gid); } netbsd_lchown \
				    lchown_args int
276	AUE_LUTIMES	STD	{ int freebsd32_lutimes(char *path, \
				    struct timeval32 *tptr); }
277	AUE_MSYNC	NOPROTO	{ int msync(void *addr, size_t len, \
				    int flags); } netbsd_msync msync_args int
278	AUE_STAT	NOPROTO	{ int nstat(char *path, struct nstat *ub); }
279	AUE_FSTAT	NOPROTO	{ int nfstat(int fd, struct nstat *sb); }
280	AUE_LSTAT	NOPROTO	{ 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_PREADV	STD	{ ssize_t freebsd32_preadv(int fd, \
					struct iovec32 *iovp, \
					u_int iovcnt, \
					uint32_t offset1, uint32_t offset2); }
290	AUE_PWRITEV	STD	{ ssize_t freebsd32_pwritev(int fd, \
					struct iovec32 *iovp, \
					u_int iovcnt, \
					uint32_t offset1, uint32_t offset2); }
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_FHSTATFS	COMPAT4	{ int freebsd32_fhstatfs( \
				    const struct fhandle *u_fhp, \
				    struct statfs32 *buf); }
298	AUE_FHOPEN	NOPROTO	{ int fhopen(const struct fhandle *u_fhp, \
			 	    int flags); }
299	AUE_FHSTAT	NOPROTO	{ int fhstat(const struct fhandle *u_fhp, \
				    struct stat *sb); }
; syscall numbers for FreeBSD
300	AUE_NULL	NOPROTO	{ int modnext(int modid); }
301	AUE_NULL	STD	{ int freebsd32_modstat(int modid, \
				    struct module_stat32* stat); }
302	AUE_NULL	NOPROTO	{ int modfnext(int modid); }
303	AUE_NULL	NOPROTO	{ int modfind(const char *name); }
304	AUE_MODLOAD	NOPROTO	{ int kldload(const char *file); }
305	AUE_MODUNLOAD	NOPROTO	{ int kldunload(int fileid); }
306	AUE_NULL	NOPROTO	{ int kldfind(const char *file); }
307	AUE_NULL	NOPROTO	{ int kldnext(int fileid); }
308	AUE_NULL	STD	{ int freebsd32_kldstat(int fileid, \
				    struct kld32_file_stat* stat); }
309	AUE_NULL	NOPROTO	{ int kldfirstmod(int fileid); }
310	AUE_GETSID	NOPROTO	{ int getsid(pid_t pid); }
311	AUE_SETRESUID	NOPROTO	{ int setresuid(uid_t ruid, uid_t euid, \
				    uid_t suid); }
312	AUE_SETRESGID	NOPROTO	{ int setresgid(gid_t rgid, gid_t egid, \
				    gid_t sgid); }
313	AUE_NULL	OBSOL	signanosleep
314	AUE_NULL	STD	{ int freebsd32_aio_return( \
				    struct aiocb32 *aiocbp); }
315	AUE_NULL	STD	{ int freebsd32_aio_suspend( \
				    struct aiocb32 * const * aiocbp, int nent, \
				    const struct timespec32 *timeout); }
316	AUE_NULL	NOPROTO	{ int aio_cancel(int fd, \
				    struct aiocb *aiocbp); }
317	AUE_NULL	STD	{ int freebsd32_aio_error( \
				    struct aiocb32 *aiocbp); }
318	AUE_NULL	COMPAT6	{ int freebsd32_aio_read( \
				    struct oaiocb32 *aiocbp); }
319	AUE_NULL	COMPAT6	{ int freebsd32_aio_write( \
				    struct oaiocb32 *aiocbp); }
320	AUE_NULL	COMPAT6	{ int freebsd32_lio_listio(int mode, \
				    struct oaiocb32 * const *acb_list, \
				    int nent, struct osigevent32 *sig); }
321	AUE_NULL	NOPROTO	{ int yield(void); }
322	AUE_NULL	OBSOL	thr_sleep
323	AUE_NULL	OBSOL	thr_wakeup
324	AUE_MLOCKALL	NOPROTO	{ int mlockall(int how); }
325	AUE_MUNLOCKALL	NOPROTO	{ int munlockall(void); }
326	AUE_GETCWD	NOPROTO	{ int __getcwd(char *buf, u_int buflen); }

327	AUE_NULL	NOPROTO	{ int sched_setparam (pid_t pid, \
				    const struct sched_param *param); }
328	AUE_NULL	NOPROTO	{ int sched_getparam (pid_t pid, \
				    struct sched_param *param); }

329	AUE_NULL	NOPROTO	{ int sched_setscheduler (pid_t pid, \
				    int policy, \
				    const struct sched_param *param); }
330	AUE_NULL	NOPROTO	{ int sched_getscheduler (pid_t pid); }

331	AUE_NULL	NOPROTO	{ int sched_yield (void); }
332	AUE_NULL	NOPROTO	{ int sched_get_priority_max (int policy); }
333	AUE_NULL	NOPROTO	{ int sched_get_priority_min (int policy); }
334	AUE_NULL	NOPROTO	{ int sched_rr_get_interval (pid_t pid, \
				    struct timespec *interval); }
335	AUE_NULL	NOPROTO	{ int utrace(const void *addr, size_t len); }
336	AUE_SENDFILE	COMPAT4	{ int freebsd32_sendfile(int fd, int s, \
				    uint32_t offset1, uint32_t offset2, \
				    size_t nbytes, struct sf_hdtr32 *hdtr, \
				    off_t *sbytes, int flags); }
337	AUE_NULL	NOPROTO	{ int kldsym(int fileid, int cmd, \
				    void *data); }
338	AUE_JAIL	STD	{ int freebsd32_jail(struct jail32 *jail); }
339	AUE_NULL	UNIMPL	pioctl
340	AUE_SIGPROCMASK	NOPROTO	{ int sigprocmask(int how, \
				    const sigset_t *set, sigset_t *oset); }
341	AUE_SIGSUSPEND	NOPROTO	{ int sigsuspend(const sigset_t *sigmask); }
342	AUE_SIGACTION	COMPAT4	{ int freebsd32_sigaction(int sig, \
				    struct sigaction32 *act, \
				    struct sigaction32 *oact); }
343	AUE_SIGPENDING	NOPROTO	{ int sigpending(sigset_t *set); }
344	AUE_SIGRETURN	COMPAT4	{ int freebsd32_sigreturn( \
		    const struct freebsd4_freebsd32_ucontext *sigcntxp); }
345	AUE_SIGWAIT	STD	{ int freebsd32_sigtimedwait(const sigset_t *set, \
				    siginfo_t *info, \
				    const struct timespec *timeout); }
346	AUE_NULL	STD	{ int freebsd32_sigwaitinfo(const sigset_t *set, \
				    siginfo_t *info); }
347	AUE_NULL	NOPROTO	{ int __acl_get_file(const char *path, \
				    acl_type_t type, struct acl *aclp); }
348	AUE_NULL	NOPROTO	{ int __acl_set_file(const char *path, \
				    acl_type_t type, struct acl *aclp); }
349	AUE_NULL	NOPROTO	{ int __acl_get_fd(int filedes, \
				    acl_type_t type, struct acl *aclp); }
350	AUE_NULL	NOPROTO	{ int __acl_set_fd(int filedes, \
				    acl_type_t type, struct acl *aclp); }
351	AUE_NULL	NOPROTO	{ int __acl_delete_file(const char *path, \
				    acl_type_t type); }
352	AUE_NULL	NOPROTO	{ int __acl_delete_fd(int filedes, \
				    acl_type_t type); }
353	AUE_NULL	NOPROTO	{ int __acl_aclcheck_file(const char *path, \
				    acl_type_t type, struct acl *aclp); }
354	AUE_NULL	NOPROTO	{ int __acl_aclcheck_fd(int filedes, \
				    acl_type_t type, struct acl *aclp); }
355	AUE_EXTATTRCTL	NOPROTO	{ int extattrctl(const char *path, int cmd, \
				    const char *filename, int attrnamespace, \
				    const char *attrname); }
356	AUE_EXTATTR_SET_FILE	NOPROTO	{ ssize_t extattr_set_file( \
				    const char *path, int attrnamespace, \
				    const char *attrname, void *data, \
				    size_t nbytes); }
357	AUE_EXTATTR_GET_FILE	NOPROTO	{ ssize_t extattr_get_file( \
				    const char *path, int attrnamespace, \
				    const char *attrname, void *data, \
				    size_t nbytes); }
358	AUE_EXTATTR_DELETE_FILE	NOPROTO	{ int extattr_delete_file( \
				    const char *path, int attrnamespace, \
				    const char *attrname); }
359	AUE_NULL	STD	{ int freebsd32_aio_waitcomplete( \
				    struct aiocb32 **aiocbp, \
				    struct timespec32 *timeout); }
360	AUE_GETRESUID	NOPROTO	{ int getresuid(uid_t *ruid, uid_t *euid, \
				    uid_t *suid); }
361	AUE_GETRESGID	NOPROTO	{ int getresgid(gid_t *rgid, gid_t *egid, \
				    gid_t *sgid); }
362	AUE_KQUEUE	NOPROTO	{ int kqueue(void); }
363	AUE_NULL	STD	{ 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	nosys
371	AUE_EXTATTR_SET_FD	NOPROTO	{ ssize_t extattr_set_fd(int fd, \
				    int attrnamespace, const char *attrname, \
				    void *data, size_t nbytes); }
372	AUE_EXTATTR_GET_FD	NOPROTO	{ ssize_t extattr_get_fd(int fd, \
				    int attrnamespace, const char *attrname, \
				    void *data, size_t nbytes); }
373	AUE_EXTATTR_DELETE_FD	NOPROTO	{ int extattr_delete_fd(int fd, \
				    int attrnamespace, \
				    const char *attrname); }
374	AUE_NULL	NOPROTO	{ int __setugid(int flag); }
375	AUE_NULL	UNIMPL	nfsclnt
376	AUE_EACCESS	NOPROTO	{ int eaccess(char *path, int amode); }
377	AUE_NULL	UNIMPL	afs_syscall
378	AUE_NMOUNT	STD	{ int freebsd32_nmount(struct iovec32 *iovp, \
				    unsigned int iovcnt, int flags); }
379	AUE_NULL	UNIMPL	kse_exit
380	AUE_NULL	UNIMPL	kse_wakeup
381	AUE_NULL	UNIMPL	kse_create
382	AUE_NULL	UNIMPL	kse_thr_interrupt
383	AUE_NULL	UNIMPL	kse_release
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	NOPROTO	{ int kenv(int what, const char *name, \
				    char *value, int len); }
391	AUE_LCHFLAGS	NOPROTO	{ int lchflags(const char *path, \
				    u_long flags); }
392	AUE_NULL	NOPROTO	{ int uuidgen(struct uuid *store, \
				    int count); }
393	AUE_SENDFILE	STD	{ int freebsd32_sendfile(int fd, int s, \
				    uint32_t offset1, uint32_t offset2, \
				    size_t nbytes, struct sf_hdtr32 *hdtr, \
				    off_t *sbytes, int flags); }
394	AUE_NULL	UNIMPL	mac_syscall
395	AUE_GETFSSTAT	NOPROTO	{ int getfsstat(struct statfs *buf, \
				    long bufsize, int flags); }
396	AUE_STATFS	NOPROTO	{ int statfs(char *path, \
				    struct statfs *buf); }
397	AUE_FSTATFS	NOPROTO	{ int fstatfs(int fd, struct statfs *buf); }
398	AUE_FHSTATFS	NOPROTO	{ int fhstatfs(const struct fhandle *u_fhp, \
				    struct statfs *buf); }
399	AUE_NULL	UNIMPL	nosys
400	AUE_NULL	NOSTD|NOPROTO	{ int ksem_close(semid_t id); }
401	AUE_NULL	NOSTD|NOPROTO	{ int ksem_post(semid_t id); }
402	AUE_NULL	NOSTD|NOPROTO	{ int ksem_wait(semid_t id); }
403	AUE_NULL	NOSTD|NOPROTO	{ int ksem_trywait(semid_t id); }
404	AUE_NULL	NOSTD	{ int freebsd32_ksem_init(semid_t *idp, \
				    unsigned int value); }
405	AUE_NULL	NOSTD	{ int freebsd32_ksem_open(semid_t *idp, \
				    const char *name, int oflag, \
				    mode_t mode, unsigned int value); }
406	AUE_NULL	NOSTD|NOPROTO	{ int ksem_unlink(const char *name); }
407	AUE_NULL	NOSTD|NOPROTO	{ int ksem_getvalue(semid_t id, \
				    int *val); }
408	AUE_NULL	NOSTD|NOPROTO	{ int ksem_destroy(semid_t id); }
409	AUE_NULL	UNIMPL	__mac_get_pid
410	AUE_NULL	UNIMPL	__mac_get_link
411	AUE_NULL	UNIMPL	__mac_set_link
412	AUE_EXTATTR_SET_LINK	NOPROTO	{ ssize_t extattr_set_link( \
				    const char *path, int attrnamespace, \
				    const char *attrname, void *data, \
				    size_t nbytes); }
413	AUE_EXTATTR_GET_LINK	NOPROTO	{ ssize_t extattr_get_link( \
				    const char *path, int attrnamespace, \
				    const char *attrname, void *data, \
				    size_t nbytes); }
414	AUE_EXTATTR_DELETE_LINK	NOPROTO	{ int extattr_delete_link( \
				    const char *path, int attrnamespace, \
				    const char *attrname); }
415	AUE_NULL	UNIMPL	__mac_execve
416	AUE_SIGACTION	STD	{ int freebsd32_sigaction(int sig, \
				    struct sigaction32 *act, \
				    struct sigaction32 *oact); }
417	AUE_SIGRETURN	STD	{ 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	STD	{ int freebsd32_getcontext( \
				    struct freebsd32_ucontext *ucp); }
422	AUE_NULL	STD	{ int freebsd32_setcontext( \
				    const struct freebsd32_ucontext *ucp); }
423	AUE_NULL	STD	{ int freebsd32_swapcontext( \
				    struct freebsd32_ucontext *oucp, \
				    const struct freebsd32_ucontext *ucp); }
424	AUE_SWAPOFF	UNIMPL	swapoff
425	AUE_NULL	NOPROTO	{ int __acl_get_link(const char *path, \
				    acl_type_t type, struct acl *aclp); }
426	AUE_NULL	NOPROTO	{ int __acl_set_link(const char *path, \
				    acl_type_t type, struct acl *aclp); }
427	AUE_NULL	NOPROTO	{ int __acl_delete_link(const char *path, \
				    acl_type_t type); }
428	AUE_NULL	NOPROTO	{ int __acl_aclcheck_link(const char *path, \
				    acl_type_t type, struct acl *aclp); }
429	AUE_SIGWAIT	NOPROTO	{ int sigwait(const sigset_t *set, \
				    int *sig); }
430	AUE_NULL	UNIMPL	thr_create;
431	AUE_NULL	NOPROTO	{ void thr_exit(long *state); }
432	AUE_NULL	NOPROTO	{ int thr_self(long *id); }
433	AUE_NULL	NOPROTO	{ int thr_kill(long id, int sig); }
434	AUE_NULL	UNIMPL	nosys
435	AUE_NULL	UNIMPL	nosys
436	AUE_NULL	NOPROTO	{ int jail_attach(int jid); }
437	AUE_EXTATTR_LIST_FD	NOPROTO	{ ssize_t extattr_list_fd(int fd, \
				    int attrnamespace, void *data, \
				    size_t nbytes); }
438	AUE_EXTATTR_LIST_FILE	NOPROTO	{ ssize_t extattr_list_file( \
				    const char *path, int attrnamespace, \
				    void *data, size_t nbytes); }
439	AUE_EXTATTR_LIST_LINK	NOPROTO	{ ssize_t extattr_list_link( \
				    const char *path, int attrnamespace, \
				    void *data, size_t nbytes); }
440	AUE_NULL	UNIMPL	kse_switchin
441	AUE_NULL	NOSTD	{ int freebsd32_ksem_timedwait(semid_t id, \
				    const struct timespec32 *abstime); }
442	AUE_NULL	STD	{ int freebsd32_thr_suspend( \
				    const struct timespec32 *timeout); }
443	AUE_NULL	NOPROTO	{ int thr_wake(long id); }
444	AUE_MODUNLOAD	NOPROTO	{ int kldunloadf(int fileid, int flags); }
445	AUE_AUDIT	NOPROTO	{ int audit(const void *record, \
				    u_int length); }
446	AUE_AUDITON	NOPROTO	{ int auditon(int cmd, void *data, \
				    u_int length); }
447	AUE_GETAUID	NOPROTO	{ int getauid(uid_t *auid); }
448	AUE_SETAUID	NOPROTO	{ int setauid(uid_t *auid); }
449	AUE_GETAUDIT	NOPROTO	{ int getaudit(struct auditinfo *auditinfo); }
450	AUE_SETAUDIT	NOPROTO	{ int setaudit(struct auditinfo *auditinfo); }
451	AUE_GETAUDIT_ADDR	NOPROTO	{ int getaudit_addr( \
				    struct auditinfo_addr *auditinfo_addr, \
				    u_int length); }
452	AUE_SETAUDIT_ADDR	NOPROTO	{ int setaudit_addr( \
				    struct auditinfo_addr *auditinfo_addr, \
				    u_int length); }
453	AUE_AUDITCTL	NOPROTO	{ int auditctl(char *path); }
454	AUE_NULL	STD	{ int freebsd32_umtx_op(void *obj, int op,\
				    u_long val, void *uaddr, \
				    void *uaddr2); }
455	AUE_NULL	STD	{ int freebsd32_thr_new(	\
				    struct thr_param32 *param,	\
				    int param_size); }
456	AUE_NULL	NOPROTO	{ int sigqueue(pid_t pid, int signum, \
				    void *value); }
457	AUE_NULL	NOSTD	{ int freebsd32_kmq_open( \
				    const char *path, int flags, mode_t mode, \
				    const struct mq_attr32 *attr); }
458	AUE_NULL	NOSTD	{ int freebsd32_kmq_setattr(int mqd, \
				    const struct mq_attr32 *attr,	\
				    struct mq_attr32 *oattr); }
459	AUE_NULL	NOSTD	{ int freebsd32_kmq_timedreceive(int mqd, \
				    char *msg_ptr, size_t msg_len,	\
				    unsigned *msg_prio,			\
				    const struct timespec32 *abs_timeout); }
460	AUE_NULL	NOSTD	{ int freebsd32_kmq_timedsend(int mqd,	\
				    const char *msg_ptr, size_t msg_len,\
				    unsigned msg_prio,			\
				    const struct timespec32 *abs_timeout);}
461	AUE_NULL	NOSTD	{ int freebsd32_kmq_notify(int mqd,	\
				    const struct sigevent32 *sigev); }
462	AUE_NULL	NOPROTO|NOSTD	{ int kmq_unlink(const char *path); }
463	AUE_NULL	NOPROTO	{ int abort2(const char *why, int nargs, void **args); }
464	AUE_NULL 	NOPROTO	{ int thr_set_name(long id, const char *name); }
465	AUE_NULL	STD	{ int freebsd32_aio_fsync(int op, \
				    struct aiocb32 *aiocbp); }
466	AUE_RTPRIO	NOPROTO	{ int rtprio_thread(int function, \
				    lwpid_t lwpid, struct rtprio *rtp); }
467	AUE_NULL	UNIMPL	nosys
468	AUE_NULL	UNIMPL	nosys
469	AUE_NULL	UNIMPL	__getpath_fromfd
470	AUE_NULL	UNIMPL	__getpath_fromaddr
471	AUE_NULL	NOPROTO|NOSTD	{ int sctp_peeloff(int sd, uint32_t name); }
472	AUE_NULL	NOPROTO|NOSTD	{ int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, \
				    caddr_t to, __socklen_t tolen, \
				    struct sctp_sndrcvinfo *sinfo, int flags); }
473	AUE_NULL	NOPROTO|NOSTD	{ int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, \
				    caddr_t to, __socklen_t tolen, \
				    struct sctp_sndrcvinfo *sinfo, int flags); }
474	AUE_NULL	NOPROTO|NOSTD	{ int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, \
				    struct sockaddr * from, __socklen_t *fromlenaddr, \
				    struct sctp_sndrcvinfo *sinfo, int *msg_flags); }
#ifdef PAD64_REQUIRED
475	AUE_PREAD	STD	{ ssize_t freebsd32_pread(int fd, \
				    void *buf,size_t nbyte, \
				    int pad, \
				    uint32_t offset1, uint32_t offset2); }
476	AUE_PWRITE	STD	{ ssize_t freebsd32_pwrite(int fd, \
				    const void *buf, size_t nbyte, \
				    int pad, \
				    uint32_t offset1, uint32_t offset2); }
477	AUE_MMAP	STD 	{ caddr_t freebsd32_mmap(caddr_t addr, \
				    size_t len, int prot, int flags, int fd, \
				    int pad, \
				    uint32_t pos1, uint32_t pos2); }
478	AUE_LSEEK	STD	{ off_t freebsd32_lseek(int fd, \
				    int pad, \
				    uint32_t offset1, uint32_t offset2, \
				    int whence); }
479	AUE_TRUNCATE	STD	{ int freebsd32_truncate(char *path, \
				    int pad, \
				    uint32_t length1, uint32_t length2); }
480	AUE_FTRUNCATE	STD	{ int freebsd32_ftruncate(int fd, \
				    int pad, \
				    uint32_t length1, uint32_t length2); }
#else
475	AUE_PREAD	STD	{ ssize_t freebsd32_pread(int fd, \
				    void *buf,size_t nbyte, \
				    uint32_t offset1, uint32_t offset2); }
476	AUE_PWRITE	STD	{ ssize_t freebsd32_pwrite(int fd, \
				    const void *buf, size_t nbyte, \
				    uint32_t offset1, uint32_t offset2); }
477	AUE_MMAP	STD 	{ caddr_t freebsd32_mmap(caddr_t addr, \
				    size_t len, int prot, int flags, int fd, \
				    uint32_t pos1, uint32_t pos2); }
478	AUE_LSEEK	STD	{ off_t freebsd32_lseek(int fd, \
				    uint32_t offset1, uint32_t offset2, \
				    int whence); }
479	AUE_TRUNCATE	STD	{ int freebsd32_truncate(char *path, \
				    uint32_t length1, uint32_t length2); }
480	AUE_FTRUNCATE	STD	{ int freebsd32_ftruncate(int fd, \
				    uint32_t length1, uint32_t length2); }
#endif
481	AUE_KILL	NOPROTO	{ int thr_kill2(pid_t pid, long id, int sig); }
482	AUE_SHMOPEN	NOPROTO	{ int shm_open(const char *path, int flags, \
				    mode_t mode); }
483	AUE_SHMUNLINK	NOPROTO	{ int shm_unlink(const char *path); }
484	AUE_NULL	NOPROTO	{ int cpuset(cpusetid_t *setid); }
#ifdef PAD64_REQUIRED
485	AUE_NULL	STD	{ int freebsd32_cpuset_setid(cpuwhich_t which, \
				    int pad, \
				    uint32_t id1, uint32_t id2, \
				    cpusetid_t setid); }
#else
485	AUE_NULL	STD	{ int freebsd32_cpuset_setid(cpuwhich_t which, \
				    uint32_t id1, uint32_t id2, \
				    cpusetid_t setid); }
#endif
486	AUE_NULL	STD	{ int freebsd32_cpuset_getid(cpulevel_t level, \
				    cpuwhich_t which, \
				    uint32_t id1, uint32_t id2, \
				    cpusetid_t *setid); }
487	AUE_NULL	STD	{ int freebsd32_cpuset_getaffinity( \
				    cpulevel_t level, cpuwhich_t which, \
				    uint32_t id1, uint32_t id2, \
				    size_t cpusetsize, \
				    cpuset_t *mask); }
488	AUE_NULL	STD	{ int freebsd32_cpuset_setaffinity( \
				    cpulevel_t level, cpuwhich_t which, \
				    uint32_t id1, uint32_t id2, \
				    size_t cpusetsize, \
				    const cpuset_t *mask); }
489	AUE_FACCESSAT	NOPROTO	{ int faccessat(int fd, char *path, int amode, \
				    int flag); }
490	AUE_FCHMODAT	NOPROTO	{ int fchmodat(int fd, const char *path, \
				    mode_t mode, int flag); }
491	AUE_FCHOWNAT	NOPROTO	{ int fchownat(int fd, char *path, uid_t uid, \
				    gid_t gid, int flag); }
492	AUE_FEXECVE	STD	{ int freebsd32_fexecve(int fd, \
				    uint32_t *argv, uint32_t *envv); }
493	AUE_FSTATAT	STD	{ int freebsd32_fstatat(int fd, char *path, \
				    struct stat *buf, int flag); }
494	AUE_FUTIMESAT	STD	{ int freebsd32_futimesat(int fd, char *path, \
				    struct timeval *times); }
495	AUE_LINKAT	NOPROTO	{ int linkat(int fd1, char *path1, int fd2, \
				    char *path2, int flag); }
496	AUE_MKDIRAT	NOPROTO	{ int mkdirat(int fd, char *path, \
				    mode_t mode); }
497	AUE_MKFIFOAT	NOPROTO	{ int mkfifoat(int fd, char *path, \
				    mode_t mode); }
498	AUE_MKNODAT	NOPROTO	{ int mknodat(int fd, char *path, \
				    mode_t mode, dev_t dev); }
499	AUE_OPENAT_RWTC	NOPROTO	{ int openat(int fd, char *path, int flag, \
				    mode_t mode); }
500	AUE_READLINKAT	NOPROTO	{ int readlinkat(int fd, char *path, char *buf, \
				    size_t bufsize); }
501	AUE_RENAMEAT	NOPROTO	{ int renameat(int oldfd, char *old, int newfd, \
				    const char *new); }
502	AUE_SYMLINKAT	NOPROTO	{ int symlinkat(char *path1, int fd, \
				    char *path2); }
503	AUE_UNLINKAT	NOPROTO	{ int unlinkat(int fd, char *path, \
				    int flag); }
504	AUE_POSIX_OPENPT	NOPROTO	{ int posix_openpt(int flags); }
; 505 is initialised by the kgssapi code, if present.
505	AUE_NULL	UNIMPL	gssd_syscall
506	AUE_NULL	STD	{ int freebsd32_jail_get(struct iovec32 *iovp, \
				    unsigned int iovcnt, int flags); }
507	AUE_NULL	STD	{ int freebsd32_jail_set(struct iovec32 *iovp, \
				    unsigned int iovcnt, int flags); }
508	AUE_NULL	NOPROTO	{ int jail_remove(int jid); }
509	AUE_CLOSEFROM	NOPROTO	{ int closefrom(int lowfd); }
510	AUE_SEMCTL	NOSTD { int freebsd32_semctl(int semid, int semnum, \
				    int cmd, union semun32 *arg); }
511	AUE_MSGCTL	NOSTD	{ int freebsd32_msgctl(int msqid, int cmd, \
				    struct msqid_ds32 *buf); }
512	AUE_SHMCTL	NOSTD	{ int freebsd32_shmctl(int shmid, int cmd, \
				    struct shmid_ds32 *buf); }
513	AUE_LPATHCONF	NOPROTO	{ int lpathconf(char *path, int name); }
514	AUE_NULL	OBSOL	cap_new
515	AUE_CAP_RIGHTS_GET	NOPROTO	{ int __cap_rights_get(int version, \
				    int fd, cap_rights_t *rightsp); }
516	AUE_CAP_ENTER	STD	{ int freebsd32_cap_enter(void); }
517	AUE_CAP_GETMODE	NOPROTO	{ int cap_getmode(u_int *modep); }
518	AUE_PDFORK	NOPROTO	{ int pdfork(int *fdp, int flags); }
519	AUE_PDKILL	NOPROTO	{ int pdkill(int fd, int signum); }
520	AUE_PDGETPID	NOPROTO	{ int pdgetpid(int fd, pid_t *pidp); }
521	AUE_PDWAIT	UNIMPL	pdwait4
522	AUE_SELECT	STD	{ int freebsd32_pselect(int nd, fd_set *in, \
				    fd_set *ou, fd_set *ex, \
				    const struct timespec32 *ts, \
				    const sigset_t *sm); }
523	AUE_NULL	NOPROTO	{ int getloginclass(char *namebuf, \
				    size_t namelen); }
524	AUE_NULL	NOPROTO	{ int setloginclass(const char *namebuf); }
525	AUE_NULL	NOPROTO	{ int rctl_get_racct(const void *inbufp, \
				    size_t inbuflen, void *outbufp, \
				    size_t outbuflen); }
526	AUE_NULL	NOPROTO	{ int rctl_get_rules(const void *inbufp, \
				    size_t inbuflen, void *outbufp, \
				    size_t outbuflen); }
527	AUE_NULL	NOPROTO	{ int rctl_get_limits(const void *inbufp, \
				    size_t inbuflen, void *outbufp, \
				    size_t outbuflen); }
528	AUE_NULL	NOPROTO	{ int rctl_add_rule(const void *inbufp, \
				    size_t inbuflen, void *outbufp, \
				    size_t outbuflen); }
529	AUE_NULL	NOPROTO	{ int rctl_remove_rule(const void *inbufp, \
				    size_t inbuflen, void *outbufp, \
				    size_t outbuflen); }
#ifdef PAD64_REQUIRED
530	AUE_NULL	STD	{ int freebsd32_posix_fallocate(int fd, \
				    int pad, \
				    uint32_t offset1, uint32_t offset2,\
				    uint32_t len1, uint32_t len2); }
531	AUE_NULL	STD	{ int freebsd32_posix_fadvise(int fd, \
				    int pad, \
				    uint32_t offset1, uint32_t offset2,\
				    uint32_t len1, uint32_t len2, \
				    int advice); }
532	AUE_WAIT6	STD	{ int freebsd32_wait6(int idtype, int pad, \
				    uint32_t id1, uint32_t id2, \
				    int *status, int options, \
				    struct wrusage32 *wrusage, \
				    siginfo_t *info); }
#else
530	AUE_NULL	STD	{ int freebsd32_posix_fallocate(int fd,\
				    uint32_t offset1, uint32_t offset2,\
				    uint32_t len1, uint32_t len2); }
531	AUE_NULL	STD	{ int freebsd32_posix_fadvise(int fd, \
				    uint32_t offset1, uint32_t offset2,\
				    uint32_t len1, uint32_t len2, \
				    int advice); }
532	AUE_WAIT6	STD	{ int freebsd32_wait6(int idtype, \
				    uint32_t id1, uint32_t id2, \
				    int *status, int options, \
				    struct wrusage32 *wrusage, \
				    siginfo_t *info); }
#endif
533	AUE_CAP_RIGHTS_LIMIT	NOPROTO	{ \
				    int cap_rights_limit(int fd, \
				    cap_rights_t *rightsp); }
534	AUE_CAP_IOCTLS_LIMIT	STD	{ \
				    int freebsd32_cap_ioctls_limit(int fd, \
				    const uint32_t *cmds, size_t ncmds); }
535	AUE_CAP_IOCTLS_GET	STD	{ \
				    ssize_t freebsd32_cap_ioctls_get(int fd, \
				    uint32_t *cmds, size_t maxcmds); }
536	AUE_CAP_FCNTLS_LIMIT	NOPROTO	{ int cap_fcntls_limit(int fd, \
				    uint32_t fcntlrights); }
537	AUE_CAP_FCNTLS_GET	NOPROTO	{ int cap_fcntls_get(int fd, \
				    uint32_t *fcntlrightsp); }
538	AUE_BINDAT	NOPROTO	{ int bindat(int fd, int s, caddr_t name, \
				    int namelen); }
539	AUE_CONNECTAT	NOPROTO	{ int connectat(int fd, int s, caddr_t name, \
				    int namelen); }
540	AUE_CHFLAGSAT	NOPROTO	{ int chflagsat(int fd, const char *path, \
				    u_long flags, int atflag); }
541	AUE_ACCEPT	NOPROTO	{ int accept4(int s, \
				    struct sockaddr * __restrict name, \
				    __socklen_t * __restrict anamelen, \
				    int flags); }
542	AUE_PIPE	NOPROTO	{ int pipe2(int *fildes, int flags); }
543	AUE_NULL	STD	{ int freebsd32_aio_mlock( \
				    struct aiocb32 *aiocbp); }
#ifdef PAD64_REQUIRED
544	AUE_NULL	STD	{ int freebsd32_procctl(int idtype, int pad, \
				    uint32_t id1, uint32_t id2, int com, \
				    void *data); }
#else
544	AUE_NULL	STD	{ int freebsd32_procctl(int idtype, \
				    uint32_t id1, uint32_t id2, int com, \
				    void *data); }
#endif
545	AUE_POLL	STD	{ int freebsd32_ppoll(struct pollfd *fds, \
				    u_int nfds, const struct timespec32 *ts, \
				    const sigset_t *set); }
546	AUE_FUTIMES	STD	{ int freebsd32_futimens(int fd, \
				    struct timespec *times); }
547	AUE_FUTIMESAT	STD	{ int freebsd32_utimensat(int fd, \
				    char *path, \
				    struct timespec *times, int flag); }
548	AUE_NULL	NOPROTO	{ int numa_getaffinity(cpuwhich_t which, \
				    id_t id, \
				    struct vm_domain_policy *policy); }
549	AUE_NULL	NOPROTO	{ int numa_setaffinity(cpuwhich_t which, \
				    id_t id, \
				    const struct vm_domain_policy *policy); }