Changeset View
Changeset View
Standalone View
Standalone View
sys/kern/syscalls.master
Show All 26 Lines | |||||||||||||
; COMPAT included on COMPAT #ifdef | ; COMPAT included on COMPAT #ifdef | ||||||||||||
; COMPAT4 included on COMPAT_FREEBSD4 #ifdef (FreeBSD 4 compat) | ; COMPAT4 included on COMPAT_FREEBSD4 #ifdef (FreeBSD 4 compat) | ||||||||||||
; COMPAT6 included on COMPAT_FREEBSD6 #ifdef (FreeBSD 6 compat) | ; COMPAT6 included on COMPAT_FREEBSD6 #ifdef (FreeBSD 6 compat) | ||||||||||||
; COMPAT7 included on COMPAT_FREEBSD7 #ifdef (FreeBSD 7 compat) | ; COMPAT7 included on COMPAT_FREEBSD7 #ifdef (FreeBSD 7 compat) | ||||||||||||
; COMPAT10 included on COMPAT_FREEBSD10 #ifdef (FreeBSD 10 compat) | ; COMPAT10 included on COMPAT_FREEBSD10 #ifdef (FreeBSD 10 compat) | ||||||||||||
; COMPAT11 included on COMPAT_FREEBSD11 #ifdef (FreeBSD 11 compat) | ; COMPAT11 included on COMPAT_FREEBSD11 #ifdef (FreeBSD 11 compat) | ||||||||||||
; COMPAT12 included on COMPAT_FREEBSD12 #ifdef (FreeBSD 12 compat) | ; COMPAT12 included on COMPAT_FREEBSD12 #ifdef (FreeBSD 12 compat) | ||||||||||||
; OBSOL obsolete, not included in system, only specifies name | ; OBSOL obsolete, not included in system, only specifies name | ||||||||||||
; UNIMPL not implemented, placeholder only | ; UNIMPL not implemented, placeholder only | ||||||||||||
kib: Might be add that use of that entries should not be committed into FreeBSD repo? | |||||||||||||
; NOSTD implemented but as a lkm that can be statically | ; NOSTD implemented but as a lkm that can be statically | ||||||||||||
; compiled in; sysent entry will be filled with lkmressys | ; compiled in; sysent entry will be filled with lkmressys | ||||||||||||
; so the SYSCALL_MODULE macro works | ; so the SYSCALL_MODULE macro works | ||||||||||||
; NOARGS same as STD except do not create structure in sys/sysproto.h | ; 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 | ; NODEF same as STD except only have the entry in the syscall table | ||||||||||||
; added. Meaning - do not create structure or function | ; added. Meaning - do not create structure or function | ||||||||||||
; prototype in sys/sysproto.h | ; prototype in sys/sysproto.h | ||||||||||||
; NOPROTO same as STD except do not create structure or | ; NOPROTO same as STD except do not create structure or | ||||||||||||
Show All 30 Lines | |||||||||||||
; sys/compat/freebsd32/syscalls.master | ; sys/compat/freebsd32/syscalls.master | ||||||||||||
; #ifdef's, etc. may be included, and are copied to the output files. | ; #ifdef's, etc. may be included, and are copied to the output files. | ||||||||||||
#include <sys/param.h> | #include <sys/param.h> | ||||||||||||
#include <sys/sysent.h> | #include <sys/sysent.h> | ||||||||||||
#include <sys/sysproto.h> | #include <sys/sysproto.h> | ||||||||||||
; Reserved/unimplemented system calls in the range 0-150 inclusive | ; New FreeBSD system calls should be added to the bottom of the file. | ||||||||||||
; are reserved for use in future Berkeley releases. | ; | ||||||||||||
; Additional system calls implemented in vendor and other | ; All gaps in the table except for the loadable syscalls range (210-219) | ||||||||||||
jhbUnsubmitted Not Done Inline ActionsI wonder if we want to be slightly more explicit? For example, I assume that OBSOL syscalls are not free for local use, but only UNIMPL noses? It might be nice if we adopted a consistent way of naming the gaps that we could use here to describe them (e.g. the loadable syscalls range all use lkmnosys which is a clear marker). It could be as simple as a new localnosys even that we could use in place of nosys and then this comment could refer to that? jhb: I wonder if we want to be slightly more explicit? For example, I assume that `OBSOL` syscalls… | |||||||||||||
; redistributions should be placed in the reserved range at the end | ; are reserved for local use. | ||||||||||||
brooksAuthorUnsubmitted Done Inline Actions
I think UNIMPL nosys is sufficiently documentary if we call it out explicitly. In practice OBSOL are likely fine for local use where people are building their own code, but I don't think we'd want to call that out. How about this text instead? brooks: I think `UNIMPL nosys` is sufficiently documentary if we call it out explicitly. In practice… | |||||||||||||
; of the current calls. | |||||||||||||
0 AUE_NULL STD { | 0 AUE_NULL STD { | ||||||||||||
int nosys(void); | int nosys(void); | ||||||||||||
} syscall nosys_args int | } syscall nosys_args int | ||||||||||||
1 AUE_EXIT STD { | 1 AUE_EXIT STD { | ||||||||||||
void sys_exit( | void sys_exit( | ||||||||||||
int rval | int rval | ||||||||||||
); | ); | ||||||||||||
▲ Show 20 Lines • Show All 487 Lines • ▼ Show 20 Lines | 89 AUE_GETDTABLESIZE STD { | ||||||||||||
int getdtablesize(void); | int getdtablesize(void); | ||||||||||||
} | } | ||||||||||||
90 AUE_DUP2 STD { | 90 AUE_DUP2 STD { | ||||||||||||
int dup2( | int dup2( | ||||||||||||
u_int from, | u_int from, | ||||||||||||
u_int to | u_int to | ||||||||||||
); | ); | ||||||||||||
} | } | ||||||||||||
91 AUE_NULL UNIMPL getdopt | 91 AUE_NULL UNIMPL nosys | ||||||||||||
92 AUE_FCNTL STD { | 92 AUE_FCNTL STD { | ||||||||||||
int fcntl( | int fcntl( | ||||||||||||
int fd, | int fd, | ||||||||||||
int cmd, | int cmd, | ||||||||||||
long arg | long arg | ||||||||||||
); | ); | ||||||||||||
} | } | ||||||||||||
; XXX should be { int fcntl(int fd, int cmd, ...); } | ; XXX should be { int fcntl(int fd, int cmd, ...); } | ||||||||||||
; but we're not ready for varargs. | ; but we're not ready for varargs. | ||||||||||||
93 AUE_SELECT STD { | 93 AUE_SELECT STD { | ||||||||||||
int select( | int select( | ||||||||||||
int nd, | int nd, | ||||||||||||
_Inout_opt_ fd_set *in, | _Inout_opt_ fd_set *in, | ||||||||||||
_Inout_opt_ fd_set *ou, | _Inout_opt_ fd_set *ou, | ||||||||||||
_Inout_opt_ fd_set *ex, | _Inout_opt_ fd_set *ex, | ||||||||||||
_In_opt_ struct timeval *tv | _In_opt_ struct timeval *tv | ||||||||||||
); | ); | ||||||||||||
} | } | ||||||||||||
94 AUE_NULL UNIMPL setdopt | 94 AUE_NULL UNIMPL nosys | ||||||||||||
95 AUE_FSYNC STD { | 95 AUE_FSYNC STD { | ||||||||||||
int fsync( | int fsync( | ||||||||||||
int fd | int fd | ||||||||||||
); | ); | ||||||||||||
} | } | ||||||||||||
96 AUE_SETPRIORITY STD { | 96 AUE_SETPRIORITY STD { | ||||||||||||
int setpriority( | int setpriority( | ||||||||||||
int which, | int which, | ||||||||||||
▲ Show 20 Lines • Show All 133 Lines • ▼ Show 20 Lines | 118 AUE_GETSOCKOPT STD { | ||||||||||||
int getsockopt( | int getsockopt( | ||||||||||||
int s, | int s, | ||||||||||||
int level, | int level, | ||||||||||||
int name, | int name, | ||||||||||||
_Out_writes_bytes_opt_(*avalsize) void *val, | _Out_writes_bytes_opt_(*avalsize) void *val, | ||||||||||||
_Inout_ int *avalsize | _Inout_ int *avalsize | ||||||||||||
); | ); | ||||||||||||
} | } | ||||||||||||
119 AUE_NULL UNIMPL resuba (BSD/OS 2.x) | 119 AUE_NULL UNIMPL nosys | ||||||||||||
120 AUE_READV STD { | 120 AUE_READV STD { | ||||||||||||
int readv( | int readv( | ||||||||||||
int fd, | int fd, | ||||||||||||
_Inout_updates_(iovcnt) struct iovec *iovp, | _Inout_updates_(iovcnt) struct iovec *iovp, | ||||||||||||
u_int iovcnt | u_int iovcnt | ||||||||||||
); | ); | ||||||||||||
} | } | ||||||||||||
121 AUE_WRITEV STD { | 121 AUE_WRITEV STD { | ||||||||||||
▲ Show 20 Lines • Show All 172 Lines • ▼ Show 20 Lines | |||||||||||||
150 AUE_GETSOCKNAME COMPAT|NOARGS { | 150 AUE_GETSOCKNAME COMPAT|NOARGS { | ||||||||||||
int getsockname( | int getsockname( | ||||||||||||
int fdec, | int fdec, | ||||||||||||
_Out_writes_bytes_(*alen) struct sockaddr *asa, | _Out_writes_bytes_(*alen) struct sockaddr *asa, | ||||||||||||
_Inout_ int *alen | _Inout_ int *alen | ||||||||||||
); | ); | ||||||||||||
} getsockname getsockname_args int | } getsockname getsockname_args int | ||||||||||||
; Syscalls 151-180 inclusive are reserved for vendor-specific | 151-153 AUE_NULL UNIMPL nosys | ||||||||||||
; 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 is initialised by the NLM code, if present. | ||||||||||||
154 AUE_NULL NOSTD { | 154 AUE_NULL NOSTD { | ||||||||||||
int nlm_syscall( | int nlm_syscall( | ||||||||||||
int debug_level, | int debug_level, | ||||||||||||
int grace_period, | int grace_period, | ||||||||||||
int addr_count, | int addr_count, | ||||||||||||
_In_reads_(addr_count) char **addrs | _In_reads_(addr_count) char **addrs | ||||||||||||
); | ); | ||||||||||||
▲ Show 20 Lines • Show All 124 Lines • ▼ Show 20 Lines | int setfib( | ||||||||||||
int fibnum | int fibnum | ||||||||||||
); | ); | ||||||||||||
} | } | ||||||||||||
176 AUE_NTP_ADJTIME STD { | 176 AUE_NTP_ADJTIME STD { | ||||||||||||
int ntp_adjtime( | int ntp_adjtime( | ||||||||||||
_Inout_ struct timex *tp | _Inout_ struct timex *tp | ||||||||||||
); | ); | ||||||||||||
} | } | ||||||||||||
177 AUE_NULL UNIMPL sfork (BSD/OS 2.x) | 177-180 AUE_NULL UNIMPL nosys | ||||||||||||
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 STD { | 181 AUE_SETGID STD { | ||||||||||||
int setgid( | int setgid( | ||||||||||||
gid_t gid | gid_t gid | ||||||||||||
); | ); | ||||||||||||
} | } | ||||||||||||
182 AUE_SETEGID STD { | 182 AUE_SETEGID STD { | ||||||||||||
int setegid( | int setegid( | ||||||||||||
gid_t egid | gid_t egid | ||||||||||||
▲ Show 20 Lines • Show All 321 Lines • ▼ Show 20 Lines | 247 AUE_NULL STD { | ||||||||||||
); | ); | ||||||||||||
} | } | ||||||||||||
248 AUE_NULL STD { | 248 AUE_NULL STD { | ||||||||||||
int ntp_gettime( | int ntp_gettime( | ||||||||||||
_Out_ struct ntptimeval *ntvp | _Out_ struct ntptimeval *ntvp | ||||||||||||
); | ); | ||||||||||||
} | } | ||||||||||||
249 AUE_NULL UNIMPL nosys | 249 AUE_NULL UNIMPL nosys | ||||||||||||
; syscall numbers initially used in OpenBSD | |||||||||||||
250 AUE_MINHERIT STD { | 250 AUE_MINHERIT STD { | ||||||||||||
int minherit( | int minherit( | ||||||||||||
_In_ void *addr, | _In_ void *addr, | ||||||||||||
size_t len, | size_t len, | ||||||||||||
int inherit | int inherit | ||||||||||||
); | ); | ||||||||||||
} | } | ||||||||||||
251 AUE_RFORK STD { | 251 AUE_RFORK STD { | ||||||||||||
▲ Show 20 Lines • Show All 766 Lines • ▼ Show 20 Lines | int sigaction( | ||||||||||||
_Out_opt_ struct sigaction *oact | _Out_opt_ struct sigaction *oact | ||||||||||||
); | ); | ||||||||||||
} | } | ||||||||||||
417 AUE_SIGRETURN STD { | 417 AUE_SIGRETURN STD { | ||||||||||||
int sigreturn( | int sigreturn( | ||||||||||||
_In_ const struct __ucontext *sigcntxp | _In_ const struct __ucontext *sigcntxp | ||||||||||||
); | ); | ||||||||||||
} | } | ||||||||||||
418 AUE_NULL UNIMPL __xstat | 418-420 AUE_NULL UNIMPL nosys | ||||||||||||
419 AUE_NULL UNIMPL __xfstat | |||||||||||||
420 AUE_NULL UNIMPL __xlstat | |||||||||||||
421 AUE_NULL STD { | 421 AUE_NULL STD { | ||||||||||||
int getcontext( | int getcontext( | ||||||||||||
_Out_ struct __ucontext *ucp | _Out_ struct __ucontext *ucp | ||||||||||||
); | ); | ||||||||||||
} | } | ||||||||||||
422 AUE_NULL STD { | 422 AUE_NULL STD { | ||||||||||||
int setcontext( | int setcontext( | ||||||||||||
_In_ const struct __ucontext *ucp | _In_ const struct __ucontext *ucp | ||||||||||||
▲ Show 20 Lines • Show All 258 Lines • ▼ Show 20 Lines | 465 AUE_AIO_FSYNC STD { | ||||||||||||
} | } | ||||||||||||
466 AUE_RTPRIO STD { | 466 AUE_RTPRIO STD { | ||||||||||||
int rtprio_thread( | int rtprio_thread( | ||||||||||||
int function, | int function, | ||||||||||||
lwpid_t lwpid, | lwpid_t lwpid, | ||||||||||||
_Inout_ struct rtprio *rtp | _Inout_ struct rtprio *rtp | ||||||||||||
); | ); | ||||||||||||
} | } | ||||||||||||
467-468 AUE_NULL UNIMPL nosys | 467-470 AUE_NULL UNIMPL nosys | ||||||||||||
469 AUE_NULL UNIMPL __getpath_fromfd | |||||||||||||
470 AUE_NULL UNIMPL __getpath_fromaddr | |||||||||||||
471 AUE_SCTP_PEELOFF NOSTD { | 471 AUE_SCTP_PEELOFF NOSTD { | ||||||||||||
int sctp_peeloff( | int sctp_peeloff( | ||||||||||||
int sd, | int sd, | ||||||||||||
uint32_t name | uint32_t name | ||||||||||||
); | ); | ||||||||||||
} | } | ||||||||||||
472 AUE_SCTP_GENERIC_SENDMSG NOSTD { | 472 AUE_SCTP_GENERIC_SENDMSG NOSTD { | ||||||||||||
int sctp_generic_sendmsg( | int sctp_generic_sendmsg( | ||||||||||||
▲ Show 20 Lines • Show All 339 Lines • ▼ Show 20 Lines | 519 AUE_PDKILL STD { | ||||||||||||
); | ); | ||||||||||||
} | } | ||||||||||||
520 AUE_PDGETPID STD { | 520 AUE_PDGETPID STD { | ||||||||||||
int pdgetpid( | int pdgetpid( | ||||||||||||
int fd, | int fd, | ||||||||||||
_Out_ pid_t *pidp | _Out_ pid_t *pidp | ||||||||||||
); | ); | ||||||||||||
} | } | ||||||||||||
521 AUE_PDWAIT UNIMPL pdwait4 | 521 AUE_PDWAIT UNIMPL nosys | ||||||||||||
jrtc27Unsubmitted Done Inline ActionsAUE_NULL? jrtc27: AUE_NULL? | |||||||||||||
522 AUE_SELECT STD { | 522 AUE_SELECT STD { | ||||||||||||
int pselect( | int pselect( | ||||||||||||
int nd, | int nd, | ||||||||||||
_Inout_opt_ fd_set *in, | _Inout_opt_ fd_set *in, | ||||||||||||
_Inout_opt_ fd_set *ou, | _Inout_opt_ fd_set *ou, | ||||||||||||
_Inout_opt_ fd_set *ex, | _Inout_opt_ fd_set *ex, | ||||||||||||
_In_opt_ const struct timespec *ts, | _In_opt_ const struct timespec *ts, | ||||||||||||
_In_opt_ const sigset_t *sm | _In_opt_ const sigset_t *sm | ||||||||||||
▲ Show 20 Lines • Show All 400 Lines • Show Last 20 Lines |
Might be add that use of that entries should not be committed into FreeBSD repo?