본문 바로가기

Programming

FreeBSD system call table

BSD 에서는 시스템콜 테이블호출시 EAX 에 시스템콜 번호를 세팅하고

나머지 인자는 전부 스택으로 전달. FreeBSD 시스템콜 테이블은 x64/x86 공용임.


execve -> 59(0x3b)


와같이 리눅스와 시스템콜 번호가 다른것들이 있음...



   60 0       AUE_NULL        STD     { int nosys(void); } syscall nosys_args int

   61 1       AUE_EXIT        STD     { void sys_exit(int rval); } exit \

   62                                     sys_exit_args void

   63 2       AUE_FORK        STD     { int fork(void); }

   64 3       AUE_NULL        STD     { ssize_t read(int fd, void *buf, \

   65                                     size_t nbyte); }

   66 4       AUE_NULL        STD     { ssize_t write(int fd, const void *buf, \

   67                                     size_t nbyte); }

   68 5       AUE_OPEN_RWTC   STD     { int open(char *path, int flags, int mode); }

   69 ; XXX should be         { int open(const char *path, int flags, ...); }

   70 ; but we're not ready for `const' or varargs.

   71 ; XXX man page says `mode_t mode'.

   72 6       AUE_CLOSE       STD     { int close(int fd); }

   73 7       AUE_WAIT4       STD     { int wait4(int pid, int *status, \

   74                                     int options, struct rusage *rusage); }

   75 8       AUE_CREAT       COMPAT  { int creat(char *path, int mode); }

   76 9       AUE_LINK        STD     { int link(char *path, char *link); }

   77 10      AUE_UNLINK      STD     { int unlink(char *path); }

   78 11      AUE_NULL        OBSOL   execv

   79 12      AUE_CHDIR       STD     { int chdir(char *path); }

   80 13      AUE_FCHDIR      STD     { int fchdir(int fd); }

   81 14      AUE_MKNOD       STD     { int mknod(char *path, int mode, int dev); }

   82 15      AUE_CHMOD       STD     { int chmod(char *path, int mode); }

   83 16      AUE_CHOWN       STD     { int chown(char *path, int uid, int gid); }

   84 17      AUE_NULL        STD     { int obreak(char *nsize); } break \

   85                                     obreak_args int

   86 18      AUE_GETFSSTAT   COMPAT4 { int getfsstat(struct ostatfs *buf, \

   87                                     long bufsize, int flags); }

   88 19      AUE_LSEEK       COMPAT  { long lseek(int fd, long offset, \

   89                                     int whence); }

   90 20      AUE_GETPID      STD     { pid_t getpid(void); }

   91 21      AUE_MOUNT       STD     { int mount(char *type, char *path, \

   92                                     int flags, caddr_t data); }

   93 ; XXX `path' should have type `const char *' but we're not ready for that.

   94 22      AUE_UMOUNT      STD     { int unmount(char *path, int flags); }

   95 23      AUE_SETUID      STD     { int setuid(uid_t uid); }

   96 24      AUE_GETUID      STD     { uid_t getuid(void); }

   97 25      AUE_GETEUID     STD     { uid_t geteuid(void); }

   98 26      AUE_PTRACE      STD     { int ptrace(int req, pid_t pid, \

   99                                     caddr_t addr, int data); }

  100 27      AUE_RECVMSG     STD     { int recvmsg(int s, struct msghdr *msg, \

  101                                     int flags); }

  102 28      AUE_SENDMSG     STD     { int sendmsg(int s, struct msghdr *msg, \

  103                                     int flags); }

  104 29      AUE_RECVFROM    STD     { int recvfrom(int s, caddr_t buf, \

  105                                     size_t len, int flags, \

  106                                     struct sockaddr * __restrict from, \

  107                                     __socklen_t * __restrict fromlenaddr); }

  108 30      AUE_ACCEPT      STD     { int accept(int s, \

  109                                     struct sockaddr * __restrict name, \

  110                                     __socklen_t * __restrict anamelen); }

  111 31      AUE_GETPEERNAME STD     { int getpeername(int fdes, \

  112                                     struct sockaddr * __restrict asa, \

  113                                     __socklen_t * __restrict alen); }

  114 32      AUE_GETSOCKNAME STD     { int getsockname(int fdes, \

  115                                     struct sockaddr * __restrict asa, \

  116                                     __socklen_t * __restrict alen); }

  117 33      AUE_ACCESS      STD     { int access(char *path, int amode); }

  118 34      AUE_CHFLAGS     STD     { int chflags(const char *path, u_long flags); }

  119 35      AUE_FCHFLAGS    STD     { int fchflags(int fd, u_long flags); }

  120 36      AUE_SYNC        STD     { int sync(void); }

  121 37      AUE_KILL        STD     { int kill(int pid, int signum); }

  122 38      AUE_STAT        COMPAT  { int stat(char *path, struct ostat *ub); }

  123 39      AUE_GETPPID     STD     { pid_t getppid(void); }

  124 40      AUE_LSTAT       COMPAT  { int lstat(char *path, struct ostat *ub); }

  125 41      AUE_DUP         STD     { int dup(u_int fd); }

  126 42      AUE_PIPE        STD     { int pipe(void); }

  127 43      AUE_GETEGID     STD     { gid_t getegid(void); }

  128 44      AUE_PROFILE     STD     { int profil(caddr_t samples, size_t size, \

  129                                     size_t offset, u_int scale); }

  130 45      AUE_KTRACE      STD     { int ktrace(const char *fname, int ops, \

  131                                     int facs, int pid); }

  132 46      AUE_SIGACTION   COMPAT  { int sigaction(int signum, \

  133                                     struct osigaction *nsa, \

  134                                     struct osigaction *osa); }

  135 47      AUE_GETGID      STD     { gid_t getgid(void); }

  136 48      AUE_SIGPROCMASK COMPAT  { int sigprocmask(int how, osigset_t mask); }

  137 ; XXX note nonstandard (bogus) calling convention - the libc stub passes

  138 ; us the mask, not a pointer to it, and we return the old mask as the

  139 ; (int) return value.

  140 49      AUE_GETLOGIN    STD     { int getlogin(char *namebuf, u_int \

  141                                     namelen); }

  142 50      AUE_SETLOGIN    STD     { int setlogin(char *namebuf); }

  143 51      AUE_ACCT        STD     { int acct(char *path); }

  144 52      AUE_SIGPENDING  COMPAT  { int sigpending(void); }

  145 53      AUE_SIGALTSTACK STD     { int sigaltstack(stack_t *ss, \

  146                                     stack_t *oss); }

  147 54      AUE_IOCTL       STD     { int ioctl(int fd, u_long com, \

  148                                     caddr_t data); }

  149 55      AUE_REBOOT      STD     { int reboot(int opt); }

  150 56      AUE_REVOKE      STD     { int revoke(char *path); }

  151 57      AUE_SYMLINK     STD     { int symlink(char *path, char *link); }

  152 58      AUE_READLINK    STD     { ssize_t readlink(char *path, char *buf, \

  153                                     size_t count); }

  154 59      AUE_EXECVE      STD     { int execve(char *fname, char **argv, \

  155                                     char **envv); }

  156 60      AUE_UMASK       STD     { int umask(int newmask); } umask umask_args \

  157                                     int

  158 61      AUE_CHROOT      STD     { int chroot(char *path); }

  159 62      AUE_FSTAT       COMPAT  { int fstat(int fd, struct ostat *sb); }

  160 63      AUE_NULL        COMPAT  { int getkerninfo(int op, char *where, \

  161                                     size_t *size, int arg); } getkerninfo \

  162                                     getkerninfo_args int

  163 64      AUE_NULL        COMPAT  { int getpagesize(void); } getpagesize \

  164                                     getpagesize_args int

  165 65      AUE_MSYNC       STD     { int msync(void *addr, size_t len, \

  166                                     int flags); }

  167 66      AUE_VFORK       STD     { int vfork(void); }

  168 67      AUE_NULL        OBSOL   vread

  169 68      AUE_NULL        OBSOL   vwrite

  170 69      AUE_SBRK        STD     { int sbrk(int incr); }

  171 70      AUE_SSTK        STD     { int sstk(int incr); }

  172 71      AUE_MMAP        COMPAT  { int mmap(void *addr, int len, int prot, \

  173                                     int flags, int fd, long pos); }

  174 72      AUE_O_VADVISE   STD     { int ovadvise(int anom); } vadvise \

  175                                     ovadvise_args int

  176 73      AUE_MUNMAP      STD     { int munmap(void *addr, size_t len); }

  177 74      AUE_MPROTECT    STD     { int mprotect(const void *addr, size_t len, \

  178                                     int prot); }

  179 75      AUE_MADVISE     STD     { int madvise(void *addr, size_t len, \

  180                                     int behav); }

  181 76      AUE_NULL        OBSOL   vhangup

  182 77      AUE_NULL        OBSOL   vlimit

  183 78      AUE_MINCORE     STD     { int mincore(const void *addr, size_t len, \

  184                                     char *vec); }

  185 79      AUE_GETGROUPS   STD     { int getgroups(u_int gidsetsize, \

  186                                     gid_t *gidset); }

  187 80      AUE_SETGROUPS   STD     { int setgroups(u_int gidsetsize, \

  188                                     gid_t *gidset); }

  189 81      AUE_GETPGRP     STD     { int getpgrp(void); }

  190 82      AUE_SETPGRP     STD     { int setpgid(int pid, int pgid); }

  191 83      AUE_SETITIMER   STD     { int setitimer(u_int which, struct \

  192                                     itimerval *itv, struct itimerval *oitv); }

  193 84      AUE_WAIT4       COMPAT  { int wait(void); }

  194 85      AUE_SWAPON      STD     { int swapon(char *name); }

  195 86      AUE_GETITIMER   STD     { int getitimer(u_int which, \

  196                                     struct itimerval *itv); }

  197 87      AUE_SYSCTL      COMPAT  { int gethostname(char *hostname, \

  198                                     u_int len); } gethostname \

  199                                     gethostname_args int

  200 88      AUE_SYSCTL      COMPAT  { int sethostname(char *hostname, \

  201                                     u_int len); } sethostname \

  202                                     sethostname_args int

  203 89      AUE_GETDTABLESIZE       STD     { int getdtablesize(void); }

  204 90      AUE_DUP2        STD     { int dup2(u_int from, u_int to); }

  205 91      AUE_NULL        UNIMPL  getdopt

  206 92      AUE_FCNTL       STD     { int fcntl(int fd, int cmd, long arg); }

  207 ; XXX should be { int fcntl(int fd, int cmd, ...); }

  208 ; but we're not ready for varargs.

  209 93      AUE_SELECT      STD     { int select(int nd, fd_set *in, fd_set *ou, \

  210                                     fd_set *ex, struct timeval *tv); }

  211 94      AUE_NULL        UNIMPL  setdopt

  212 95      AUE_FSYNC       STD     { int fsync(int fd); }

  213 96      AUE_SETPRIORITY STD     { int setpriority(int which, int who, \

  214                                     int prio); }

  215 97      AUE_SOCKET      STD     { int socket(int domain, int type, \

  216                                     int protocol); }

  217 98      AUE_CONNECT     STD     { int connect(int s, caddr_t name, \

  218                                     int namelen); }

  219 99      AUE_ACCEPT      COMPAT|NOARGS { int accept(int s, caddr_t name, \

  220                                     int *anamelen); } accept accept_args int

  221 100     AUE_GETPRIORITY STD     { int getpriority(int which, int who); }

  222 101     AUE_SEND        COMPAT  { int send(int s, caddr_t buf, int len, \

  223                                     int flags); }

  224 102     AUE_RECV        COMPAT  { int recv(int s, caddr_t buf, int len, \

  225                                     int flags); }

  226 103     AUE_SIGRETURN   COMPAT  { int sigreturn( \

  227                                     struct osigcontext *sigcntxp); }

  228 104     AUE_BIND        STD     { int bind(int s, caddr_t name, \

  229                                     int namelen); }

  230 105     AUE_SETSOCKOPT  STD     { int setsockopt(int s, int level, int name, \

  231                                     caddr_t val, int valsize); }

  232 106     AUE_LISTEN      STD     { int listen(int s, int backlog); }

  233 107     AUE_NULL        OBSOL   vtimes

  234 108     AUE_NULL        COMPAT  { int sigvec(int signum, struct sigvec *nsv, \

  235                                     struct sigvec *osv); }

  236 109     AUE_NULL        COMPAT  { int sigblock(int mask); }

  237 110     AUE_NULL        COMPAT  { int sigsetmask(int mask); }

  238 111     AUE_NULL        COMPAT  { int sigsuspend(osigset_t mask); }

  239 ; XXX note nonstandard (bogus) calling convention - the libc stub passes

  240 ; us the mask, not a pointer to it.

  241 112     AUE_NULL        COMPAT  { int sigstack(struct sigstack *nss, \

  242                                     struct sigstack *oss); }

  243 113     AUE_RECVMSG     COMPAT  { int recvmsg(int s, struct omsghdr *msg, \

  244                                     int flags); }

  245 114     AUE_SENDMSG     COMPAT  { int sendmsg(int s, caddr_t msg, \

  246                                     int flags); }

  247 115     AUE_NULL        OBSOL   vtrace

  248 116     AUE_GETTIMEOFDAY        STD     { int gettimeofday(struct timeval *tp, \

  249                                     struct timezone *tzp); }

  250 117     AUE_GETRUSAGE   STD     { int getrusage(int who, \

  251                                     struct rusage *rusage); }

  252 118     AUE_GETSOCKOPT  STD     { int getsockopt(int s, int level, int name, \

  253                                     caddr_t val, int *avalsize); }

  254 119     AUE_NULL        UNIMPL  resuba (BSD/OS 2.x)

  255 120     AUE_READV       STD     { int readv(int fd, struct iovec *iovp, \

  256                                     u_int iovcnt); }

  257 121     AUE_WRITEV      STD     { int writev(int fd, struct iovec *iovp, \

  258                                     u_int iovcnt); }

  259 122     AUE_SETTIMEOFDAY        STD     { int settimeofday(struct timeval *tv, \

  260                                     struct timezone *tzp); }

  261 123     AUE_FCHOWN      STD     { int fchown(int fd, int uid, int gid); }

  262 124     AUE_FCHMOD      STD     { int fchmod(int fd, int mode); }

  263 125     AUE_RECVFROM    COMPAT|NOARGS { int recvfrom(int s, caddr_t buf, \

  264                                     size_t len, int flags, caddr_t from, int \

  265                                     *fromlenaddr); } recvfrom recvfrom_args \

  266                                     int

  267 126     AUE_SETREUID    STD     { int setreuid(int ruid, int euid); }

  268 127     AUE_SETREGID    STD     { int setregid(int rgid, int egid); }

  269 128     AUE_RENAME      STD     { int rename(char *from, char *to); }

  270 129     AUE_TRUNCATE    COMPAT  { int truncate(char *path, long length); }

  271 130     AUE_FTRUNCATE   COMPAT  { int ftruncate(int fd, long length); }

  272 131     AUE_FLOCK       STD     { int flock(int fd, int how); }

  273 132     AUE_MKFIFO      STD     { int mkfifo(char *path, int mode); }

  274 133     AUE_SENDTO      STD     { int sendto(int s, caddr_t buf, size_t len, \

  275                                     int flags, caddr_t to, int tolen); }

  276 134     AUE_SHUTDOWN    STD     { int shutdown(int s, int how); }

  277 135     AUE_SOCKETPAIR  STD     { int socketpair(int domain, int type, \

  278                                     int protocol, int *rsv); }

  279 136     AUE_MKDIR       STD     { int mkdir(char *path, int mode); }

  280 137     AUE_RMDIR       STD     { int rmdir(char *path); }

  281 138     AUE_UTIMES      STD     { int utimes(char *path, \

  282                                     struct timeval *tptr); }

  283 139     AUE_NULL        OBSOL   4.2 sigreturn

  284 140     AUE_ADJTIME     STD     { int adjtime(struct timeval *delta, \

  285                                     struct timeval *olddelta); }

  286 141     AUE_GETPEERNAME COMPAT  { int getpeername(int fdes, caddr_t asa, \

  287                                     int *alen); }

  288 142     AUE_SYSCTL      COMPAT  { long gethostid(void); }

  289 143     AUE_SYSCTL      COMPAT  { int sethostid(long hostid); }

  290 144     AUE_GETRLIMIT   COMPAT  { int getrlimit(u_int which, struct \

  291                                     orlimit *rlp); }

  292 145     AUE_SETRLIMIT   COMPAT  { int setrlimit(u_int which, \

  293                                     struct orlimit *rlp); }

  294 146     AUE_KILLPG      COMPAT  { int killpg(int pgid, int signum); }

  295 147     AUE_SETSID      STD     { int setsid(void); }

  296 148     AUE_QUOTACTL    STD     { int quotactl(char *path, int cmd, int uid, \

  297                                     caddr_t arg); }

  298 149     AUE_O_QUOTA     COMPAT  { int quota(void); }

  299 150     AUE_GETSOCKNAME COMPAT|NOARGS { int getsockname(int fdec, \

  300                                     caddr_t asa, int *alen); } getsockname \

  301                                     getsockname_args int

  302 

  303 ; Syscalls 151-180 inclusive are reserved for vendor-specific

  304 ; system calls.  (This includes various calls added for compatibity

  305 ; with other Unix variants.)

  306 ; Some of these calls are now supported by BSD...

  307 151     AUE_NULL        UNIMPL  sem_lock (BSD/OS 2.x)

  308 152     AUE_NULL        UNIMPL  sem_wakeup (BSD/OS 2.x)

  309 153     AUE_NULL        UNIMPL  asyncdaemon (BSD/OS 2.x)

  310 ; 154 is initialised by the NLM code, if present.

  311 154     AUE_NULL        NOSTD   { int nlm_syscall(int debug_level, int grace_period, int addr_count, char **addrs); }

  312 ; 155 is initialized by the NFS code, if present.

  313 155     AUE_NFS_SVC     NOSTD   { int nfssvc(int flag, caddr_t argp); }

  314 156     AUE_GETDIRENTRIES       COMPAT  { int getdirentries(int fd, char *buf, \

  315                                     u_int count, long *basep); }

  316 157     AUE_STATFS      COMPAT4 { int statfs(char *path, \

  317                                     struct ostatfs *buf); }

  318 158     AUE_FSTATFS     COMPAT4 { int fstatfs(int fd, \

  319                                     struct ostatfs *buf); }

  320 159     AUE_NULL        UNIMPL  nosys

  321 160     AUE_LGETFH      STD     { int lgetfh(char *fname, \

  322                                     struct fhandle *fhp); }

  323 161     AUE_NFS_GETFH   STD     { int getfh(char *fname, \

  324                                     struct fhandle *fhp); }

  325 162     AUE_SYSCTL      COMPAT4 { int getdomainname(char *domainname, \

  326                                     int len); }

  327 163     AUE_SYSCTL      COMPAT4 { int setdomainname(char *domainname, \

  328                                     int len); }

  329 164     AUE_NULL        COMPAT4 { int uname(struct utsname *name); }

  330 165     AUE_SYSARCH     STD     { int sysarch(int op, char *parms); }

  331 166     AUE_RTPRIO      STD     { int rtprio(int function, pid_t pid, \

  332                                     struct rtprio *rtp); }

  333 167     AUE_NULL        UNIMPL  nosys

  334 168     AUE_NULL        UNIMPL  nosys

  335 169     AUE_SEMSYS      NOSTD   { int semsys(int which, int a2, int a3, \

  336                                     int a4, int a5); }

  337 ; XXX should be { int semsys(int which, ...); }

  338 170     AUE_MSGSYS      NOSTD   { int msgsys(int which, int a2, int a3, \

  339                                     int a4, int a5, int a6); }

  340 ; XXX should be { int msgsys(int which, ...); }

  341 171     AUE_SHMSYS      NOSTD   { int shmsys(int which, int a2, int a3, \

  342                                     int a4); }

  343 ; XXX should be { int shmsys(int which, ...); }

  344 172     AUE_NULL        UNIMPL  nosys

  345 173     AUE_PREAD       STD     { ssize_t freebsd6_pread(int fd, void *buf, \

  346                                     size_t nbyte, int pad, off_t offset); }

  347 174     AUE_PWRITE      STD     { ssize_t freebsd6_pwrite(int fd, \

  348                                     const void *buf, \

  349                                     size_t nbyte, int pad, off_t offset); }

  350 175     AUE_NULL        STD     { int setfib(int fibnum); }

  351 176     AUE_NTP_ADJTIME STD     { int ntp_adjtime(struct timex *tp); }

  352 177     AUE_NULL        UNIMPL  sfork (BSD/OS 2.x)

  353 178     AUE_NULL        UNIMPL  getdescriptor (BSD/OS 2.x)

  354 179     AUE_NULL        UNIMPL  setdescriptor (BSD/OS 2.x)

  355 180     AUE_NULL        UNIMPL  nosys

  356 

  357 ; Syscalls 181-199 are used by/reserved for BSD

  358 181     AUE_SETGID      STD     { int setgid(gid_t gid); }

  359 182     AUE_SETEGID     STD     { int setegid(gid_t egid); }

  360 183     AUE_SETEUID     STD     { int seteuid(uid_t euid); }

  361 184     AUE_NULL        UNIMPL  lfs_bmapv

  362 185     AUE_NULL        UNIMPL  lfs_markv

  363 186     AUE_NULL        UNIMPL  lfs_segclean

  364 187     AUE_NULL        UNIMPL  lfs_segwait

  365 188     AUE_STAT        STD     { int stat(char *path, struct stat *ub); }

  366 189     AUE_FSTAT       STD     { int fstat(int fd, struct stat *sb); }

  367 190     AUE_LSTAT       STD     { int lstat(char *path, struct stat *ub); }

  368 191     AUE_PATHCONF    STD     { int pathconf(char *path, int name); }

  369 192     AUE_FPATHCONF   STD     { int fpathconf(int fd, int name); }

  370 193     AUE_NULL        UNIMPL  nosys

  371 194     AUE_GETRLIMIT   STD     { int getrlimit(u_int which, \

  372                                     struct rlimit *rlp); } getrlimit \

  373                                     __getrlimit_args int

  374 195     AUE_SETRLIMIT   STD     { int setrlimit(u_int which, \

  375                                     struct rlimit *rlp); } setrlimit \

  376                                     __setrlimit_args int

  377 196     AUE_GETDIRENTRIES       STD     { int getdirentries(int fd, char *buf, \

  378                                     u_int count, long *basep); }

  379 197     AUE_MMAP        STD     { caddr_t freebsd6_mmap(caddr_t addr, \

  380                                     size_t len, int prot, int flags, int fd, \

  381                                     int pad, off_t pos); }

  382 198     AUE_NULL        NOPROTO { int nosys(void); } __syscall \

  383                                     __syscall_args int

  384 199     AUE_LSEEK       STD     { off_t freebsd6_lseek(int fd, int pad, \

  385                                     off_t offset, int whence); }

  386 200     AUE_TRUNCATE    STD     { int freebsd6_truncate(char *path, int pad, \

  387                                     off_t length); }

  388 201     AUE_FTRUNCATE   STD     { int freebsd6_ftruncate(int fd, int pad, \

  389                                     off_t length); }

  390 202     AUE_SYSCTL      STD     { int __sysctl(int *name, u_int namelen, \

  391                                     void *old, size_t *oldlenp, void *new, \

  392                                     size_t newlen); } __sysctl sysctl_args int

  393 203     AUE_MLOCK       STD     { int mlock(const void *addr, size_t len); }

  394 204     AUE_MUNLOCK     STD     { int munlock(const void *addr, size_t len); }

  395 205     AUE_UNDELETE    STD     { int undelete(char *path); }

  396 206     AUE_FUTIMES     STD     { int futimes(int fd, struct timeval *tptr); }

  397 207     AUE_GETPGID     STD     { int getpgid(pid_t pid); }

  398 208     AUE_NULL        UNIMPL  newreboot (NetBSD)

  399 209     AUE_POLL        STD     { int poll(struct pollfd *fds, u_int nfds, \

  400                                     int timeout); }

  401 

  402 ;

  403 ; The following are reserved for loadable syscalls

  404 ;

  405 210     AUE_NULL        NODEF|NOTSTATIC lkmnosys lkmnosys nosys_args int

  406 211     AUE_NULL        NODEF|NOTSTATIC lkmnosys lkmnosys nosys_args int

  407 212     AUE_NULL        NODEF|NOTSTATIC lkmnosys lkmnosys nosys_args int

  408 213     AUE_NULL        NODEF|NOTSTATIC lkmnosys lkmnosys nosys_args int

  409 214     AUE_NULL        NODEF|NOTSTATIC lkmnosys lkmnosys nosys_args int

  410 215     AUE_NULL        NODEF|NOTSTATIC lkmnosys lkmnosys nosys_args int

  411 216     AUE_NULL        NODEF|NOTSTATIC lkmnosys lkmnosys nosys_args int

  412 217     AUE_NULL        NODEF|NOTSTATIC lkmnosys lkmnosys nosys_args int

  413 218     AUE_NULL        NODEF|NOTSTATIC lkmnosys lkmnosys nosys_args int

  414 219     AUE_NULL        NODEF|NOTSTATIC lkmnosys lkmnosys nosys_args int

  415 

  416 ;

  417 ; The following were introduced with NetBSD/4.4Lite-2

  418 220     AUE_SEMCTL      COMPAT7|NOSTD { int __semctl(int semid, int semnum, \

  419                                     int cmd, union semun_old *arg); }

  420 221     AUE_SEMGET      NOSTD   { int semget(key_t key, int nsems, \

  421                                     int semflg); }

  422 222     AUE_SEMOP       NOSTD   { int semop(int semid, struct sembuf *sops, \

  423                                     size_t nsops); }

  424 223     AUE_NULL        UNIMPL  semconfig

  425 224     AUE_MSGCTL      COMPAT7|NOSTD { int msgctl(int msqid, int cmd, \

  426                                     struct msqid_ds_old *buf); }

  427 225     AUE_MSGGET      NOSTD   { int msgget(key_t key, int msgflg); }

  428 226     AUE_MSGSND      NOSTD   { int msgsnd(int msqid, const void *msgp, \

  429                                     size_t msgsz, int msgflg); }

  430 227     AUE_MSGRCV      NOSTD   { int msgrcv(int msqid, void *msgp, \

  431                                     size_t msgsz, long msgtyp, int msgflg); }

  432 228     AUE_SHMAT       NOSTD   { int shmat(int shmid, const void *shmaddr, \

  433                                     int shmflg); }

  434 229     AUE_SHMCTL      COMPAT7|NOSTD { int shmctl(int shmid, int cmd, \

  435                                     struct shmid_ds_old *buf); }

  436 230     AUE_SHMDT       NOSTD   { int shmdt(const void *shmaddr); }

  437 231     AUE_SHMGET      NOSTD   { int shmget(key_t key, size_t size, \

  438                                     int shmflg); }

  439 ;

  440 232     AUE_NULL        STD     { int clock_gettime(clockid_t clock_id, \

  441                                     struct timespec *tp); }

  442 233     AUE_CLOCK_SETTIME       STD     { int clock_settime( \

  443                                     clockid_t clock_id, \

  444                                     const struct timespec *tp); }

  445 234     AUE_NULL        STD     { int clock_getres(clockid_t clock_id, \

  446                                     struct timespec *tp); }

  447 235     AUE_NULL        STD     { int ktimer_create(clockid_t clock_id, \

  448                                     struct sigevent *evp, int *timerid); }

  449 236     AUE_NULL        STD     { int ktimer_delete(int timerid); }

  450 237     AUE_NULL        STD     { int ktimer_settime(int timerid, int flags, \

  451                                     const struct itimerspec *value, \

  452                                     struct itimerspec *ovalue); }

  453 238     AUE_NULL        STD     { int ktimer_gettime(int timerid, struct \

  454                                     itimerspec *value); }

  455 239     AUE_NULL        STD     { int ktimer_getoverrun(int timerid); }

  456 240     AUE_NULL        STD     { int nanosleep(const struct timespec *rqtp, \

  457                                     struct timespec *rmtp); }

  458 241     AUE_NULL        STD     { int ffclock_getcounter(ffcounter *ffcount); }

  459 242     AUE_NULL        STD     { int ffclock_setestimate( \

  460                                     struct ffclock_estimate *cest); }

  461 243     AUE_NULL        STD     { int ffclock_getestimate( \

  462                                     struct ffclock_estimate *cest); }

  463 244     AUE_NULL        UNIMPL  nosys

  464 245     AUE_NULL        UNIMPL  nosys

  465 246     AUE_NULL        UNIMPL  nosys

  466 247     AUE_NULL        STD     { int clock_getcpuclockid2(id_t id,\

  467                                     int which, clockid_t *clock_id); }

  468 248     AUE_NULL        STD     { int ntp_gettime(struct ntptimeval *ntvp); }

  469 249     AUE_NULL        UNIMPL  nosys

  470 ; syscall numbers initially used in OpenBSD

  471 250     AUE_MINHERIT    STD     { int minherit(void *addr, size_t len, \

  472                                     int inherit); }

  473 251     AUE_RFORK       STD     { int rfork(int flags); }

  474 252     AUE_POLL        STD     { int openbsd_poll(struct pollfd *fds, \

  475                                     u_int nfds, int timeout); }

  476 253     AUE_ISSETUGID   STD     { int issetugid(void); }

  477 254     AUE_LCHOWN      STD     { int lchown(char *path, int uid, int gid); }

  478 255     AUE_NULL        NOSTD   { int aio_read(struct aiocb *aiocbp); }

  479 256     AUE_NULL        NOSTD   { int aio_write(struct aiocb *aiocbp); }

  480 257     AUE_NULL        NOSTD   { int lio_listio(int mode, \

  481                                     struct aiocb * const *acb_list, \

  482                                     int nent, struct sigevent *sig); }

  483 258     AUE_NULL        UNIMPL  nosys

  484 259     AUE_NULL        UNIMPL  nosys

  485 260     AUE_NULL        UNIMPL  nosys

  486 261     AUE_NULL        UNIMPL  nosys

  487 262     AUE_NULL        UNIMPL  nosys

  488 263     AUE_NULL        UNIMPL  nosys

  489 264     AUE_NULL        UNIMPL  nosys

  490 265     AUE_NULL        UNIMPL  nosys

  491 266     AUE_NULL        UNIMPL  nosys

  492 267     AUE_NULL        UNIMPL  nosys

  493 268     AUE_NULL        UNIMPL  nosys

  494 269     AUE_NULL        UNIMPL  nosys

  495 270     AUE_NULL        UNIMPL  nosys

  496 271     AUE_NULL        UNIMPL  nosys

  497 272     AUE_O_GETDENTS  STD     { int getdents(int fd, char *buf, \

  498                                     size_t count); }

  499 273     AUE_NULL        UNIMPL  nosys

  500 274     AUE_LCHMOD      STD     { int lchmod(char *path, mode_t mode); }

  501 275     AUE_LCHOWN      NOPROTO { int lchown(char *path, uid_t uid, \

  502                                     gid_t gid); } netbsd_lchown lchown_args \

  503                                     int

  504 276     AUE_LUTIMES     STD     { int lutimes(char *path, \

  505                                     struct timeval *tptr); }

  506 277     AUE_MSYNC       NOPROTO { int msync(void *addr, size_t len, \

  507                                     int flags); } netbsd_msync msync_args int

  508 278     AUE_STAT        STD     { int nstat(char *path, struct nstat *ub); }

  509 279     AUE_FSTAT       STD     { int nfstat(int fd, struct nstat *sb); }

  510 280     AUE_LSTAT       STD     { int nlstat(char *path, struct nstat *ub); }

  511 281     AUE_NULL        UNIMPL  nosys

  512 282     AUE_NULL        UNIMPL  nosys

  513 283     AUE_NULL        UNIMPL  nosys

  514 284     AUE_NULL        UNIMPL  nosys

  515 285     AUE_NULL        UNIMPL  nosys

  516 286     AUE_NULL        UNIMPL  nosys

  517 287     AUE_NULL        UNIMPL  nosys

  518 288     AUE_NULL        UNIMPL  nosys

  519 ; 289 and 290 from NetBSD (OpenBSD: 267 and 268)

  520 289     AUE_PREADV      STD     { ssize_t preadv(int fd, struct iovec *iovp, \

  521                                         u_int iovcnt, off_t offset); }

  522 290     AUE_PWRITEV     STD     { ssize_t pwritev(int fd, struct iovec *iovp, \

  523                                         u_int iovcnt, off_t offset); }

  524 291     AUE_NULL        UNIMPL  nosys

  525 292     AUE_NULL        UNIMPL  nosys

  526 293     AUE_NULL        UNIMPL  nosys

  527 294     AUE_NULL        UNIMPL  nosys

  528 295     AUE_NULL        UNIMPL  nosys

  529 296     AUE_NULL        UNIMPL  nosys

  530 ; XXX 297 is 300 in NetBSD 

  531 297     AUE_FHSTATFS    COMPAT4 { int fhstatfs( \

  532                                     const struct fhandle *u_fhp, \

  533                                     struct ostatfs *buf); }

  534 298     AUE_FHOPEN      STD     { int fhopen(const struct fhandle *u_fhp, \

  535                                     int flags); }

  536 299     AUE_FHSTAT      STD     { int fhstat(const struct fhandle *u_fhp, \

  537                                     struct stat *sb); }

  538 ; syscall numbers for FreeBSD

  539 300     AUE_NULL        STD     { int modnext(int modid); }

  540 301     AUE_NULL        STD     { int modstat(int modid, \

  541                                     struct module_stat *stat); }

  542 302     AUE_NULL        STD     { int modfnext(int modid); }

  543 303     AUE_NULL        STD     { int modfind(const char *name); }

  544 304     AUE_MODLOAD     STD     { int kldload(const char *file); }

  545 305     AUE_MODUNLOAD   STD     { int kldunload(int fileid); }

  546 306     AUE_NULL        STD     { int kldfind(const char *file); }

  547 307     AUE_NULL        STD     { int kldnext(int fileid); }

  548 308     AUE_NULL        STD     { int kldstat(int fileid, struct \

  549                                     kld_file_stat* stat); }

  550 309     AUE_NULL        STD     { int kldfirstmod(int fileid); }

  551 310     AUE_GETSID      STD     { int getsid(pid_t pid); }

  552 311     AUE_SETRESUID   STD     { int setresuid(uid_t ruid, uid_t euid, \

  553                                     uid_t suid); }

  554 312     AUE_SETRESGID   STD     { int setresgid(gid_t rgid, gid_t egid, \

  555                                     gid_t sgid); }

  556 313     AUE_NULL        OBSOL   signanosleep

  557 314     AUE_NULL        NOSTD   { int aio_return(struct aiocb *aiocbp); }

  558 315     AUE_NULL        NOSTD   { int aio_suspend( \

  559                                     struct aiocb * const * aiocbp, int nent, \

  560                                     const struct timespec *timeout); }

  561 316     AUE_NULL        NOSTD   { int aio_cancel(int fd, \

  562                                     struct aiocb *aiocbp); }

  563 317     AUE_NULL        NOSTD   { int aio_error(struct aiocb *aiocbp); }

  564 318     AUE_NULL        NOSTD   { int oaio_read(struct oaiocb *aiocbp); }

  565 319     AUE_NULL        NOSTD   { int oaio_write(struct oaiocb *aiocbp); }

  566 320     AUE_NULL        NOSTD   { int olio_listio(int mode, \

  567                                     struct oaiocb * const *acb_list, \

  568                                     int nent, struct osigevent *sig); }

  569 321     AUE_NULL        STD     { int yield(void); }

  570 322     AUE_NULL        OBSOL   thr_sleep

  571 323     AUE_NULL        OBSOL   thr_wakeup

  572 324     AUE_MLOCKALL    STD     { int mlockall(int how); }

  573 325     AUE_MUNLOCKALL  STD     { int munlockall(void); }

  574 326     AUE_GETCWD      STD     { int __getcwd(u_char *buf, u_int buflen); }

  575 

  576 327     AUE_NULL        STD     { int sched_setparam (pid_t pid, \

  577                                     const struct sched_param *param); }

  578 328     AUE_NULL        STD     { int sched_getparam (pid_t pid, struct \

  579                                     sched_param *param); }

  580 

  581 329     AUE_NULL        STD     { int sched_setscheduler (pid_t pid, int \

  582                                     policy, const struct sched_param \

  583                                     *param); }

  584 330     AUE_NULL        STD     { int sched_getscheduler (pid_t pid); }

  585 

  586 331     AUE_NULL        STD     { int sched_yield (void); }

  587 332     AUE_NULL        STD     { int sched_get_priority_max (int policy); }

  588 333     AUE_NULL        STD     { int sched_get_priority_min (int policy); }

  589 334     AUE_NULL        STD     { int sched_rr_get_interval (pid_t pid, \

  590                                     struct timespec *interval); }

  591 335     AUE_NULL        STD     { int utrace(const void *addr, size_t len); }

  592 336     AUE_SENDFILE    COMPAT4 { int sendfile(int fd, int s, \

  593                                     off_t offset, size_t nbytes, \

  594                                     struct sf_hdtr *hdtr, off_t *sbytes, \

  595                                     int flags); }

  596 337     AUE_NULL        STD     { int kldsym(int fileid, int cmd, \

  597                                     void *data); }

  598 338     AUE_JAIL        STD     { int jail(struct jail *jail); }

  599 339     AUE_NULL        NOSTD|NOTSTATIC { int nnpfs_syscall(int operation, \

  600                                     char *a_pathP, int a_opcode, \

  601                                     void *a_paramsP, int a_followSymlinks); }

  602 340     AUE_SIGPROCMASK STD     { int sigprocmask(int how, \

  603                                     const sigset_t *set, sigset_t *oset); }

  604 341     AUE_SIGSUSPEND  STD     { int sigsuspend(const sigset_t *sigmask); }

  605 342     AUE_SIGACTION   COMPAT4 { int sigaction(int sig, const \

  606                                     struct sigaction *act, \

  607                                     struct sigaction *oact); }

  608 343     AUE_SIGPENDING  STD     { int sigpending(sigset_t *set); }

  609 344     AUE_SIGRETURN   COMPAT4 { int sigreturn( \

  610                                     const struct ucontext4 *sigcntxp); }

  611 345     AUE_SIGWAIT     STD     { int sigtimedwait(const sigset_t *set, \

  612                                     siginfo_t *info, \

  613                                     const struct timespec *timeout); }

  614 346     AUE_NULL        STD     { int sigwaitinfo(const sigset_t *set, \

  615                                     siginfo_t *info); }

  616 347     AUE_NULL        STD     { int __acl_get_file(const char *path, \

  617                                     acl_type_t type, struct acl *aclp); }

  618 348     AUE_NULL        STD     { int __acl_set_file(const char *path, \

  619                                     acl_type_t type, struct acl *aclp); }

  620 349     AUE_NULL        STD     { int __acl_get_fd(int filedes, \

  621                                     acl_type_t type, struct acl *aclp); }

  622 350     AUE_NULL        STD     { int __acl_set_fd(int filedes, \

  623                                     acl_type_t type, struct acl *aclp); }

  624 351     AUE_NULL        STD     { int __acl_delete_file(const char *path, \

  625                                     acl_type_t type); }

  626 352     AUE_NULL        STD     { int __acl_delete_fd(int filedes, \

  627                                     acl_type_t type); }

  628 353     AUE_NULL        STD     { int __acl_aclcheck_file(const char *path, \

  629                                     acl_type_t type, struct acl *aclp); }

  630 354     AUE_NULL        STD     { int __acl_aclcheck_fd(int filedes, \

  631                                     acl_type_t type, struct acl *aclp); }

  632 355     AUE_EXTATTRCTL  STD     { int extattrctl(const char *path, int cmd, \

  633                                     const char *filename, int attrnamespace, \

  634                                     const char *attrname); }

  635 356     AUE_EXTATTR_SET_FILE    STD     { ssize_t extattr_set_file( \

  636                                     const char *path, int attrnamespace, \

  637                                     const char *attrname, void *data, \

  638                                     size_t nbytes); }

  639 357     AUE_EXTATTR_GET_FILE    STD     { ssize_t extattr_get_file( \

  640                                     const char *path, int attrnamespace, \

  641                                     const char *attrname, void *data, \

  642                                     size_t nbytes); }

  643 358     AUE_EXTATTR_DELETE_FILE STD     { int extattr_delete_file(const char *path, \

  644                                     int attrnamespace, \

  645                                     const char *attrname); }

  646 359     AUE_NULL        NOSTD   { int aio_waitcomplete( \

  647                                     struct aiocb **aiocbp, \

  648                                     struct timespec *timeout); }

  649 360     AUE_GETRESUID   STD     { int getresuid(uid_t *ruid, uid_t *euid, \

  650                                     uid_t *suid); }

  651 361     AUE_GETRESGID   STD     { int getresgid(gid_t *rgid, gid_t *egid, \

  652                                     gid_t *sgid); }

  653 362     AUE_KQUEUE      STD     { int kqueue(void); }

  654 363     AUE_NULL        STD     { int kevent(int fd, \

  655                                     struct kevent *changelist, int nchanges, \

  656                                     struct kevent *eventlist, int nevents, \

  657                                     const struct timespec *timeout); }

  658 364     AUE_NULL        UNIMPL  __cap_get_proc

  659 365     AUE_NULL        UNIMPL  __cap_set_proc

  660 366     AUE_NULL        UNIMPL  __cap_get_fd

  661 367     AUE_NULL        UNIMPL  __cap_get_file

  662 368     AUE_NULL        UNIMPL  __cap_set_fd

  663 369     AUE_NULL        UNIMPL  __cap_set_file

  664 370     AUE_NULL        UNIMPL  nosys

  665 371     AUE_EXTATTR_SET_FD      STD     { ssize_t extattr_set_fd(int fd, \

  666                                     int attrnamespace, const char *attrname, \

  667                                     void *data, size_t nbytes); }

  668 372     AUE_EXTATTR_GET_FD      STD     { ssize_t extattr_get_fd(int fd, \

  669                                     int attrnamespace, const char *attrname, \

  670                                     void *data, size_t nbytes); }

  671 373     AUE_EXTATTR_DELETE_FD   STD     { int extattr_delete_fd(int fd, \

  672                                     int attrnamespace, \

  673                                     const char *attrname); }

  674 374     AUE_NULL        STD     { int __setugid(int flag); }

  675 375     AUE_NULL        UNIMPL  nfsclnt

  676 376     AUE_EACCESS     STD     { int eaccess(char *path, int amode); }

  677 377     AUE_NULL        NOSTD|NOTSTATIC { int afs3_syscall(long syscall, \

  678                                     long parm1, long parm2, long parm3, \

  679                                     long parm4, long parm5, long parm6); }

  680 378     AUE_NMOUNT      STD     { int nmount(struct iovec *iovp, \

  681                                     unsigned int iovcnt, int flags); }

  682 379     AUE_NULL        UNIMPL  kse_exit

  683 380     AUE_NULL        UNIMPL  kse_wakeup

  684 381     AUE_NULL        UNIMPL  kse_create

  685 382     AUE_NULL        UNIMPL  kse_thr_interrupt

  686 383     AUE_NULL        UNIMPL  kse_release

  687 384     AUE_NULL        STD     { int __mac_get_proc(struct mac *mac_p); }

  688 385     AUE_NULL        STD     { int __mac_set_proc(struct mac *mac_p); }

  689 386     AUE_NULL        STD     { int __mac_get_fd(int fd, \

  690                                     struct mac *mac_p); }

  691 387     AUE_NULL        STD     { int __mac_get_file(const char *path_p, \

  692                                     struct mac *mac_p); }

  693 388     AUE_NULL        STD     { int __mac_set_fd(int fd, \

  694                                     struct mac *mac_p); }

  695 389     AUE_NULL        STD     { int __mac_set_file(const char *path_p, \

  696                                     struct mac *mac_p); }

  697 390     AUE_NULL        STD     { int kenv(int what, const char *name, \

  698                                     char *value, int len); }

  699 391     AUE_LCHFLAGS    STD     { int lchflags(const char *path, \

  700                                     u_long flags); }

  701 392     AUE_NULL        STD     { int uuidgen(struct uuid *store, \

  702                                     int count); }

  703 393     AUE_SENDFILE    STD     { int sendfile(int fd, int s, off_t offset, \

  704                                     size_t nbytes, struct sf_hdtr *hdtr, \

  705                                     off_t *sbytes, int flags); }

  706 394     AUE_NULL        STD     { int mac_syscall(const char *policy, \

  707                                     int call, void *arg); }

  708 395     AUE_GETFSSTAT   STD     { int getfsstat(struct statfs *buf, \

  709                                     long bufsize, int flags); }

  710 396     AUE_STATFS      STD     { int statfs(char *path, \

  711                                     struct statfs *buf); }

  712 397     AUE_FSTATFS     STD     { int fstatfs(int fd, struct statfs *buf); }

  713 398     AUE_FHSTATFS    STD     { int fhstatfs(const struct fhandle *u_fhp, \

  714                                     struct statfs *buf); }

  715 399     AUE_NULL        UNIMPL  nosys

  716 400     AUE_NULL        NOSTD   { int ksem_close(semid_t id); }

  717 401     AUE_NULL        NOSTD   { int ksem_post(semid_t id); }

  718 402     AUE_NULL        NOSTD   { int ksem_wait(semid_t id); }

  719 403     AUE_NULL        NOSTD   { int ksem_trywait(semid_t id); }

  720 404     AUE_NULL        NOSTD   { int ksem_init(semid_t *idp, \

  721                                     unsigned int value); }

  722 405     AUE_NULL        NOSTD   { int ksem_open(semid_t *idp, \

  723                                     const char *name, int oflag, \

  724                                     mode_t mode, unsigned int value); }

  725 406     AUE_NULL        NOSTD   { int ksem_unlink(const char *name); }

  726 407     AUE_NULL        NOSTD   { int ksem_getvalue(semid_t id, int *val); }

  727 408     AUE_NULL        NOSTD   { int ksem_destroy(semid_t id); }

  728 409     AUE_NULL        STD     { int __mac_get_pid(pid_t pid, \

  729                                     struct mac *mac_p); }

  730 410     AUE_NULL        STD     { int __mac_get_link(const char *path_p, \

  731                                     struct mac *mac_p); }

  732 411     AUE_NULL        STD     { int __mac_set_link(const char *path_p, \

  733                                     struct mac *mac_p); }

  734 412     AUE_EXTATTR_SET_LINK    STD     { ssize_t extattr_set_link( \

  735                                     const char *path, int attrnamespace, \

  736                                     const char *attrname, void *data, \

  737                                     size_t nbytes); }

  738 413     AUE_EXTATTR_GET_LINK    STD     { ssize_t extattr_get_link( \

  739                                     const char *path, int attrnamespace, \

  740                                     const char *attrname, void *data, \

  741                                     size_t nbytes); }

  742 414     AUE_EXTATTR_DELETE_LINK STD     { int extattr_delete_link( \

  743                                     const char *path, int attrnamespace, \

  744                                     const char *attrname); }

  745 415     AUE_NULL        STD     { int __mac_execve(char *fname, char **argv, \

  746                                     char **envv, struct mac *mac_p); }

  747 416     AUE_SIGACTION   STD     { int sigaction(int sig, \

  748                                     const struct sigaction *act, \

  749                                     struct sigaction *oact); }

  750 417     AUE_SIGRETURN   STD     { int sigreturn( \

  751                                     const struct __ucontext *sigcntxp); }

  752 418     AUE_NULL        UNIMPL  __xstat

  753 419     AUE_NULL        UNIMPL  __xfstat

  754 420     AUE_NULL        UNIMPL  __xlstat

  755 421     AUE_NULL        STD     { int getcontext(struct __ucontext *ucp); }

  756 422     AUE_NULL        STD     { int setcontext( \

  757                                     const struct __ucontext *ucp); }

  758 423     AUE_NULL        STD     { int swapcontext(struct __ucontext *oucp, \

  759                                     const struct __ucontext *ucp); }

  760 424     AUE_SWAPOFF     STD     { int swapoff(const char *name); }

  761 425     AUE_NULL        STD     { int __acl_get_link(const char *path, \

  762                                     acl_type_t type, struct acl *aclp); }

  763 426     AUE_NULL        STD     { int __acl_set_link(const char *path, \

  764                                     acl_type_t type, struct acl *aclp); }

  765 427     AUE_NULL        STD     { int __acl_delete_link(const char *path, \

  766                                     acl_type_t type); }

  767 428     AUE_NULL        STD     { int __acl_aclcheck_link(const char *path, \

  768                                     acl_type_t type, struct acl *aclp); }

  769 429     AUE_SIGWAIT     STD     { int sigwait(const sigset_t *set, \

  770                                     int *sig); }

  771 430     AUE_NULL        STD     { int thr_create(ucontext_t *ctx, long *id, \

  772                                     int flags); }

  773 431     AUE_NULL        STD     { void thr_exit(long *state); }

  774 432     AUE_NULL        STD     { int thr_self(long *id); }

  775 433     AUE_NULL        STD     { int thr_kill(long id, int sig); }

  776 434     AUE_NULL        STD     { int _umtx_lock(struct umtx *umtx); }

  777 435     AUE_NULL        STD     { int _umtx_unlock(struct umtx *umtx); }

  778 436     AUE_NULL        STD     { int jail_attach(int jid); }

  779 437     AUE_EXTATTR_LIST_FD     STD     { ssize_t extattr_list_fd(int fd, \

  780                                     int attrnamespace, void *data, \

  781                                     size_t nbytes); }

  782 438     AUE_EXTATTR_LIST_FILE   STD     { ssize_t extattr_list_file( \

  783                                     const char *path, int attrnamespace, \

  784                                     void *data, size_t nbytes); }

  785 439     AUE_EXTATTR_LIST_LINK   STD     { ssize_t extattr_list_link( \

  786                                     const char *path, int attrnamespace, \

  787                                     void *data, size_t nbytes); }

  788 440     AUE_NULL        UNIMPL  kse_switchin

  789 441     AUE_NULL        NOSTD   { int ksem_timedwait(semid_t id, \

  790                                     const struct timespec *abstime); }

  791 442     AUE_NULL        STD     { int thr_suspend( \

  792                                     const struct timespec *timeout); }

  793 443     AUE_NULL        STD     { int thr_wake(long id); }

  794 444     AUE_MODUNLOAD   STD     { int kldunloadf(int fileid, int flags); }

  795 445     AUE_AUDIT       STD     { int audit(const void *record, \

  796                                     u_int length); }

  797 446     AUE_AUDITON     STD     { int auditon(int cmd, void *data, \

  798                                     u_int length); }

  799 447     AUE_GETAUID     STD     { int getauid(uid_t *auid); }

  800 448     AUE_SETAUID     STD     { int setauid(uid_t *auid); }

  801 449     AUE_GETAUDIT    STD     { int getaudit(struct auditinfo *auditinfo); }

  802 450     AUE_SETAUDIT    STD     { int setaudit(struct auditinfo *auditinfo); }

  803 451     AUE_GETAUDIT_ADDR       STD     { int getaudit_addr( \

  804                                     struct auditinfo_addr *auditinfo_addr, \

  805                                     u_int length); }

  806 452     AUE_SETAUDIT_ADDR       STD     { int setaudit_addr( \

  807                                     struct auditinfo_addr *auditinfo_addr, \

  808                                     u_int length); }

  809 453     AUE_AUDITCTL    STD     { int auditctl(char *path); }

  810 454     AUE_NULL        STD     { int _umtx_op(void *obj, int op, \

  811                                     u_long val, void *uaddr1, void *uaddr2); }

  812 455     AUE_NULL        STD     { int thr_new(struct thr_param *param, \

  813                                     int param_size); }

  814 456     AUE_NULL        STD     { int sigqueue(pid_t pid, int signum, void *value); }

  815 457     AUE_NULL        NOSTD   { int kmq_open(const char *path, int flags, \

  816                                     mode_t mode, const struct mq_attr *attr); }

  817 458     AUE_NULL        NOSTD   { int kmq_setattr(int mqd,              \

  818                                     const struct mq_attr *attr,         \

  819                                     struct mq_attr *oattr); }

  820 459     AUE_NULL        NOSTD   { int kmq_timedreceive(int mqd, \

  821                                     char *msg_ptr, size_t msg_len,      \

  822                                     unsigned *msg_prio,                 \

  823                                     const struct timespec *abs_timeout); }

  824 460     AUE_NULL        NOSTD   { int kmq_timedsend(int mqd,            \

  825                                     const char *msg_ptr, size_t msg_len,\

  826                                     unsigned msg_prio,                  \

  827                                     const struct timespec *abs_timeout);}

  828 461     AUE_NULL        NOSTD   { int kmq_notify(int mqd,               \

  829                                     const struct sigevent *sigev); }

  830 462     AUE_NULL        NOSTD   { int kmq_unlink(const char *path); }

  831 463     AUE_NULL        STD     { int abort2(const char *why, int nargs, void **args); }

  832 464     AUE_NULL        STD     { int thr_set_name(long id, const char *name); }

  833 465     AUE_NULL        NOSTD   { int aio_fsync(int op, struct aiocb *aiocbp); }

  834 466     AUE_RTPRIO      STD     { int rtprio_thread(int function, \

  835                                     lwpid_t lwpid, struct rtprio *rtp); }

  836 467     AUE_NULL        UNIMPL  nosys

  837 468     AUE_NULL        UNIMPL  nosys

  838 469     AUE_NULL        UNIMPL  __getpath_fromfd

  839 470     AUE_NULL        UNIMPL  __getpath_fromaddr

  840 471     AUE_NULL        STD     { int sctp_peeloff(int sd, uint32_t name); }

  841 472     AUE_NULL        STD    { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, \

  842                                     caddr_t to, __socklen_t tolen, \

  843                                     struct sctp_sndrcvinfo *sinfo, int flags); }

  844 473     AUE_NULL        STD    { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, \

  845                                     caddr_t to, __socklen_t tolen, \

  846                                     struct sctp_sndrcvinfo *sinfo, int flags); }

  847 474     AUE_NULL        STD    { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, \

  848                                     struct sockaddr * from, __socklen_t *fromlenaddr, \

  849                                     struct sctp_sndrcvinfo *sinfo, int *msg_flags); }

  850 475     AUE_PREAD       STD     { ssize_t pread(int fd, void *buf, \

  851                                     size_t nbyte, off_t offset); }

  852 476     AUE_PWRITE      STD     { ssize_t pwrite(int fd, const void *buf, \

  853                                     size_t nbyte, off_t offset); }

  854 477     AUE_MMAP        STD     { caddr_t mmap(caddr_t addr, size_t len, \

  855                                     int prot, int flags, int fd, off_t pos); }

  856 478     AUE_LSEEK       STD     { off_t lseek(int fd, off_t offset, \

  857                                     int whence); }

  858 479     AUE_TRUNCATE    STD     { int truncate(char *path, off_t length); }

  859 480     AUE_FTRUNCATE   STD     { int ftruncate(int fd, off_t length); }

  860 481     AUE_KILL        STD     { int thr_kill2(pid_t pid, long id, int sig); }

  861 482     AUE_SHMOPEN     STD     { int shm_open(const char *path, int flags, \

  862                                     mode_t mode); }

  863 483     AUE_SHMUNLINK   STD     { int shm_unlink(const char *path); }

  864 484     AUE_NULL        STD     { int cpuset(cpusetid_t *setid); }

  865 485     AUE_NULL        STD     { int cpuset_setid(cpuwhich_t which, id_t id, \

  866                                     cpusetid_t setid); }

  867 486     AUE_NULL        STD     { int cpuset_getid(cpulevel_t level, \

  868                                     cpuwhich_t which, id_t id, \

  869                                     cpusetid_t *setid); }

  870 487     AUE_NULL        STD     { int cpuset_getaffinity(cpulevel_t level, \

  871                                     cpuwhich_t which, id_t id, size_t cpusetsize, \

  872                                     cpuset_t *mask); }

  873 488     AUE_NULL        STD     { int cpuset_setaffinity(cpulevel_t level, \

  874                                     cpuwhich_t which, id_t id, size_t cpusetsize, \

  875                                     const cpuset_t *mask); }

  876 489     AUE_FACCESSAT   STD     { int faccessat(int fd, char *path, int amode, \

  877                                     int flag); }

  878 490     AUE_FCHMODAT    STD     { int fchmodat(int fd, char *path, mode_t mode, \

  879                                     int flag); }

  880 491     AUE_FCHOWNAT    STD     { int fchownat(int fd, char *path, uid_t uid, \

  881                                     gid_t gid, int flag); }

  882 492     AUE_FEXECVE     STD     { int fexecve(int fd, char **argv, \

  883                                     char **envv); }

  884 493     AUE_FSTATAT     STD     { int fstatat(int fd, char *path, \

  885                                     struct stat *buf, int flag); }

  886 494     AUE_FUTIMESAT   STD     { int futimesat(int fd, char *path, \

  887                                     struct timeval *times); }

  888 495     AUE_LINKAT      STD     { int linkat(int fd1, char *path1, int fd2, \

  889                                     char *path2, int flag); }

  890 496     AUE_MKDIRAT     STD     { int mkdirat(int fd, char *path, mode_t mode); }

  891 497     AUE_MKFIFOAT    STD     { int mkfifoat(int fd, char *path, mode_t mode); }

  892 498     AUE_MKNODAT     STD     { int mknodat(int fd, char *path, mode_t mode, \

  893                                     dev_t dev); }

  894 ; XXX: see the comment for open

  895 499     AUE_OPENAT_RWTC STD     { int openat(int fd, char *path, int flag, \

  896                                     mode_t mode); }

  897 500     AUE_READLINKAT  STD     { int readlinkat(int fd, char *path, char *buf, \

  898                                     size_t bufsize); }

  899 501     AUE_RENAMEAT    STD     { int renameat(int oldfd, char *old, int newfd, \

  900                                      char *new); }

  901 502     AUE_SYMLINKAT   STD     { int symlinkat(char *path1, int fd, \

  902                                      char *path2); }

  903 503     AUE_UNLINKAT    STD     { int unlinkat(int fd, char *path, int flag); }

  904 504     AUE_POSIX_OPENPT        STD     { int posix_openpt(int flags); }

  905 ; 505 is initialised by the kgssapi code, if present.

  906 505     AUE_NULL        NOSTD   { int gssd_syscall(char *path); }

  907 506     AUE_NULL        STD     { int jail_get(struct iovec *iovp, \

  908                                     unsigned int iovcnt, int flags); }

  909 507     AUE_NULL        STD     { int jail_set(struct iovec *iovp, \

  910                                     unsigned int iovcnt, int flags); }

  911 508     AUE_NULL        STD     { int jail_remove(int jid); }

  912 509     AUE_CLOSEFROM   STD     { int closefrom(int lowfd); }

  913 510     AUE_SEMCTL      NOSTD   { int __semctl(int semid, int semnum, \

  914                                     int cmd, union semun *arg); }

  915 511     AUE_MSGCTL      NOSTD   { int msgctl(int msqid, int cmd, \

  916                                     struct msqid_ds *buf); }

  917 512     AUE_SHMCTL      NOSTD   { int shmctl(int shmid, int cmd, \

  918                                     struct shmid_ds *buf); }

  919 513     AUE_LPATHCONF   STD     { int lpathconf(char *path, int name); }

  920 514     AUE_CAP_NEW     STD     { int cap_new(int fd, uint64_t rights); }

  921 515     AUE_CAP_RIGHTS_GET      STD     { int cap_rights_get(int fd, \

  922                                     uint64_t *rightsp); }

  923 516     AUE_CAP_ENTER   STD     { int cap_enter(void); }

  924 517     AUE_CAP_GETMODE STD     { int cap_getmode(u_int *modep); }

  925 518     AUE_PDFORK      STD     { int pdfork(int *fdp, int flags); }

  926 519     AUE_PDKILL      STD     { int pdkill(int fd, int signum); }

  927 520     AUE_PDGETPID    STD     { int pdgetpid(int fd, pid_t *pidp); }

  928 521     AUE_PDWAIT      UNIMPL  pdwait4

  929 522     AUE_SELECT      STD     { int pselect(int nd, fd_set *in, \

  930                                     fd_set *ou, fd_set *ex, \

  931                                     const struct timespec *ts, \

  932                                     const sigset_t *sm); }

  933 523     AUE_NULL        STD     { int getloginclass(char *namebuf, \

  934                                     size_t namelen); }

  935 524     AUE_NULL        STD     { int setloginclass(const char *namebuf); }

  936 525     AUE_NULL        STD     { int rctl_get_racct(const void *inbufp, \

  937                                     size_t inbuflen, void *outbufp, \

  938                                     size_t outbuflen); }

  939 526     AUE_NULL        STD     { int rctl_get_rules(const void *inbufp, \

  940                                     size_t inbuflen, void *outbufp, \

  941                                     size_t outbuflen); }

  942 527     AUE_NULL        STD     { int rctl_get_limits(const void *inbufp, \

  943                                     size_t inbuflen, void *outbufp, \

  944                                     size_t outbuflen); }

  945 528     AUE_NULL        STD     { int rctl_add_rule(const void *inbufp, \

  946                                     size_t inbuflen, void *outbufp, \

  947                                     size_t outbuflen); }

  948 529     AUE_NULL        STD     { int rctl_remove_rule(const void *inbufp, \

  949                                     size_t inbuflen, void *outbufp, \

  950                                     size_t outbuflen); }

  951 530     AUE_NULL        STD     { int posix_fallocate(int fd, \

  952                                     off_t offset, off_t len); }

  953 531     AUE_NULL        STD     { int posix_fadvise(int fd, off_t offset, \

  954                                     off_t len, int advice); }

  955 532     AUE_WAIT6       STD     { int wait6(int idtype, id_t id, \

  956                                     int *status, int options, \

  957                                     struct __wrusage *wrusage, \

  958                                     siginfo_t *info); }

  959 533     AUE_CAP_RIGHTS_LIMIT    STD     { int cap_rights_limit(int fd, \

  960                                             uint64_t rights); }

  961 534     AUE_CAP_IOCTLS_LIMIT    STD     { int cap_ioctls_limit(int fd, \

  962                                             const u_long *cmds, size_t ncmds); }

  963 535     AUE_CAP_IOCTLS_GET      STD     { ssize_t cap_ioctls_get(int fd, \

  964                                             u_long *cmds, size_t maxcmds); }

  965 536     AUE_CAP_FCNTLS_LIMIT    STD     { int cap_fcntls_limit(int fd, \

  966                                             uint32_t fcntlrights); }

  967 537     AUE_CAP_FCNTLS_GET      STD     { int cap_fcntls_get(int fd, \

  968                                             uint32_t *fcntlrightsp); }

  969 538     AUE_BINDAT      STD     { int bindat(int fd, int s, caddr_t name, \

  970                                     int namelen); }

  971 539     AUE_CONNECTAT   STD     { int connectat(int fd, int s, caddr_t name, \

  972                                     int namelen); }

  973 540     AUE_CHFLAGSAT   STD     { int chflagsat(int fd, const char *path, \

  974                                     u_long flags, int atflag); }

  975 541     AUE_ACCEPT      STD     { int accept4(int s, \

  976                                     struct sockaddr * __restrict name, \

  977                                     __socklen_t * __restrict anamelen, \

  978                                     int flags); }

  979 542     AUE_PIPE        STD     { int pipe2(int *fildes, int flags); }

  980 543     AUE_NULL        NOSTD   { int aio_mlock(struct aiocb *aiocbp); }

'Programming' 카테고리의 다른 글

x86 CR3 register  (0) 2013.07.10
x86 assembly 16bit prefix  (0) 2013.07.10
Kernel module compile example  (0) 2013.07.08
python RIJNDAEL encryptor/decryptor  (0) 2013.07.02
FreeBSD pkg_add package install  (0) 2013.07.01