ref: 8317e87e7b6f9a15ff41f9f7293ef46dc208d0d7
dir: /lib/sys/sys+freebsd-x64.myr/
pkg sys = type size = int64 /* spans entire address space */ type usize = uint64 /* unsigned size */ type off = int64 /* file offsets */ type intptr = uint64 /* can hold any pointer losslessly */ type time = int64 /* milliseconds since epoch */ type pid = int /* process id */ type scno = int64 /*syscall*/ type fdopt = int64 /* fd options */ type fd = int32 /* fd */ type whence = uint64 /* seek from whence */ type mprot = int64 /* memory protection */ type mopt = int64 /* memory mapping options */ type socktype = int64 /* socket type */ type sockopt = int64 /* socket option */ type sockproto = int64 /* socket protocol */ type sockfam = uint8 /* socket family */ type filemode = uint16 type filetype = uint8 type fcntlcmd = int64 type umtxop = int32 type signo = int32 type sigflags = int32 type gid = int32 type uid = int32 type ffcounter = int64 type register = int64 type lwpid = int32 type rlim = int64 type socklen = int32 type cpuwhich = int32 type id = int64 type cpulevel = int type cpusetid = int type idtype = int type acltype = int type acltag = uint32 type aclperm = uint32 type aclenttype = uint16 type aclflag = uint16 type aclpermset = int# type aclflagset = uint16# type clockid = int32 type dev = int32 type caddr = byte# type clock = union `Clockrealtime `Clockrealtime_precise `Clockrealtime_fast `Clockmonotonic `Clockmonotonic_precise `Clockmonotonic_fast `Clockuptime `Clockuptime_precise `Clockuptime_fast `Clockvirtual `Clockprof `Clocksecond ;; type kevent = struct ident : intptr /* identifier for this event */ filter : int16 /* filter for event */ flags : uint16 fflags : int32 data : intptr udata : void# /* user : opaque data identifier */ ;; type pollfd = struct fd : fd events : uint16 revents : uint16 ;; const Fdsetsize = 1024 type fdset = struct _mask : uint64[Fdsetsize/64] ;; type bintime = struct sec : time frac : uint64 ;; type mac = struct buflen : size string : byte# ;; const Aclmaxent = 254 type acl = struct maxcnt : uint cnt : uint /* Will be required e.g. to implement NFSv4.1 ACL inheritance. */ spare : int[4]; entry : aclentry[Aclmaxent]; ;; type aclentry = struct tag : acltag id : uid perm : aclperm /* NFSv4 entry type, "allow" or "deny". Unused in POSIX.1e ACLs. */ etype : aclenttype /* NFSv4 ACL inheritance. Unused in POSIX.1e ACLs. */ flags : aclflag ;; const _MC_FPFMT_NODEV : int64 = 0x10000 /* device not present or configured */ const _MC_FPFMT_XMM : int64 = 0x10002 const _MC_FPOWNED_NONE : int64 = 0x20000 /* FP state not used */ const _MC_FPOWNED_FPU : int64 = 0x20001 /* FP state came from FPU */ const _MC_FPOWNED_PCB : int64 = 0x20002 /* FP state came from PCB */ type mcontext = struct /* * The definition of mcontext must match the layout of * struct sigcontext after the sc_mask member. This is so * that we can support sigcontext and ucontext at the same * time. */ onstack : register /* XXX - sigcontext compat. */ rdi : register /* machine state (struct trapframe) */ rsi : register rdx : register rcx : register r8 : register r9 : register rax : register rbx : register rbp : register r10 : register r11 : register r12 : register r13 : register r14 : register r15 : register trapno : uint32 fs : uint16 gs : uint16 addr : register flags : uint32 es : uint16 ds : uint16 err : register rip : register cs : register rflags : register rsp : register ss : register len : int64 /* sizeof(mcontext) */ fpfmt : int64 ownedfp : int64 /* * See <machine/fpu.h> for the internals of mc_fpstate[]. */ /* FIXME: needs padding? */ fpstate : uint64[64]// __aligned(16); fsbase : register gsbase : register xfpustate : register xfpustate_len : register mc_spare : int64[4]; ;; type ucontext = struct /* * Keep the order of the first two fields. Also, * keep them the first two fields in the structure. * This way we can have a union with struct * sigcontext and ucontext. This allows us to * support them both at the same time. * note: the union is not defined, though. */ sigmask : sigset mcontext : mcontext link : ucontext# sigstack : sigstack flags : int spare : int[4] ;; type ffclock_estimate = struct update_time : bintime /* Time of last estimates update. */ update_ffcount : ffcounter /* Counter value at last update. */ leapsec_next : ffcounter /* Counter value of next leap second. */ period : uint64 /* Estimate of counter period. */ errb_abs : uint32 /* Bound on absolute clock error [ns]. */ errb_rate : uint32 /* Bound on counter rate error [ps/s]. */ status : uint32 /* Clock status. */ leapsec_total : int16 /* All leap seconds seen so far. */ leapsec : int8 /* Next leap second (in {-1,0,1}). */ ;; type sigset = struct bits : uint32[4] ;; type sigaction = struct handler : byte# /* code pointer */ flags : sigflags mask : sigset ;; type sigstack = struct sp : void# /* signal stack base */ size : size /* signal stack length */ flags : int /* SS_DISABLE and/or SS_ONSTACK */ ;; type sigevent = struct notify : int; /* Notification type */ signo : int; /* Signal number */ value : uint64 _union : uint64[8] /* FIXME: replace with actual type */ ;; type siginfo = struct signo : int /* signal number */ errno : int /* errno association */ /* * Cause of signal, one of the SI_ macros or signal-specific * values, i.e. one of the FPE_... values for SIGFPE. This * value is equivalent to the second argument to an old-style * FreeBSD signal handler. */ code : int /* signal code */ pid : pid /* sending process */ uid : uid /* sender's ruid */ status : int /* exit value */ addr : void# /* faulting instruction */ val : uint64 _spare1 : int64 /* FIXME: abi */ _spare2 : int[7] ;; type waitstatus = union `Waitfail int32 `Waitexit int32 `Waitsig int32 `Waitstop int32 ;; type timezone = struct minswest : int /* minutes west of Greenwich */ dsttime : int /* type of dst correction */ ;; type timespec = struct sec : uint64 nsec : uint64 ;; type timeval = struct sec : uint64 usec : uint64 ;; type itimerval = struct interval : timeval value : timeval ;; type itimerspec = struct interval : timespec value : timespec ;; /* * NTP daemon interface -- ntp_adjtime(2) -- used to discipline CPU clock * oscillator and control/determine status. * * Note: The offset, precision and jitter members are in microseconds if * STA_NANO is zero and nanoseconds if not. */ type timex = struct modes : uint /* clock mode bits (wo) */ offset : int64 /* time offset (ns/us) (rw) */ freq : int64 /* frequency offset (scaled PPM) (rw) */ maxerror : int64 /* maximum error (us) (rw) */ esterror : int64 /* estimated error (us) (rw) */ status : int /* clock status bits (rw) */ constant : int64 /* poll interval (log2 s) (rw) */ precision : int64 /* clock precision (ns/us) (ro) */ tolerance : int64 /* clock frequency tolerance (scaled * PPM) (ro) */ /* * following : The read-only structure members are implemented * if : only the PPS signal discipline is configured in the * kernel. are : They included in all configurations to insure * portability. */ ppsfreq : int64 /* PPS frequency (scaled PPM) (ro) */ jitter : int64 /* PPS jitter (ns/us) (ro) */ shift : int /* interval duration (s) (shift) (ro) */ stabil : int64 /* PPS stability (scaled PPM) (ro) */ jitcnt : int64 /* jitter limit exceeded (ro) */ calcnt : int64 /* calibration intervals (ro) */ errcnt : int64 /* calibration errors (ro) */ stbcnt : int64 /* stability limit exceeded (ro) */ ;; type rusage = struct utime : timeval /* user time */ stime : timeval /* system time */ maxrss : uint64 /* max resident set size*/ ixrss : uint64 /* shared text size */ idrss : uint64 /* unshared data size */ isrss : uint64 /* unshared stack size */ minflt : uint64 /* page reclaims */ majflt : uint64 /* page faults */ nswap : uint64 /* swaps */ inblock : uint64 /* block input ops */ oublock : uint64 /* block output ops */ msgsnd : uint64 /* messages sent */ msgrcv : uint64 /* messages received */ nsignals : uint64 /* signals received */ nvcsw : uint64 /* voluntary context switches */ nivcsw : uint64 /* involuntary context switches */ ;; type wrusage = struct self : rusage child : rusage ;; type rlimit = struct cur : rlim max : rlim ;; const Caprightsversion = 0 type caprights = struct rights : uint64[Caprightsversion + 2] ;; type statbuf = struct dev : uint32 ino : uint32 mode : filemode nlink : uint16 uid : uint32 gid : uint32 rdev : uint32 atime : timespec mtime : timespec ctime : timespec size : int64 blocks : int64 blksize : uint32 flags : uint32 gen : uint32 lspare : int32 birthtim : timespec ;; const Mfsnamelen = 16 /* length of type name including null */ const Mnamelen = 88 /* size of on/from name bufs */ const Statfs_version = 0x20030518 /* current version number */ type statfs = struct version : uint32 /* structure version number */ kind : uint32 /* type of filesystem */ flags : uint64 /* copy of mount exported flags */ bsize : uint64 /* filesystem fragment size */ iosize : uint64 /* optimal transfer block size */ blocks : uint64 /* total data blocks in filesystem */ bfree : uint64 /* free blocks in filesystem */ bavail : int64 /* free blocks avail to non-superuser */ files : uint64 /* total file nodes in filesystem */ ffree : int64 /* free nodes avail to non-superuser */ syncwrites : uint64 /* count of sync writes since mount */ asyncwrites : uint64 /* count of async writes since mount */ syncreads : uint64 /* count of sync reads since mount */ asyncreads : uint64 /* count of async reads since mount */ spare : uint64[10] /* unused spare */ namemax : uint32 /* maximum filename length */ owner : uid /* user that mounted the filesystem */ fsid : fsid /* filesystem id */ charspare : byte[80] /* spare string space */ fstypename : byte[Mfsnamelen] /* filesystem type name */ mntfromname : byte[Mnamelen] /* mounted filesystem */ mntonname : byte[Mnamelen] /* directory on which mounted */ ;; type fhandle = struct fsid : fsid fid : fid ;; type fsid = struct val : int32[2] ;; const Maxfidsz = 16 type fid = struct len : int16 /* length of data in bytes */ data0 : int16 /* force longword alignment */ data : byte[Maxfidsz]; /* data (variable length) */ ;; type utsname = struct system : byte[256] node : byte[256] release : byte[256] version : byte[256] machine : byte[256] ;; type inaddr = struct addr : byte[4] ;; type in6addr = struct addr : byte[16] ;; type sockaddr = struct len : byte fam : sockfam data : byte[14] /* what is the *actual* length? */ ;; type sockaddr_in = struct len : byte fam : sockfam port : uint16 addr : byte[4] zero : byte[8] ;; type sockaddr_in6 = struct len : byte fam : sockfam port : uint16 flow : uint32 addr : byte[16] scope : uint32 ;; type sockaddr_un = struct len : uint8 fam : sockfam path : byte[104] ;; type sockaddr_storage = struct len : byte fam : sockfam __pad1 : byte[6] __align : int64 __pad2 : byte[112] ;; type dirent = struct fileno : uint32 reclen : uint16 ftype : filetype namelen : uint8 name : byte[256] ;; type rtprio = struct rttype : uint16 rtprio : uint16 ;; type thrparam = struct startfn : void# /* pointer to code for thread entry */ arg : void# /* pointer argument for thread entry */ stkbase : byte# /* stack base address */ stksz : size /* size of stack */ tlsbase : byte# /* base of thread local storage */ tlssz : size /* size of tls */ tid : uint64# /* place to store new tid */ ptid : uint64# /* place to store parent tid */ flags : int32 /* flags for the thread */ rtp : rtprio# /* realtime priority */ spare : void#[3] /* padding */ ;; type iovec = struct base : byte# len : uint64 ;; const Maxcpu = 256 type cpuset = struct bits : uint64[Maxcpu/64] ;; type sched_param = struct priority : int ;; const Jailapi = 2 type jail = struct version : uint32; path : byte# hostname : byte# jailname : byte# ip4s : uint32 ip6s : uint32 ip4 : inaddr# ip6 : in6addr# ;; const Msgoob = 0x1 /* process out-of-band data */ const Msgpeek = 0x2 /* peek at incoming message */ const Msgdontroute = 0x4 /* send without using routing tables */ const Msgeor = 0x8 /* data completes record */ const Msgtrunc = 0x10 /* data discarded before delivery */ const Msgctrunc = 0x20 /* control data lost before delivery */ const Msgwaitall = 0x40 /* wait for full request or error */ const Msgnosignal = 0x20000 /* do not generate SIGPIPE on EOF */ const Msgdontwait = 0x80 /* this message should be nonblocking */ const Msgeof = 0x100 /* data completes connection */ const Msgnotification = 0x2000 /* SCTP notification */ const Msgnbio = 0x4000 /* FIONBIO mode, used by fifofs */ const Msgcompat = 0x8000 /* used in sendit() */ const Msgcmsg_cloexec = 0x40000 /* make received fds close-on-exec */ const Msgwaitforone = 0x80000 /* for recvmmsg() */ type msghdr = struct name : void# /* optional address */ namelen : int32 /* size of address */ iov : iovec /* scatter/gather array */ iovlen : int /* # elements in msg_iov */ ctl : void# /* ancillary data, see below */ ctllen : int32 /* ancillary data buffer len */ flags : int /* flags on received message */ ;; type sf_hdtr = struct hdr : iovec# hdrcnt : int trl : iovec# trlcnt : int ;; type aiocb = struct fildes : int /* File descriptor */ offset : off /* File offset for I/O */ buf : void# /* I/O buffer in process space */ nbytes : size /* Number of bytes for I/O */ __spare__ : int[2] __spare2__ : void# lio_opcode : int /* LIO opcode */ reqprio : int /* Request priority -- ignored */ _aiocb_private : __aiocb_private sigevent : sigevent /* Signal to deliver */ ;; type __aiocb_private = struct status : int64 error : int64 kinfo : void# ;; const _Uuidnodesz = 6 type uuid = struct time_low : uint32 time_mid : uint16 time_hi_and_version : uint16 clock_seq_hi_and_reserved : uint8 clock_seq_low : uint8 node : uint8[_Uuidnodesz]; ;; /* open options */ const Ordonly : fdopt = 0x0 const Owronly : fdopt = 0x1 const Ordwr : fdopt = 0x2 const Oappend : fdopt = 0x8 const Ocreat : fdopt = 0x200 const Onofollow : fdopt = 0x100 const Ondelay : fdopt = 0x4 const Otrunc : fdopt = 0x400 const Odir : fdopt = 0x20000 const Oshlock : fdopt = 0x0010 /* open with shared file lock */ const Oexlock : fdopt = 0x0020 /* open with exclusive file lock */ const Oasync : fdopt = 0x0040 /* signal pgrp when data ready */ const Ofsync : fdopt = 0x0080 /* synchronous writes */ const Oexcl : fdopt = 0x0800 /* error if already exists */ const Ocloexec : fdopt = 0x00100000 /* stat modes */ const Sifmt : filemode = 0xf000 const Sififo : filemode = 0x1000 const Sifchr : filemode = 0x2000 const Sifdir : filemode = 0x4000 const Sifblk : filemode = 0x6000 const Sifreg : filemode = 0x8000 const Siflnk : filemode = 0xa000 const Sifsock : filemode = 0xc000 /* mmap protection */ const Mprotnone : mprot = 0x0 const Mprotrd : mprot = 0x1 const Mprotwr : mprot = 0x2 const Mprotexec : mprot = 0x4 const Mprotrw : mprot = 0x3 /* mmap options */ const Mshared : mopt = 0x1 const Mpriv : mopt = 0x2 const Mfixed : mopt = 0x10 const Mfile : mopt = 0x0 const Manon : mopt = 0x1000 const M32bit : mopt = 0x80000 /* file types */ const Dtunknown : filetype = 0 const Dtfifo : filetype = 1 const Dtchr : filetype = 2 const Dtdir : filetype = 4 const Dtblk : filetype = 6 const Dtreg : filetype = 8 const Dtlnk : filetype = 10 const Dtsock : filetype = 12 const Dtwht : filetype = 14 /* socket families. INCOMPLETE. */ const Afunspec : sockfam = 0 const Afunix : sockfam = 1 const Afinet : sockfam = 2 const Afinet6 : sockfam = 28 /* socket types. */ const Sockstream : socktype = 1 const Sockdgram : socktype = 2 const Sockraw : socktype = 3 const Sockrdm : socktype = 4 const Sockseqpacket : socktype = 5 /* socket options */ const Sodebug : sockopt = 0x0001 /* turn on debugging info recording */ const Soacceptconn : sockopt = 0x0002 /* socket has had listen() */ const Soreuseaddr : sockopt = 0x0004 /* allow local address reuse */ const Sokeepalive : sockopt = 0x0008 /* keep connections alive */ const Sodontroute : sockopt = 0x0010 /* just use interface addresses */ const Sobroadcast : sockopt = 0x0020 /* permit sending of broadcast msgs */ const Souseloopback : sockopt = 0x0040 /* bypass hardware when possible */ const Solinger : sockopt = 0x0080 /* linger on close if data present */ const Sooobinline : sockopt = 0x0100 /* leave received OOB data in line */ const Soreuseport : sockopt = 0x0200 /* allow local address & port reuse */ const Sotimestamp : sockopt = 0x0400 /* timestamp received dgram traffic */ const Sonosigpipe : sockopt = 0x0800 /* no SIGPIPE from EPIPE */ const Soacceptfilter : sockopt = 0x1000 /* there is an accept filter */ const Sobintime : sockopt = 0x2000 /* timestamp received dgram traffic */ const Sonooffload : sockopt = 0x4000 /* socket cannot be offloaded */ const Sonoddp : sockopt = 0x8000 /* disable direct data placement */ /* socket option levels */ const Solsocket : sockproto = 0xffff /* network protocols */ const Ipproto_ip : sockproto = 0 const Ipproto_icmp : sockproto = 1 const Ipproto_tcp : sockproto = 6 const Ipproto_udp : sockproto = 17 const Ipproto_raw : sockproto = 255 /* poll options */ const Pollin : uint16 = 0x0001 /* any readable data available */ const Pollpri : uint16 = 0x0002 /* OOB/Urgent readable data */ const Pollout : uint16 = 0x0004 /* file descriptor is writeable */ const Pollrdnorm : uint16 = 0x0040 /* non-OOB/URG data available */ const Pollwrnorm : uint16 = Pollout /* no write type differentiation */ const Pollrdband : uint16 = 0x0080 /* OOB/Urgent readable data */ const Pollwrband : uint16 = 0x0100 /* OOB/Urgent data can be written */ /* General FreeBSD extension (currently only supported for sockets): */ const Pollinigneof : uint16 = 0x2000 /* like POLLIN, except ignore EOF */ /* * These events are set if they occur regardless of whether they were * requested. */ const Pollerr : uint16 = 0x0008 /* some poll error occurred */ const Pollhup : uint16 = 0x0010 /* file descriptor was "hung up" */ const Pollnval : uint16 = 0x0020 /* requested events "invalid" */ const Seekset : whence = 0 const Seekcur : whence = 1 const Seekend : whence = 2 /* system specific constants */ const Maxpathlen : size = 1024 /* fcntl constants */ const Fdupfd : fcntlcmd = 0 /* duplicate file descriptor */ const Fgetfd : fcntlcmd = 1 /* get file descriptor flags */ const Fsetfd : fcntlcmd = 2 /* set file descriptor flags */ const Fgetfl : fcntlcmd = 3 /* get file status flags */ const Fsetfl : fcntlcmd = 4 /* set file status flags */ const Fgetown : fcntlcmd = 5 /* get SIGIO/SIGURG proc/pgrp */ const Fsetown : fcntlcmd = 6 /* set SIGIO/SIGURG proc/pgrp */ const Fogetlk : fcntlcmd = 7 /* get record locking information */ const Fosetlk : fcntlcmd = 8 /* set record locking information */ const Fosetlkw : fcntlcmd = 9 /* F_SETLK; wait if blocked */ const Fdup2fd : fcntlcmd = 10 /* duplicate file descriptor to arg */ const Fgetlk : fcntlcmd = 11 /* get record locking information */ const Fsetlk : fcntlcmd = 12 /* set record locking information */ const Fsetlkw : fcntlcmd = 13 /* F_SETLK; wait if blocked */ const Fsetlk_remote : fcntlcmd = 14 /* debugging support for remote locks */ const Freadahead : fcntlcmd = 15 /* read ahead */ const Frdahead : fcntlcmd = 16 /* Darwin compatible read ahead */ const Fdupfd_cloexec : fcntlcmd = 17 /* Like F_DUPFD, but FD_CLOEXEC is set */ const Fdup2fd_cloexec : fcntlcmd = 18 /* Like F_DUP2FD, but FD_CLOEXEC is set */ /* return value for a failed mapping */ const Mapbad : byte# = (-1 : byte#) /* umtx ops */ const Umtxlock : umtxop = 0 const Umtxunlock : umtxop = 1 const Umtxwait : umtxop = 2 const Umtxwake : umtxop = 3 const UmtxmtxTrylock : umtxop = 4 const Umtxmtxlock : umtxop = 5 const Umtxmtxunlock : umtxop = 6 const Umtxsetceiling : umtxop = 7 const Umtxcvwait : umtxop = 8 const Umtxcvsignal : umtxop = 9 const Umtxcvbroadcast : umtxop = 10 const Umtxwaituint : umtxop = 11 const Umtxrwrdlock : umtxop = 12 const Umtxrwwrlock : umtxop = 13 const Umtxrwunlock : umtxop = 14 const Umtxwaituintpriv : umtxop = 15 const Umtxwakepriv : umtxop = 16 const Umtxmutexwait : umtxop = 17 const Umtxsemwait : umtxop = 19 const Umtxsemwake : umtxop = 20 const Umtxnwakepriv : umtxop = 21 const Umtxmtxwake2 : umtxop = 22 const Umtxmax : umtxop = 23 /* signal actions */ const Saonstack : sigflags = 0x0001 /* take signal on signal stack */ const Sarestart : sigflags = 0x0002 /* restart system call on signal return */ const Saresethand : sigflags = 0x0004 /* reset to SIG_DFL when taking signal */ const Sanodefer : sigflags = 0x0010 /* don't mask the signal we're delivering */ const Sanocldwait : sigflags = 0x0020 /* don't keep zombies around */ const Sasiginfo : sigflags = 0x0040 /* signal handler with SA_SIGINFO args */ /* signal numbers */ const Sighup : signo = 1 /* hangup */ const Sigint : signo = 2 /* interrupt */ const Sigquit : signo = 3 /* quit */ const Sigill : signo = 4 /* illegal instr. (not reset when caught) */ const Sigtrap : signo = 5 /* trace trap (not reset when caught) */ const Sigabrt : signo = 6 /* abort() */ const Sigiot : signo = Sigabrt /* compatibility */ const Sigemt : signo = 7 /* EMT instruction */ const Sigfpe : signo = 8 /* floating point exception */ const Sigkill : signo = 9 /* kill (cannot be caught or ignored) */ const Sigbus : signo = 10 /* bus error */ const Sigsegv : signo = 11 /* segmentation violation */ const Sigsys : signo = 12 /* non-existent system call invoked */ const Sigpipe : signo = 13 /* write on a pipe with no one to read it */ const Sigalrm : signo = 14 /* alarm clock */ const Sigterm : signo = 15 /* software termination signal from kill */ const Sigurg : signo = 16 /* urgent condition on IO channel */ const Sigstop : signo = 17 /* sendable stop signal not from tty */ const Sigtstp : signo = 18 /* stop signal from tty */ const Sigcont : signo = 19 /* continue a stopped process */ const Sigchld : signo = 20 /* to parent on child stop or exit */ const Sigttin : signo = 21 /* to readers pgrp upon background tty read */ const Sigttou : signo = 22 /* like TTIN if (tp->t_local<OSTOP) */ const Sigio : signo = 23 /* input/output possible signal */ const Sigxcpu : signo = 24 /* exceeded CPU time limit */ const Sigxfsz : signo = 25 /* exceeded file size limit */ const Sigvtalrm : signo = 26 /* virtual time alarm */ const Sigprof : signo = 27 /* profiling time alarm */ const Sigwinch : signo = 28 /* window size changes */ const Siginfo : signo = 29 /* information request */ const Sigusr1 : signo = 30 /* user defined signal 1 */ const Sigusr2 : signo = 31 /* user defined signal 2 */ const Sigthr : signo = 32 /* reserved by thread library. */ const Siglwp : signo = Sigthr const Siglibrt : signo = 33 /* reserved by real-time library. */ extern const syscall : (sc:scno, args:... -> int64) extern var __cenvp : byte## const Sysnosys : scno = 0 const Sysexit : scno = 1 const Sysfork : scno = 2 const Sysread : scno = 3 const Syswrite : scno = 4 const Sysopen : scno = 5 const Sysclose : scno = 6 const Syswait4 : scno = 7 const Syslink : scno = 9 const Sysunlink : scno = 10 const Syschdir : scno = 12 const Sysfchdir : scno = 13 const Sysmknod : scno = 14 const Syschmod : scno = 15 const Syschown : scno = 16 const Sysobreak : scno = 17 const Sysgetpid : scno = 20 const Sysmount : scno = 21 const Sysunmount : scno = 22 const Syssetuid : scno = 23 const Sysgetuid : scno = 24 const Sysgeteuid : scno = 25 const Sysptrace : scno = 26 const Sysrecvmsg : scno = 27 const Syssendmsg : scno = 28 const Sysrecvfrom : scno = 29 const Sysaccept : scno = 30 const Sysgetpeername : scno = 31 const Sysgetsockname : scno = 32 const Sysaccess : scno = 33 const Syschflags : scno = 34 const Sysfchflags : scno = 35 const Syssync : scno = 36 const Syskill : scno = 37 const Sysgetppid : scno = 39 const Sysdup : scno = 41 const Sysgetegid : scno = 43 const Sysprofil : scno = 44 const Sysktrace : scno = 45 const Sysgetgid : scno = 47 const Sysgetlogin : scno = 49 const Syssetlogin : scno = 50 const Sysacct : scno = 51 const Syssigaltstack : scno = 53 const Sysioctl : scno = 54 const Sysreboot : scno = 55 const Sysrevoke : scno = 56 const Syssymlink : scno = 57 const Sysreadlink : scno = 58 const Sysexecve : scno = 59 const Sysumask : scno = 60 const Syschroot : scno = 61 const Sysmsync : scno = 65 const Sysvfork : scno = 66 const Syssbrk : scno = 69 const Syssstk : scno = 70 const Sysovadvise : scno = 72 const Sysmunmap : scno = 73 const Sysmprotect : scno = 74 const Sysmadvise : scno = 75 const Sysmincore : scno = 78 const Sysgetgroups : scno = 79 const Syssetgroups : scno = 80 const Sysgetpgrp : scno = 81 const Syssetpgid : scno = 82 const Syssetitimer : scno = 83 const Sysswapon : scno = 85 const Sysgetitimer : scno = 86 const Sysgetdtablesize : scno = 89 const Sysdup2 : scno = 90 const Sysfcntl : scno = 92 const Sysselect : scno = 93 const Sysfsync : scno = 95 const Syssetpriority : scno = 96 const Syssocket : scno = 97 const Sysconnect : scno = 98 const Sysgetpriority : scno = 100 const Sysbind : scno = 104 const Syssetsockopt : scno = 105 const Syslisten : scno = 106 const Sysgettimeofday : scno = 116 const Sysgetrusage : scno = 117 const Sysgetsockopt : scno = 118 const Sysreadv : scno = 120 const Syswritev : scno = 121 const Syssettimeofday : scno = 122 const Sysfchown : scno = 123 const Sysfchmod : scno = 124 const Syssetreuid : scno = 126 const Syssetregid : scno = 127 const Sysrename : scno = 128 const Sysflock : scno = 131 const Sysmkfifo : scno = 132 const Syssendto : scno = 133 const Sysshutdown : scno = 134 const Syssocketpair : scno = 135 const Sysmkdir : scno = 136 const Sysrmdir : scno = 137 const Sysutimes : scno = 138 const Sysadjtime : scno = 140 const Syssetsid : scno = 147 const Sysquotactl : scno = 148 const Syslgetfh : scno = 160 const Sysgetfh : scno = 161 const Syssysarch : scno = 165 const Sysrtprio : scno = 166 const Syssetfib : scno = 175 const Sysntp_adjtime : scno = 176 const Syssetgid : scno = 181 const Syssetegid : scno = 182 const Sysseteuid : scno = 183 const Sysstat : scno = 188 const Sysfstat : scno = 189 const Syslstat : scno = 190 const Syspathconf : scno = 191 const Sysfpathconf : scno = 192 const Sysgetrlimit : scno = 194 const Syssetrlimit : scno = 195 const Sysgetdirentries : scno = 196 const Sys__sysctl : scno = 202 const Sysmlock : scno = 203 const Sysmunlock : scno = 204 const Sysundelete : scno = 205 const Sysfutimes : scno = 206 const Sysgetpgid : scno = 207 const Syspoll : scno = 209 const Sysclock_gettime : scno = 232 const Sysclock_settime : scno = 233 const Sysclock_getres : scno = 234 const Sysktimer_create : scno = 235 const Sysktimer_delete : scno = 236 const Sysktimer_settime : scno = 237 const Sysktimer_gettime : scno = 238 const Sysktimer_getoverrun : scno = 239 const Sysnanosleep : scno = 240 const Sysffclock_getcounter : scno = 241 const Sysffclock_setestimate : scno = 242 const Sysffclock_getestimate : scno = 243 const Sysclock_getcpuclockid2 : scno = 247 const Sysminherit : scno = 250 const Sysrfork : scno = 251 const Sysopenbsd_poll : scno = 252 const Sysissetugid : scno = 253 const Syslchown : scno = 254 const Sysaio_read : scno = 255 const Sysaio_write : scno = 256 const Syslio_listio : scno = 257 const Sysgetdents : scno = 272 const Syslchmod : scno = 274 const Syslutimes : scno = 276 const Sysnstat : scno = 278 const Sysnfstat : scno = 279 const Sysnlstat : scno = 280 const Syspreadv : scno = 289 const Syspwritev : scno = 290 const Sysfhopen : scno = 298 const Sysfhstat : scno = 299 const Sysmodnext : scno = 300 const Sysmodfnext : scno = 302 const Sysmodfind : scno = 303 const Syskldload : scno = 304 const Syskldunload : scno = 305 const Syskldfind : scno = 306 const Syskldnext : scno = 307 const Syskldfirstmod : scno = 309 const Sysgetsid : scno = 310 const Syssetresuid : scno = 311 const Syssetresgid : scno = 312 const Sysaio_return : scno = 314 const Sysaio_suspend : scno = 315 const Sysaio_cancel : scno = 316 const Sysaio_error : scno = 317 const Sysyield : scno = 321 const Sysmlockall : scno = 324 const Sysmunlockall : scno = 325 const Sys__getcwd : scno = 326 const Syssched_setparam : scno = 327 const Syssched_getparam : scno = 328 const Syssched_setscheduler : scno = 329 const Syssched_getscheduler : scno = 330 const Syssched_yield : scno = 331 const Syssched_get_priority_max : scno = 332 const Syssched_get_priority_min : scno = 333 const Syssched_rr_get_interval : scno = 334 const Sysutrace : scno = 335 const Syskldsym : scno = 337 const Sysjail : scno = 338 const Syssigprocmask : scno = 340 const Syssigsuspend : scno = 341 const Syssigpending : scno = 343 const Syssigtimedwait : scno = 345 const Syssigwaitinfo : scno = 346 const Sys__acl_get_file : scno = 347 const Sys__acl_set_file : scno = 348 const Sys__acl_get_fd : scno = 349 const Sys__acl_set_fd : scno = 350 const Sys__acl_delete_file : scno = 351 const Sys__acl_delete_fd : scno = 352 const Sys__acl_aclcheck_file : scno = 353 const Sys__acl_aclcheck_fd : scno = 354 const Sysextattrctl : scno = 355 const Sysextattr_set_file : scno = 356 const Sysextattr_get_file : scno = 357 const Sysextattr_delete_file : scno = 358 const Sysaio_waitcomplete : scno = 359 const Sysgetresuid : scno = 360 const Sysgetresgid : scno = 361 const Syskqueue : scno = 362 const Syskevent : scno = 363 const Sysextattr_set_fd : scno = 371 const Sysextattr_get_fd : scno = 372 const Sysextattr_delete_fd : scno = 373 const Sys__setugid : scno = 374 const Syseaccess : scno = 376 const Sysnmount : scno = 378 const Sys__mac_get_proc : scno = 384 const Sys__mac_set_proc : scno = 385 const Sys__mac_get_fd : scno = 386 const Sys__mac_get_file : scno = 387 const Sys__mac_set_fd : scno = 388 const Sys__mac_set_file : scno = 389 const Syskenv : scno = 390 const Syslchflags : scno = 391 const Sysuuidgen : scno = 392 const Syssendfile : scno = 393 const Sysmac_syscall : scno = 394 const Sysgetfsstat : scno = 395 const Sysstatfs : scno = 396 const Sysfstatfs : scno = 397 const Sysfhstatfs : scno = 398 const Sys__mac_get_pid : scno = 409 const Sys__mac_get_link : scno = 410 const Sys__mac_set_link : scno = 411 const Sysextattr_set_link : scno = 412 const Sysextattr_get_link : scno = 413 const Sysextattr_delete_link : scno = 414 const Sys__mac_execve : scno = 415 const Syssigaction : scno = 416 const Syssigreturn : scno = 417 const Sysgetcontext : scno = 421 const Syssetcontext : scno = 422 const Sysswapcontext : scno = 423 const Sysswapoff : scno = 424 const Sys__acl_get_link : scno = 425 const Sys__acl_set_link : scno = 426 const Sys__acl_delete_link : scno = 427 const Sys__acl_aclcheck_link : scno = 428 const Syssigwait : scno = 429 const Systhr_create : scno = 430 const Systhr_exit : scno = 431 const Systhr_self : scno = 432 const Systhr_kill : scno = 433 const Sysjail_attach : scno = 436 const Sysextattr_list_fd : scno = 437 const Sysextattr_list_file : scno = 438 const Sysextattr_list_link : scno = 439 const Systhr_suspend : scno = 442 const Systhr_wake : scno = 443 const Syskldunloadf : scno = 444 const Sysaudit : scno = 445 const Sysauditon : scno = 446 const Sys_umtx_op : scno = 454 const Systhr_new : scno = 455 const Syssigqueue : scno = 456 const Sysabort2 : scno = 463 const Systhr_set_name : scno = 464 const Sysaio_fsync : scno = 465 const Sysrtprio_thread : scno = 466 const Syspread : scno = 475 const Syspwrite : scno = 476 const Sysmmap : scno = 477 const Syslseek : scno = 478 const Systruncate : scno = 479 const Sysftruncate : scno = 480 const Systhr_kill2 : scno = 481 const Sysshm_open : scno = 482 const Sysshm_unlink : scno = 483 const Syscpuset : scno = 484 const Syscpuset_setid : scno = 485 const Syscpuset_getid : scno = 486 const Syscpuset_getaffinity : scno = 487 const Syscpuset_setaffinity : scno = 488 const Sysfaccessat : scno = 489 const Sysfchmodat : scno = 490 const Sysfchownat : scno = 491 const Sysfexecve : scno = 492 const Sysfstatat : scno = 493 const Sysfutimesat : scno = 494 const Syslinkat : scno = 495 const Sysmkdirat : scno = 496 const Sysmkfifoat : scno = 497 const Sysmknodat : scno = 498 const Sysopenat : scno = 499 const Sysreadlinkat : scno = 500 const Sysrenameat : scno = 501 const Syssymlinkat : scno = 502 const Sysunlinkat : scno = 503 const Sysposix_openpt : scno = 504 const Sysjail_get : scno = 506 const Sysjail_set : scno = 507 const Sysjail_remove : scno = 508 const Sysclosefrom : scno = 509 const Syslpathconf : scno = 513 const Sys__cap_rights_get : scno = 515 const Syscap_enter : scno = 516 const Syscap_getmode : scno = 517 const Syspdfork : scno = 518 const Syspdkill : scno = 519 const Syspdgetpid : scno = 520 const Syspselect : scno = 522 const Sysgetloginclass : scno = 523 const Syssetloginclass : scno = 524 const Sysrctl_get_racct : scno = 525 const Sysrctl_get_rules : scno = 526 const Sysrctl_get_limits : scno = 527 const Sysrctl_add_rule : scno = 528 const Sysrctl_remove_rule : scno = 529 const Sysposix_fallocate : scno = 530 const Sysposix_fadvise : scno = 531 const Syswait6 : scno = 532 const Syscap_rights_limit : scno = 533 const Syscap_ioctls_limit : scno = 534 const Syscap_ioctls_get : scno = 535 const Syscap_fcntls_limit : scno = 536 const Syscap_fcntls_get : scno = 537 const Sysbindat : scno = 538 const Sysconnectat : scno = 539 const Syschflagsat : scno = 540 const Sysaccept4 : scno = 541 const Syspipe2 : scno = 542 const Sysaio_mlock : scno = 543 const Sysprocctl : scno = 544 const Sysppoll : scno = 545 const Sysfutimens : scno = 546 const Sysutimensat : scno = 547 /* manual overrides */ const exit : (status:int -> void) const getpid : ( -> pid) const kill : (pid:pid, sig:int64 -> int64) const fork : (-> pid) const wait4 : (pid:pid, loc:int32#, opt : int64, usage:rusage# -> int64) const waitpid : (pid:pid, loc:int32#, opt : int64 -> int64) const execv : (cmd : byte[:], args : byte[:][:] -> int64) const execve : (cmd : byte[:], args : byte[:][:], env : byte[:][:] -> int64) const waitstatus : (st : int32 -> waitstatus) const thr_new : (param : thrparam#, paramsz : int -> int) const thr_exit : (state : int64# -> void) const umtx_op : (obj : void#, op : umtxop, val : uint64, a1 : void#, a2 : void# -> int) const yield : (-> int) const open : (path:byte[:], opts:fdopt -> fd) const openmode : (path:byte[:], opts:fdopt, mode:int64 -> fd) const close : (fd:fd -> int64) const creat : (path:byte[:], mode:int64 -> fd) const unlink : (path:byte[:] -> int) const read : (fd:fd, buf:byte[:] -> size) const pread : (fd:fd, buf:byte[:], off : off -> size) const readv : (fd:fd, iov:iovec[:] -> size) const write : (fd:fd, buf:byte[:] -> size) const pwrite : (fd:fd, buf:byte[:], off : off -> size) const writev : (fd:fd, iov : iovec[:] -> size) const lseek : (fd:fd, off : off, whence : whence -> int64) const stat : (path:byte[:], sb:statbuf# -> int64) const lstat : (path:byte[:], sb:statbuf# -> int64) const fstat : (fd:fd, sb:statbuf# -> int64) const mkdir : (path : byte[:], mode : int64 -> int64) generic ioctl : (fd:fd, req : int64, arg:@a# -> int64) const getdirentries : (fd : fd, buf : byte[:], basep : int64# -> int64) const chdir : (p : byte[:] -> int64) const __getcwd : (buf : byte[:] -> int64) const sigaction : (sig : signo, act : sigaction#, oact : sigaction# -> int) const sigprocmask : (how : int32, set : sigset#, oset : sigset# -> int) const pipe : (fds : fd[2]# -> int64) const dup : (fd : fd -> fd) const dup2 : (src : fd, dst : fd -> fd) const fcntl : (fd : fd, cmd : fcntlcmd, args : byte# -> int64) const poll : (pfd : pollfd[:], tm : int -> int) const socket : (dom : sockfam, stype : socktype, proto : sockproto -> fd) const connect : (sock : fd, addr : sockaddr#, len : size -> int) const accept : (sock : fd, addr : sockaddr#, len : size# -> fd) const listen : (sock : fd, backlog : int -> int) const bind : (sock : fd, addr : sockaddr#, len : size -> int) const setsockopt : (sock : fd, lev : sockproto, opt : sockopt, val : void#, len : size -> int) const getsockopt : (sock : fd, lev : sockproto, opt : sockopt, val : void#, len : size# -> int) const munmap : (addr:byte#, len:size -> int64) const mmap : (addr:byte#, len:size, prot:mprot, flags:mopt, fd:fd, off:off -> byte#) const clock_getres : (clk : clock, ts : timespec# -> int32) const clock_gettime : (clk : clock, ts : timespec# -> int32) const clock_settime : (clk : clock, ts : timespec# -> int32) const nanosleep : (req : timespec#, rem : timespec# -> int32) const sched_yield : (-> void) const uname : (buf : utsname# -> int) const sysctl : (mib : int[:], \ old : void#, oldsz : size#, \ new : void#, newsz : size# \ -> int) const nosys : ( -> int) const link : (path : byte#, link : byte# -> int) const fchdir : (fd : int -> int) const mknod : (path : byte#, mode : int, dev : int -> int) const chmod : (path : byte#, mode : int -> int) const chown : (path : byte#, uid : int, gid : int -> int) const obreak : (nsize : byte# -> int) const mount : (kind : byte#, path : byte#, flags : int, data : caddr -> int) const unmount : (path : byte#, flags : int -> int) const setuid : (uid : uid -> int) const getuid : ( -> uid) const geteuid : ( -> uid) const ptrace : (req : int, pid : pid, addr : caddr, data : int -> int) const recvmsg : (s : int, msg : msghdr#, flags : int -> int) const sendmsg : (s : int, msg : msghdr#, flags : int -> int) const recvfrom : (s : int, buf : caddr, len : size, flags : int, from : sockaddr# , fromlenaddr : socklen# -> int) const getpeername : (fdes : int, asa : sockaddr# , alen : socklen# -> int) const getsockname : (fdes : int, asa : sockaddr# , alen : socklen# -> int) const access : (path : byte#, amode : int -> int) const chflags : (path : byte#, flags : uint64 -> int) const fchflags : (fd : int, flags : uint64 -> int) const sync : ( -> int) const getppid : ( -> pid) const getegid : ( -> gid) const profil : (samples : caddr, size : size, offset : size, scale : uint -> int) const ktrace : (fname : byte#, ops : int, facs : int, pid : int -> int) const getgid : ( -> gid) const getlogin : (namebuf : byte#, namelen : uint -> int) const setlogin : (namebuf : byte# -> int) const acct : (path : byte# -> int) const sigaltstack : (ss : sigstack#, oss : sigstack# -> int) const reboot : (opt : int -> int) const revoke : (path : byte# -> int) const symlink : (path : byte#, link : byte# -> int) const readlink : (path : byte#, buf : byte#, count : size -> size) const umask : (newmask : int -> int) const chroot : (path : byte# -> int) const msync : (addr : void#, len : size, flags : int -> int) const vfork : ( -> int) const sbrk : (incr : int -> int) const sstk : (incr : int -> int) const ovadvise : (anom : int -> int) const mprotect : (addr : void#, len : size, prot : int -> int) const madvise : (addr : void#, len : size, behav : int -> int) const mincore : (addr : void#, len : size, vec : byte# -> int) const getgroups : (gidsetsize : uint, gidset : gid# -> int) const setgroups : (gidsetsize : uint, gidset : gid# -> int) const getpgrp : ( -> int) const setpgid : (pid : int, pgid : int -> int) const setitimer : (which : uint, itv : itimerval#, oitv : itimerval# -> int) const swapon : (name : byte# -> int) const getitimer : (which : uint, itv : itimerval# -> int) const getdtablesize : ( -> int) const select : (nd : int, _in : fdset#, ou : fdset#, ex : fdset#, tv : timeval# -> int) const fsync : (fd : int -> int) const setpriority : (which : int, who : int, prio : int -> int) const getpriority : (which : int, who : int -> int) const gettimeofday : (tp : timeval#, tzp : timezone# -> int) const getrusage : (who : int, rusage : rusage# -> int) const settimeofday : (tv : timeval#, tzp : timezone# -> int) const fchown : (fd : int, uid : int, gid : int -> int) const fchmod : (fd : int, mode : int -> int) const setreuid : (ruid : int, euid : int -> int) const setregid : (rgid : int, egid : int -> int) const rename : (from : byte#, to : byte# -> int) const flock : (fd : int, how : int -> int) const mkfifo : (path : byte#, mode : int -> int) const sendto : (s : int, buf : caddr, len : size, flags : int, to : caddr, tolen : int -> int) const shutdown : (s : int, how : int -> int) const socketpair : (domain : int, kind : int, protocol : int, rsv : int# -> int) const rmdir : (path : byte# -> int) const utimes : (path : byte#, tptr : timeval# -> int) const adjtime : (delta : timeval#, olddelta : timeval# -> int) const setsid : ( -> int) const quotactl : (path : byte#, cmd : int, uid : int, arg : caddr -> int) const lgetfh : (fname : byte#, fhp : fhandle# -> int) const getfh : (fname : byte#, fhp : fhandle# -> int) const sysarch : (op : int, parms : byte# -> int) const rtprio : (function : int, pid : pid, rtp : rtprio# -> int) const setfib : (fibnum : int -> int) const ntp_adjtime : (tp : timex# -> int) const setgid : (gid : gid -> int) const setegid : (egid : gid -> int) const seteuid : (euid : uid -> int) const pathconf : (path : byte#, name : int -> int) const fpathconf : (fd : int, name : int -> int) const getrlimit : (which : uint, rlp : rlimit# -> int) const setrlimit : (which : uint, rlp : rlimit# -> int) const __sysctl : (name : int#, namelen : uint, old : void#, oldlenp : size#, new : void#, newlen : size -> int) const mlock : (addr : void#, len : size -> int) const munlock : (addr : void#, len : size -> int) const undelete : (path : byte# -> int) const futimes : (fd : int, tptr : timeval# -> int) const getpgid : (pid : pid -> int) const ktimer_create : (clock_id : clockid, evp : sigevent#, timerid : int# -> int) const ktimer_delete : (timerid : int -> int) const ktimer_settime : (timerid : int, flags : int, value : itimerspec#, ovalue : itimerspec# -> int) const ktimer_gettime : (timerid : int, value : itimerspec# -> int) const ktimer_getoverrun : (timerid : int -> int) const ffclock_getcounter : (ffcount : ffcounter# -> int) const ffclock_setestimate : (cest : ffclock_estimate# -> int) const ffclock_getestimate : (cest : ffclock_estimate# -> int) const clock_getcpuclockid2 : (id : id, which : int, clock_id : clockid# -> int) const minherit : (addr : void#, len : size, inherit : int -> int) const rfork : (flags : int -> int) const openbsd_poll : (fds : pollfd#, nfds : uint, timeout : int -> int) const issetugid : ( -> int) const lchown : (path : byte#, uid : int, gid : int -> int) const aio_read : (aiocbp : aiocb# -> int) const aio_write : (aiocbp : aiocb# -> int) const lio_listio : (mode : int, acb_list : aiocb# #, nent : int, sig : sigevent# -> int) const getdents : (fd : int, buf : byte#, count : size -> int) const lchmod : (path : byte#, mode : filemode -> int) const lutimes : (path : byte#, tptr : timeval# -> int) const nstat : (path : byte#, ub : statbuf# -> int) const nfstat : (fd : int, sb : statbuf# -> int) const nlstat : (path : byte#, ub : statbuf# -> int) const preadv : (fd : int, iovp : iovec#, iovcnt : uint, offset : off -> size) const pwritev : (fd : int, iovp : iovec#, iovcnt : uint, offset : off -> size) const fhopen : (u_fhp : fhandle#, flags : int -> int) const fhstat : (u_fhp : fhandle#, sb : statbuf# -> int) const modnext : (modid : int -> int) const modfnext : (modid : int -> int) const modfind : (name : byte# -> int) const kldload : (file : byte# -> int) const kldunload : (fileid : int -> int) const kldfind : (file : byte# -> int) const kldnext : (fileid : int -> int) const kldfirstmod : (fileid : int -> int) const getsid : (pid : pid -> int) const setresuid : (ruid : uid, euid : uid, suid : uid -> int) const setresgid : (rgid : gid, egid : gid, sgid : gid -> int) const aio_return : (aiocbp : aiocb# -> size) const aio_suspend : (aiocbp : aiocb# #, nent : int, timeout : timespec# -> int) const aio_cancel : (fd : int, aiocbp : aiocb# -> int) const aio_error : (aiocbp : aiocb# -> int) const mlockall : (how : int -> int) const munlockall : ( -> int) const sched_setparam : (pid : pid, param : sched_param# -> int) const sched_getparam : (pid : pid, param : sched_param# -> int) const sched_setscheduler : (pid : pid, policy : int, param : sched_param# -> int) const sched_getscheduler : (pid : pid -> int) const sched_get_priority_max : (policy : int -> int) const sched_get_priority_min : (policy : int -> int) const sched_rr_get_interval : (pid : pid, interval : timespec# -> int) const utrace : (addr : void#, len : size -> int) const kldsym : (fileid : int, cmd : int, data : void# -> int) const jail : (jail : jail# -> int) const sigsuspend : (sigmask : sigset# -> int) const sigpending : (set : sigset# -> int) const sigtimedwait : (set : sigset#, info : siginfo#, timeout : timespec# -> int) const sigwaitinfo : (set : sigset#, info : siginfo# -> int) const __acl_get_file : (path : byte#, kind : acltype, aclp : acl# -> int) const __acl_set_file : (path : byte#, kind : acltype, aclp : acl# -> int) const __acl_get_fd : (filedes : int, kind : acltype, aclp : acl# -> int) const __acl_set_fd : (filedes : int, kind : acltype, aclp : acl# -> int) const __acl_delete_file : (path : byte#, kind : acltype -> int) const __acl_delete_fd : (filedes : int, kind : acltype -> int) const __acl_aclcheck_file : (path : byte#, kind : acltype, aclp : acl# -> int) const __acl_aclcheck_fd : (filedes : int, kind : acltype, aclp : acl# -> int) const extattrctl : (path : byte#, cmd : int, filename : byte#, attrnamespace : int, attrname : byte# -> int) const extattr_set_file : (path : byte#, attrnamespace : int, attrname : byte#, data : void#, nbytes : size -> size) const extattr_get_file : (path : byte#, attrnamespace : int, attrname : byte#, data : void#, nbytes : size -> size) const extattr_delete_file : (path : byte#, attrnamespace : int, attrname : byte# -> int) const aio_waitcomplete : (aiocbp : aiocb##, timeout : timespec# -> size) const getresuid : (ruid : uid#, euid : uid#, suid : uid# -> int) const getresgid : (rgid : gid#, egid : gid#, sgid : gid# -> int) const kqueue : ( -> int) const kevent : (fd : int, changelist : kevent#, nchanges : int, eventlist : kevent#, nevents : int, timeout : timespec# -> int) const extattr_set_fd : (fd : int, attrnamespace : int, attrname : byte#, data : void#, nbytes : size -> size) const extattr_get_fd : (fd : int, attrnamespace : int, attrname : byte#, data : void#, nbytes : size -> size) const extattr_delete_fd : (fd : int, attrnamespace : int, attrname : byte# -> int) const __setugid : (flag : int -> int) const eaccess : (path : byte#, amode : int -> int) const nmount : (iovp : iovec#, iovcnt : uint, flags : int -> int) const __mac_get_proc : (mac_p : mac# -> int) const __mac_set_proc : (mac_p : mac# -> int) const __mac_get_fd : (fd : int, mac_p : mac# -> int) const __mac_get_file : (path_p : byte#, mac_p : mac# -> int) const __mac_set_fd : (fd : int, mac_p : mac# -> int) const __mac_set_file : (path_p : byte#, mac_p : mac# -> int) const kenv : (what : int, name : byte#, value : byte#, len : int -> int) const lchflags : (path : byte#, flags : uint64 -> int) const uuidgen : (store : uuid#, count : int -> int) const sendfile : (fd : int, s : int, offset : off, nbytes : size, hdtr : sf_hdtr#, sbytes : off#, flags : int -> int) const mac_syscall : (policy : byte#, call : int, arg : void# -> int) const getfsstat : (buf : statfs#, bufsize : int64, flags : int -> int) const statfs : (path : byte#, buf : statfs# -> int) const fstatfs : (fd : int, buf : statfs# -> int) const fhstatfs : (u_fhp : fhandle#, buf : statfs# -> int) const __mac_get_pid : (pid : pid, mac_p : mac# -> int) const __mac_get_link : (path_p : byte#, mac_p : mac# -> int) const __mac_set_link : (path_p : byte#, mac_p : mac# -> int) const extattr_set_link : (path : byte#, attrnamespace : int, attrname : byte#, data : void#, nbytes : size -> size) const extattr_get_link : (path : byte#, attrnamespace : int, attrname : byte#, data : void#, nbytes : size -> size) const extattr_delete_link : (path : byte#, attrnamespace : int, attrname : byte# -> int) const __mac_execve : (fname : byte#, argv : byte##, envv : byte##, mac_p : mac# -> int) const sigreturn : (sigcntxp : ucontext# -> int) const getcontext : (ucp : ucontext# -> int) const setcontext : (ucp : ucontext# -> int) const swapcontext : (oucp : ucontext#, ucp : ucontext# -> int) const swapoff : (name : byte# -> int) const __acl_get_link : (path : byte#, kind : acltype, aclp : acl# -> int) const __acl_set_link : (path : byte#, kind : acltype, aclp : acl# -> int) const __acl_delete_link : (path : byte#, kind : acltype -> int) const __acl_aclcheck_link : (path : byte#, kind : acltype, aclp : acl# -> int) const sigwait : (set : sigset#, sig : int# -> int) const thr_create : (ctx : ucontext#, id : int64#, flags : int -> int) const thr_self : (id : int64# -> int) const thr_kill : (id : int64, sig : int -> int) const jail_attach : (jid : int -> int) const extattr_list_fd : (fd : int, attrnamespace : int, data : void#, nbytes : size -> size) const extattr_list_file : (path : byte#, attrnamespace : int, data : void#, nbytes : size -> size) const extattr_list_link : (path : byte#, attrnamespace : int, data : void#, nbytes : size -> size) const thr_suspend : (timeout : timespec# -> int) const thr_wake : (id : int64 -> int) const kldunloadf : (fileid : int, flags : int -> int) const audit : (record : void#, length : uint -> int) const auditon : (cmd : int, data : void#, length : uint -> int) const _umtx_op : (obj : void#, op : int, val : uint64, uaddr1 : void#, uaddr2 : void# -> int) const sigqueue : (pid : pid, signum : int, value : void# -> int) const abort2 : (why : byte#, nargs : int, args : void## -> int) const thr_set_name : (id : int64, name : byte# -> int) const aio_fsync : (op : int, aiocbp : aiocb# -> int) const rtprio_thread : (function : int, lwpid : lwpid, rtp : rtprio# -> int) const truncate : (path : byte#, length : off -> int) const ftruncate : (fd : int, length : off -> int) const thr_kill2 : (pid : pid, id : int64, sig : int -> int) const shm_open : (path : byte#, flags : int, mode : filemode -> int) const shm_unlink : (path : byte# -> int) const cpuset : (setid : cpusetid# -> int) const cpuset_setid : (which : cpuwhich, id : id, setid : cpusetid -> int) const cpuset_getid : (level : cpulevel, which : cpuwhich, id : id, setid : cpusetid# -> int) const cpuset_getaffinity : (level : cpulevel, which : cpuwhich, id : id, cpusetsize : size, mask : cpuset# -> int) const cpuset_setaffinity : (level : cpulevel, which : cpuwhich, id : id, cpusetsize : size, mask : cpuset# -> int) const faccessat : (fd : int, path : byte#, amode : int, flag : int -> int) const fchmodat : (fd : int, path : byte#, mode : filemode, flag : int -> int) const fchownat : (fd : int, path : byte#, uid : uid, gid : gid, flag : int -> int) const fexecve : (fd : int, argv : byte##, envv : byte## -> int) const fstatat : (fd : int, path : byte#, buf : statbuf#, flag : int -> int) const futimesat : (fd : int, path : byte#, times : timeval# -> int) const linkat : (fd1 : int, path1 : byte#, fd2 : int, path2 : byte#, flag : int -> int) const mkdirat : (fd : int, path : byte#, mode : filemode -> int) const mkfifoat : (fd : int, path : byte#, mode : filemode -> int) const mknodat : (fd : int, path : byte#, mode : filemode, dev : dev -> int) const openat : (fd : int, path : byte#, flag : int, mode : filemode -> int) const readlinkat : (fd : int, path : byte#, buf : byte#, bufsize : size -> int) const renameat : (oldfd : int, old : byte#, newfd : int, new : byte# -> int) const symlinkat : (path1 : byte#, fd : int, path2 : byte# -> int) const unlinkat : (fd : int, path : byte#, flag : int -> int) const posix_openpt : (flags : int -> int) const jail_get : (iovp : iovec#, iovcnt : uint, flags : int -> int) const jail_set : (iovp : iovec#, iovcnt : uint, flags : int -> int) const jail_remove : (jid : int -> int) const closefrom : (lowfd : int -> int) const lpathconf : (path : byte#, name : int -> int) const __cap_rights_get : (version : int, fd : int, rightsp : caprights# -> int) const cap_enter : ( -> int) const cap_getmode : (modep : uint# -> int) const pdfork : (fdp : int#, flags : int -> int) const pdkill : (fd : int, signum : int -> int) const pdgetpid : (fd : int, pidp : pid# -> int) const pselect : (nd : int, _in : fdset#, ou : fdset#, ex : fdset#, ts : timespec#, sm : sigset# -> int) const getloginclass : (namebuf : byte#, namelen : size -> int) const setloginclass : (namebuf : byte# -> int) const rctl_get_racct : (inbufp : void#, inbuflen : size, outbufp : void#, outbuflen : size -> int) const rctl_get_rules : (inbufp : void#, inbuflen : size, outbufp : void#, outbuflen : size -> int) const rctl_get_limits : (inbufp : void#, inbuflen : size, outbufp : void#, outbuflen : size -> int) const rctl_add_rule : (inbufp : void#, inbuflen : size, outbufp : void#, outbuflen : size -> int) const rctl_remove_rule : (inbufp : void#, inbuflen : size, outbufp : void#, outbuflen : size -> int) const posix_fallocate : (fd : int, offset : off, len : off -> int) const posix_fadvise : (fd : int, offset : off, len : off, advice : int -> int) const wait6 : (idtype : idtype, id : id, status : int#, options : int, wrusage : wrusage#, info : siginfo# -> int) const cap_rights_limit : (fd : int, rightsp : caprights# -> int) const cap_ioctls_limit : (fd : int, cmds : uint64#, ncmds : size -> int) const cap_ioctls_get : (fd : int, cmds : uint64#, maxcmds : size -> size) const cap_fcntls_limit : (fd : int, fcntlrights : uint32 -> int) const cap_fcntls_get : (fd : int, fcntlrightsp : uint32# -> int) const bindat : (fd : int, s : int, name : caddr, namelen : int -> int) const connectat : (fd : int, s : int, name : caddr, namelen : int -> int) const chflagsat : (fd : int, path : byte#, flags : uint64, atflag : int -> int) const accept4 : (s : int, name : sockaddr# , anamelen : socklen# , flags : int -> int) const pipe2 : (fildes : int#, flags : int -> int) const aio_mlock : (aiocbp : aiocb# -> int) const procctl : (idtype : idtype, id : id, com : int, data : void# -> int) const ppoll : (fds : pollfd#, nfds : uint, ts : timespec#, set : sigset# -> int) const futimens : (fd : int, times : timespec# -> int) const utimensat : (fd : int, path : byte#, times : timespec#, flag : int -> int) ;; /* manual overrides */ /* pkg sys */ /* process control */ /* wrappers to extract wait status */ /* thread control */ /* fd manipulation */ /* signals */ /* fd stuff */ /* NB: the C ABI uses '...' for the args. */ /* networking */ /* memory mapping */ /* time - doublecheck if this is right */ /* system information */ /* filled by start code */ /* ;; */ /* wraps a syscall argument, converting it to 64 bits for the syscall function. This is the same as casting, but more concise than (writing : int64) */ generic a = {x : @t; -> (x : uint64)} extern const cstring : (str : byte[:] -> byte#) extern const alloca : (sz : size -> byte#) extern const __freebsd_pipe : (fds : fd[2]# -> int64) /* process management */ const exit = {status; syscall(Sysexit, a(status))} const getpid = {; -> (syscall(Sysgetpid, 1) : pid)} const kill = {pid, sig; -> syscall(Syskill, pid, sig)} const fork = {; -> (syscall(Sysfork) : pid)} const wait4 = {pid, loc, opt, usage; -> syscall(Syswait4, pid, loc, opt, usage)} const waitpid = {pid, loc, opt; -> wait4(pid, loc, opt, (0 : rusage#)) } const execv = {cmd, args var p, cargs, i /* of course we fucking have to duplicate this code everywhere, * since we want to stack allocate... */ p = alloca((args.len + 1)*sizeof(byte#)) cargs = ((p : byte##))[:args.len + 1] for i = 0; i < args.len; i++ cargs[i] = cstring(args[i]) ;; cargs[args.len] = (0 : byte#) -> syscall(Sysexecve, cstring(cmd), a(p), a(__cenvp)) } const execve = {cmd, args, env var cargs, cenv, i var p /* copy the args */ p = alloca((args.len + 1)*sizeof(byte#)) cargs = ((p : byte##))[:args.len] for i = 0; i < args.len; i++ cargs[i] = cstring(args[i]) ;; cargs[args.len] = (0 : byte#) /* copy the env. of course we fucking have to duplicate this code everywhere, since we want to stack allocate... */ p = alloca((env.len + 1)*sizeof(byte#)) cenv = ((p : byte##))[:env.len] for i = 0; i < env.len; i++ cenv[i] = cstring(env[i]) ;; cenv[env.len] = (0 : byte#) -> syscall(Sysexecve, cstring(cmd), a(p), a(cenv)) } /* thread management */ const thr_new = {param, sz; -> (syscall(Systhr_new, a(param), a(sz)) : int)} const thr_exit = {state; syscall(Systhr_exit, a(state))} const umtx_op = {obj, op, val, a1, a2; -> (syscall(Sys_umtx_op, a(obj), a(op), a(val), a(a1), a(a2)) : int)} const yield = {; -> (syscall(Sysyield) : int)} /* fd manipulation */ const open = {path, opts; -> (syscall(Sysopen, cstring(path), a(opts), a(0o777)) : fd)} const openmode = {path, opts, mode; -> (syscall(Sysopen, cstring(path), a(opts), a(mode)) : fd)} const close = {fd; -> syscall(Sysclose, a(fd))} const creat = {path, mode; -> (openmode(path, Ocreat | Otrunc | Owronly, mode) : fd)} const unlink = {path; -> (syscall(Sysunlink, cstring(path)) : int)} const read = {fd, buf; -> (syscall(Sysread, a(fd), (buf : byte#), a(buf.len)) : size)} const pread = {fd, buf, off; -> (syscall(Syspread, a(fd), (buf : byte#), a(buf.len), a(off)) : size)} const readv = {fd, vec; -> (syscall(Sysreadv, a(fd), (vec : iovec#), a(vec.len)) : size)} const write = {fd, buf; -> (syscall(Syswrite, a(fd), (buf : byte#), a(buf.len)) : size)} const pwrite = {fd, buf, off; -> (syscall(Syspwrite, a(fd), (buf : byte#), a(buf.len), a(off)) : size)} const writev = {fd, vec; -> (syscall(Syswritev, a(fd), (vec : iovec#), a(vec.len)) : size)} const lseek = {fd, off, whence; -> syscall(Syslseek, a(fd), a(off), a(whence))} const stat = {path, sb; -> syscall(Sysstat, cstring(path), a(sb))} const lstat = {path, sb; -> syscall(Syslstat, cstring(path), a(sb))} const fstat = {fd, sb; -> syscall(Sysfstat, a(fd), a(sb))} const mkdir = {path, mode; -> (syscall(Sysmkdir, cstring(path), a(mode)) : int64)} generic ioctl = {fd, req, arg; -> (syscall(Sysioctl, a(fd), a(req), a(arg)) : int64) } const getdirentries = {fd, buf, basep; -> syscall(Sysgetdirentries, a(fd), (buf : byte#), a(buf.len), a(basep))} const chdir = {dir; -> syscall(Syschdir, cstring(dir))} const __getcwd = {buf; -> syscall(Sys__getcwd, a(buf), a(buf.len))} /* file stuff */ const pipe = {fds; -> __freebsd_pipe(fds)} const dup = {fd; -> (syscall(Sysdup, a(fd)) : fd)} const dup2 = {src, dst; -> (syscall(Sysdup2, a(src), a(dst)) : fd)} const fcntl = {fd, cmd, args; -> syscall(Sysfcntl, a(fd), a(cmd), a(args))} const poll = {pfd, tm; -> (syscall(Syspoll, (pfd : byte#), a(pfd.len), a(tm)) : int)} /* signals */ const sigaction = {sig, act, oact; -> (syscall(Syssigaction, a(sig), a(act), a(oact)) : int)} const sigprocmask = {sig, act, oact; -> (syscall(Syssigprocmask, a(sig), a(act), a(oact)) : int)} /* networking */ const socket = {dom, stype, proto; -> (syscall(Syssocket, a(dom), a(stype), a(proto)) : fd) } const connect = {sock, addr, len; -> (syscall(Sysconnect, a(sock), a(addr), a(len)) : int)} const accept = {sock, addr, len; -> (syscall(Sysaccept, a(sock), a(addr), a(len)) : fd)} const listen = {sock, backlog; -> (syscall(Syslisten, a(sock), a(backlog)) : int)} const bind = {sock, addr, len; -> (syscall(Sysbind, a(sock), a(addr), a(len)) : int)} const setsockopt = {sock, lev, opt, val, len; -> (syscall(Syssetsockopt, a(sock), a(lev), a(opt), a(val), a(len)) : int)} const getsockopt = {sock, lev, opt, val, len; -> (syscall(Syssetsockopt, a(sock), a(lev), a(opt), a(val), a(len)) : int)} /* memory management */ const munmap = {addr, len; -> syscall(Sysmunmap, a(addr), a(len))} const mmap = {addr, len, prot, flags, fd, off; -> (syscall(Sysmmap, a(addr), a(len), a(prot), a(flags), a(fd), a(off)) : byte#)} /* time */ const clock_getres = {clk, ts; -> (syscall(Sysclock_getres, clockid(clk), a(ts)) : int32)} const clock_gettime = {clk, ts; -> (syscall(Sysclock_gettime, clockid(clk), a(ts)) : int32)} const clock_settime = {clk, ts; -> (syscall(Sysclock_settime, clockid(clk), a(ts)) : int32)} const nanosleep = {req, rem; -> (syscall(Sysnanosleep, a(req), a(rem)) : int32)} const sched_yield = {; syscall(Syssched_yield)} const sysctl = {mib, old, oldsz, new, newsz /* all args already passed through a() or ar ptrs */ -> (syscall(Sys__sysctl, \ (mib : int#), a(mib.len), old, oldsz, new, newsz) : int) } const clockid = {clk match clk | `Clockrealtime: -> 0 | `Clockvirtual: -> 1 | `Clockprof: -> 2 | `Clockmonotonic: -> 4 | `Clockuptime: -> 5 | `Clockuptime_precise: -> 7 | `Clockuptime_fast: -> 8 | `Clockrealtime_precise: -> 9 | `Clockrealtime_fast: -> 10 | `Clockmonotonic_precise: -> 11 | `Clockmonotonic_fast: -> 12 | `Clocksecond: -> 13 ;; -> a(-1) } const waitstatus = {st if st < 0 -> `Waitfail st ;; match st & 0o177 | 0: -> `Waitexit (st >> 8) | 0x7f:-> `Waitstop (st >> 8) | sig: -> `Waitsig sig ;; } const uname = {buf var mib : int[2] var ret var sys, syssz var nod, nodsz var rel, relsz var ver, versz var mach, machsz ret = 0 mib[0] = 1 /* CTL_KERN */ mib[1] = 1 /* KERN_OSTYPE */ sys = (buf.system[:] : void#) syssz = buf.system.len ret = sysctl(mib[:], sys, &syssz, (0 : void#), (0 : size#)) if ret < 0 -> ret ;; mib[0] = 1 /* CTL_KERN */ mib[1] = 10 /* KERN_HOSTNAME */ nod = (buf.node[:] : void#) nodsz = buf.node.len ret = sysctl(mib[:], nod, &nodsz, (0 : void#), (0 : size#)) if ret < 0 -> ret ;; mib[0] = 1 /* CTL_KERN */ mib[1] = 2 /* KERN_OSRELEASE */ rel = (buf.release[:] : void#) relsz = buf.release.len ret = sysctl(mib[:], rel, &relsz, (0 : void#), (0 : size#)) if ret < 0 -> ret ;; mib[0] = 1 /* CTL_KERN */ mib[1] = 4 /* KERN_OSVERSION */ ver = (buf.version[:] : void#) versz = buf.version.len ret = sysctl(mib[:], ver, &versz, (0 : void#), (0 : size#)) if ret < 0 -> ret ;; mib[0] = 6 /* CTL_HW */ mib[1] = 1 /* HW_MACHINE */ mach = (buf.machine[:] : void#) machsz = buf.machine.len ret = sysctl(mib[:], mach, &machsz, (0 : void#), (0 : size#)) if ret < 0 -> ret ;; -> 0 } const nosys = { -> (syscall(Sysnosys) : int) } const link = {path, link -> (syscall(Syslink, a(link)) : int) } const fchdir = {fd -> (syscall(Sysfchdir) : int) } const mknod = {path, mode, dev -> (syscall(Sysmknod, a(mode), a(dev)) : int) } const chmod = {path, mode -> (syscall(Syschmod, a(mode)) : int) } const chown = {path, uid, gid -> (syscall(Syschown, a(uid), a(gid)) : int) } const obreak = {nsize -> (syscall(Sysobreak) : int) } const mount = {kind, path, flags, data -> (syscall(Sysmount, a(path), a(flags), a(data)) : int) } const unmount = {path, flags -> (syscall(Sysunmount, a(flags)) : int) } const setuid = {uid -> (syscall(Syssetuid) : int) } const getuid = { -> (syscall(Sysgetuid) : uid) } const geteuid = { -> (syscall(Sysgeteuid) : uid) } const ptrace = {req, pid, addr, data -> (syscall(Sysptrace, a(pid), a(addr), a(data)) : int) } const recvmsg = {s, msg, flags -> (syscall(Sysrecvmsg, a(msg), a(flags)) : int) } const sendmsg = {s, msg, flags -> (syscall(Syssendmsg, a(msg), a(flags)) : int) } const recvfrom = {s, buf, len, flags, from, fromlenaddr -> (syscall(Sysrecvfrom, a(buf), a(len), a(flags), a(from), a(fromlenaddr)) : int) } const getpeername = {fdes, asa, alen -> (syscall(Sysgetpeername, a(asa), a(alen)) : int) } const getsockname = {fdes, asa, alen -> (syscall(Sysgetsockname, a(asa), a(alen)) : int) } const access = {path, amode -> (syscall(Sysaccess, a(amode)) : int) } const chflags = {path, flags -> (syscall(Syschflags, a(flags)) : int) } const fchflags = {fd, flags -> (syscall(Sysfchflags, a(flags)) : int) } const sync = { -> (syscall(Syssync) : int) } const getppid = { -> (syscall(Sysgetppid) : pid) } const getegid = { -> (syscall(Sysgetegid) : gid) } const profil = {samples, size, offset, scale -> (syscall(Sysprofil, a(size), a(offset), a(scale)) : int) } const ktrace = {fname, ops, facs, pid -> (syscall(Sysktrace, a(ops), a(facs), a(pid)) : int) } const getgid = { -> (syscall(Sysgetgid) : gid) } const getlogin = {namebuf, namelen -> (syscall(Sysgetlogin, a(namelen)) : int) } const setlogin = {namebuf -> (syscall(Syssetlogin) : int) } const acct = {path -> (syscall(Sysacct) : int) } const sigaltstack = {ss, oss -> (syscall(Syssigaltstack, a(oss)) : int) } const reboot = {opt -> (syscall(Sysreboot) : int) } const revoke = {path -> (syscall(Sysrevoke) : int) } const symlink = {path, link -> (syscall(Syssymlink, a(link)) : int) } const readlink = {path, buf, count -> (syscall(Sysreadlink, a(buf), a(count)) : size) } const umask = {newmask -> (syscall(Sysumask) : int) } const chroot = {path -> (syscall(Syschroot) : int) } const msync = {addr, len, flags -> (syscall(Sysmsync, a(len), a(flags)) : int) } const vfork = { -> (syscall(Sysvfork) : int) } const sbrk = {incr -> (syscall(Syssbrk) : int) } const sstk = {incr -> (syscall(Syssstk) : int) } const ovadvise = {anom -> (syscall(Sysovadvise) : int) } const mprotect = {addr, len, prot -> (syscall(Sysmprotect, a(len), a(prot)) : int) } const madvise = {addr, len, behav -> (syscall(Sysmadvise, a(len), a(behav)) : int) } const mincore = {addr, len, vec -> (syscall(Sysmincore, a(len), a(vec)) : int) } const getgroups = {gidsetsize, gidset -> (syscall(Sysgetgroups, a(gidset)) : int) } const setgroups = {gidsetsize, gidset -> (syscall(Syssetgroups, a(gidset)) : int) } const getpgrp = { -> (syscall(Sysgetpgrp) : int) } const setpgid = {pid, pgid -> (syscall(Syssetpgid, a(pgid)) : int) } const setitimer = {which, itv, oitv -> (syscall(Syssetitimer, a(itv), a(oitv)) : int) } const swapon = {name -> (syscall(Sysswapon) : int) } const getitimer = {which, itv -> (syscall(Sysgetitimer, a(itv)) : int) } const getdtablesize = { -> (syscall(Sysgetdtablesize) : int) } const select = {nd, _in, ou, ex, tv -> (syscall(Sysselect, a(_in), a(ou), a(ex), a(tv)) : int) } const fsync = {fd -> (syscall(Sysfsync) : int) } const setpriority = {which, who, prio -> (syscall(Syssetpriority, a(who), a(prio)) : int) } const getpriority = {which, who -> (syscall(Sysgetpriority, a(who)) : int) } const gettimeofday = {tp, tzp -> (syscall(Sysgettimeofday, a(tzp)) : int) } const getrusage = {who, rusage -> (syscall(Sysgetrusage, a(rusage)) : int) } const settimeofday = {tv, tzp -> (syscall(Syssettimeofday, a(tzp)) : int) } const fchown = {fd, uid, gid -> (syscall(Sysfchown, a(uid), a(gid)) : int) } const fchmod = {fd, mode -> (syscall(Sysfchmod, a(mode)) : int) } const setreuid = {ruid, euid -> (syscall(Syssetreuid, a(euid)) : int) } const setregid = {rgid, egid -> (syscall(Syssetregid, a(egid)) : int) } const rename = {from, to -> (syscall(Sysrename, a(to)) : int) } const flock = {fd, how -> (syscall(Sysflock, a(how)) : int) } const mkfifo = {path, mode -> (syscall(Sysmkfifo, a(mode)) : int) } const sendto = {s, buf, len, flags, to, tolen -> (syscall(Syssendto, a(buf), a(len), a(flags), a(to), a(tolen)) : int) } const shutdown = {s, how -> (syscall(Sysshutdown, a(how)) : int) } const socketpair = {domain, kind, protocol, rsv -> (syscall(Syssocketpair, a(kind), a(protocol), a(rsv)) : int) } const rmdir = {path -> (syscall(Sysrmdir) : int) } const utimes = {path, tptr -> (syscall(Sysutimes, a(tptr)) : int) } const adjtime = {delta, olddelta -> (syscall(Sysadjtime, a(olddelta)) : int) } const setsid = { -> (syscall(Syssetsid) : int) } const quotactl = {path, cmd, uid, arg -> (syscall(Sysquotactl, a(cmd), a(uid), a(arg)) : int) } const lgetfh = {fname, fhp -> (syscall(Syslgetfh, a(fhp)) : int) } const getfh = {fname, fhp -> (syscall(Sysgetfh, a(fhp)) : int) } const sysarch = {op, parms -> (syscall(Syssysarch, a(parms)) : int) } const rtprio = {function, pid, rtp -> (syscall(Sysrtprio, a(pid), a(rtp)) : int) } const setfib = {fibnum -> (syscall(Syssetfib) : int) } const ntp_adjtime = {tp -> (syscall(Sysntp_adjtime) : int) } const setgid = {gid -> (syscall(Syssetgid) : int) } const setegid = {egid -> (syscall(Syssetegid) : int) } const seteuid = {euid -> (syscall(Sysseteuid) : int) } const pathconf = {path, name -> (syscall(Syspathconf, a(name)) : int) } const fpathconf = {fd, name -> (syscall(Sysfpathconf, a(name)) : int) } const getrlimit = {which, rlp -> (syscall(Sysgetrlimit, a(rlp)) : int) } const setrlimit = {which, rlp -> (syscall(Syssetrlimit, a(rlp)) : int) } const __sysctl = {name, namelen, old, oldlenp, new, newlen -> (syscall(Sys__sysctl, a(namelen), a(old), a(oldlenp), a(new), a(newlen)) : int) } const mlock = {addr, len -> (syscall(Sysmlock, a(len)) : int) } const munlock = {addr, len -> (syscall(Sysmunlock, a(len)) : int) } const undelete = {path -> (syscall(Sysundelete) : int) } const futimes = {fd, tptr -> (syscall(Sysfutimes, a(tptr)) : int) } const getpgid = {pid -> (syscall(Sysgetpgid) : int) } const ktimer_create = {clock_id, evp, timerid -> (syscall(Sysktimer_create, a(evp), a(timerid)) : int) } const ktimer_delete = {timerid -> (syscall(Sysktimer_delete) : int) } const ktimer_settime = {timerid, flags, value, ovalue -> (syscall(Sysktimer_settime, a(flags), a(value), a(ovalue)) : int) } const ktimer_gettime = {timerid, value -> (syscall(Sysktimer_gettime, a(value)) : int) } const ktimer_getoverrun = {timerid -> (syscall(Sysktimer_getoverrun) : int) } const ffclock_getcounter = {ffcount -> (syscall(Sysffclock_getcounter) : int) } const ffclock_setestimate = {cest -> (syscall(Sysffclock_setestimate) : int) } const ffclock_getestimate = {cest -> (syscall(Sysffclock_getestimate) : int) } const clock_getcpuclockid2 = {id, which, clock_id -> (syscall(Sysclock_getcpuclockid2, a(which), a(clock_id)) : int) } const minherit = {addr, len, inherit -> (syscall(Sysminherit, a(len), a(inherit)) : int) } const rfork = {flags -> (syscall(Sysrfork) : int) } const openbsd_poll = {fds, nfds, timeout -> (syscall(Sysopenbsd_poll, a(nfds), a(timeout)) : int) } const issetugid = { -> (syscall(Sysissetugid) : int) } const lchown = {path, uid, gid -> (syscall(Syslchown, a(uid), a(gid)) : int) } const aio_read = {aiocbp -> (syscall(Sysaio_read) : int) } const aio_write = {aiocbp -> (syscall(Sysaio_write) : int) } const lio_listio = {mode, acb_list, nent, sig -> (syscall(Syslio_listio, a(acb_list), a(nent), a(sig)) : int) } const getdents = {fd, buf, count -> (syscall(Sysgetdents, a(buf), a(count)) : int) } const lchmod = {path, mode -> (syscall(Syslchmod, a(mode)) : int) } const lutimes = {path, tptr -> (syscall(Syslutimes, a(tptr)) : int) } const nstat = {path, ub -> (syscall(Sysnstat, a(ub)) : int) } const nfstat = {fd, sb -> (syscall(Sysnfstat, a(sb)) : int) } const nlstat = {path, ub -> (syscall(Sysnlstat, a(ub)) : int) } const preadv = {fd, iovp, iovcnt, offset -> (syscall(Syspreadv, a(iovp), a(iovcnt), a(offset)) : size) } const pwritev = {fd, iovp, iovcnt, offset -> (syscall(Syspwritev, a(iovp), a(iovcnt), a(offset)) : size) } const fhopen = {u_fhp, flags -> (syscall(Sysfhopen, a(flags)) : int) } const fhstat = {u_fhp, sb -> (syscall(Sysfhstat, a(sb)) : int) } const modnext = {modid -> (syscall(Sysmodnext) : int) } const modfnext = {modid -> (syscall(Sysmodfnext) : int) } const modfind = {name -> (syscall(Sysmodfind) : int) } const kldload = {file -> (syscall(Syskldload) : int) } const kldunload = {fileid -> (syscall(Syskldunload) : int) } const kldfind = {file -> (syscall(Syskldfind) : int) } const kldnext = {fileid -> (syscall(Syskldnext) : int) } const kldfirstmod = {fileid -> (syscall(Syskldfirstmod) : int) } const getsid = {pid -> (syscall(Sysgetsid) : int) } const setresuid = {ruid, euid, suid -> (syscall(Syssetresuid, a(euid), a(suid)) : int) } const setresgid = {rgid, egid, sgid -> (syscall(Syssetresgid, a(egid), a(sgid)) : int) } const aio_return = {aiocbp -> (syscall(Sysaio_return) : size) } const aio_suspend = {aiocbp, nent, timeout -> (syscall(Sysaio_suspend, a(nent), a(timeout)) : int) } const aio_cancel = {fd, aiocbp -> (syscall(Sysaio_cancel, a(aiocbp)) : int) } const aio_error = {aiocbp -> (syscall(Sysaio_error) : int) } const mlockall = {how -> (syscall(Sysmlockall) : int) } const munlockall = { -> (syscall(Sysmunlockall) : int) } const sched_setparam = {pid, param -> (syscall(Syssched_setparam, a(param)) : int) } const sched_getparam = {pid, param -> (syscall(Syssched_getparam, a(param)) : int) } const sched_setscheduler = {pid, policy, param -> (syscall(Syssched_setscheduler, a(policy), a(param)) : int) } const sched_getscheduler = {pid -> (syscall(Syssched_getscheduler) : int) } const sched_get_priority_max = {policy -> (syscall(Syssched_get_priority_max) : int) } const sched_get_priority_min = {policy -> (syscall(Syssched_get_priority_min) : int) } const sched_rr_get_interval = {pid, interval -> (syscall(Syssched_rr_get_interval, a(interval)) : int) } const utrace = {addr, len -> (syscall(Sysutrace, a(len)) : int) } const kldsym = {fileid, cmd, data -> (syscall(Syskldsym, a(cmd), a(data)) : int) } const jail = {jail -> (syscall(Sysjail) : int) } const sigsuspend = {sigmask -> (syscall(Syssigsuspend) : int) } const sigpending = {set -> (syscall(Syssigpending) : int) } const sigtimedwait = {set, info, timeout -> (syscall(Syssigtimedwait, a(info), a(timeout)) : int) } const sigwaitinfo = {set, info -> (syscall(Syssigwaitinfo, a(info)) : int) } const __acl_get_file = {path, kind, aclp -> (syscall(Sys__acl_get_file, a(kind), a(aclp)) : int) } const __acl_set_file = {path, kind, aclp -> (syscall(Sys__acl_set_file, a(kind), a(aclp)) : int) } const __acl_get_fd = {filedes, kind, aclp -> (syscall(Sys__acl_get_fd, a(kind), a(aclp)) : int) } const __acl_set_fd = {filedes, kind, aclp -> (syscall(Sys__acl_set_fd, a(kind), a(aclp)) : int) } const __acl_delete_file = {path, kind -> (syscall(Sys__acl_delete_file, a(kind)) : int) } const __acl_delete_fd = {filedes, kind -> (syscall(Sys__acl_delete_fd, a(kind)) : int) } const __acl_aclcheck_file = {path, kind, aclp -> (syscall(Sys__acl_aclcheck_file, a(kind), a(aclp)) : int) } const __acl_aclcheck_fd = {filedes, kind, aclp -> (syscall(Sys__acl_aclcheck_fd, a(kind), a(aclp)) : int) } const extattrctl = {path, cmd, filename, attrnamespace, attrname -> (syscall(Sysextattrctl, a(cmd), a(filename), a(attrnamespace), a(attrname)) : int) } const extattr_set_file = {path, attrnamespace, attrname, data, nbytes -> (syscall(Sysextattr_set_file, a(attrnamespace), a(attrname), a(data), a(nbytes)) : size) } const extattr_get_file = {path, attrnamespace, attrname, data, nbytes -> (syscall(Sysextattr_get_file, a(attrnamespace), a(attrname), a(data), a(nbytes)) : size) } const extattr_delete_file = {path, attrnamespace, attrname -> (syscall(Sysextattr_delete_file, a(attrnamespace), a(attrname)) : int) } const aio_waitcomplete = {aiocbp, timeout -> (syscall(Sysaio_waitcomplete, a(timeout)) : size) } const getresuid = {ruid, euid, suid -> (syscall(Sysgetresuid, a(euid), a(suid)) : int) } const getresgid = {rgid, egid, sgid -> (syscall(Sysgetresgid, a(egid), a(sgid)) : int) } const kqueue = { -> (syscall(Syskqueue) : int) } const kevent = {fd, changelist, nchanges, eventlist, nevents, timeout -> (syscall(Syskevent, a(changelist), a(nchanges), a(eventlist), a(nevents), a(timeout)) : int) } const extattr_set_fd = {fd, attrnamespace, attrname, data, nbytes -> (syscall(Sysextattr_set_fd, a(attrnamespace), a(attrname), a(data), a(nbytes)) : size) } const extattr_get_fd = {fd, attrnamespace, attrname, data, nbytes -> (syscall(Sysextattr_get_fd, a(attrnamespace), a(attrname), a(data), a(nbytes)) : size) } const extattr_delete_fd = {fd, attrnamespace, attrname -> (syscall(Sysextattr_delete_fd, a(attrnamespace), a(attrname)) : int) } const __setugid = {flag -> (syscall(Sys__setugid) : int) } const eaccess = {path, amode -> (syscall(Syseaccess, a(amode)) : int) } const nmount = {iovp, iovcnt, flags -> (syscall(Sysnmount, a(iovcnt), a(flags)) : int) } const __mac_get_proc = {mac_p -> (syscall(Sys__mac_get_proc) : int) } const __mac_set_proc = {mac_p -> (syscall(Sys__mac_set_proc) : int) } const __mac_get_fd = {fd, mac_p -> (syscall(Sys__mac_get_fd, a(mac_p)) : int) } const __mac_get_file = {path_p, mac_p -> (syscall(Sys__mac_get_file, a(mac_p)) : int) } const __mac_set_fd = {fd, mac_p -> (syscall(Sys__mac_set_fd, a(mac_p)) : int) } const __mac_set_file = {path_p, mac_p -> (syscall(Sys__mac_set_file, a(mac_p)) : int) } const kenv = {what, name, value, len -> (syscall(Syskenv, a(name), a(value), a(len)) : int) } const lchflags = {path, flags -> (syscall(Syslchflags, a(flags)) : int) } const uuidgen = {store, count -> (syscall(Sysuuidgen, a(count)) : int) } const sendfile = {fd, s, offset, nbytes, hdtr, sbytes, flags -> (syscall(Syssendfile, a(s), a(offset), a(nbytes), a(hdtr), a(sbytes), a(flags)) : int) } const mac_syscall = {policy, call, arg -> (syscall(Sysmac_syscall, a(call), a(arg)) : int) } const getfsstat = {buf, bufsize, flags -> (syscall(Sysgetfsstat, a(bufsize), a(flags)) : int) } const statfs = {path, buf -> (syscall(Sysstatfs, a(buf)) : int) } const fstatfs = {fd, buf -> (syscall(Sysfstatfs, a(buf)) : int) } const fhstatfs = {u_fhp, buf -> (syscall(Sysfhstatfs, a(buf)) : int) } const __mac_get_pid = {pid, mac_p -> (syscall(Sys__mac_get_pid, a(mac_p)) : int) } const __mac_get_link = {path_p, mac_p -> (syscall(Sys__mac_get_link, a(mac_p)) : int) } const __mac_set_link = {path_p, mac_p -> (syscall(Sys__mac_set_link, a(mac_p)) : int) } const extattr_set_link = {path, attrnamespace, attrname, data, nbytes -> (syscall(Sysextattr_set_link, a(attrnamespace), a(attrname), a(data), a(nbytes)) : size) } const extattr_get_link = {path, attrnamespace, attrname, data, nbytes -> (syscall(Sysextattr_get_link, a(attrnamespace), a(attrname), a(data), a(nbytes)) : size) } const extattr_delete_link = {path, attrnamespace, attrname -> (syscall(Sysextattr_delete_link, a(attrnamespace), a(attrname)) : int) } const __mac_execve = {fname, argv, envv, mac_p -> (syscall(Sys__mac_execve, a(argv), a(envv), a(mac_p)) : int) } const sigreturn = {sigcntxp -> (syscall(Syssigreturn) : int) } const getcontext = {ucp -> (syscall(Sysgetcontext) : int) } const setcontext = {ucp -> (syscall(Syssetcontext) : int) } const swapcontext = {oucp, ucp -> (syscall(Sysswapcontext, a(ucp)) : int) } const swapoff = {name -> (syscall(Sysswapoff) : int) } const __acl_get_link = {path, kind, aclp -> (syscall(Sys__acl_get_link, a(kind), a(aclp)) : int) } const __acl_set_link = {path, kind, aclp -> (syscall(Sys__acl_set_link, a(kind), a(aclp)) : int) } const __acl_delete_link = {path, kind -> (syscall(Sys__acl_delete_link, a(kind)) : int) } const __acl_aclcheck_link = {path, kind, aclp -> (syscall(Sys__acl_aclcheck_link, a(kind), a(aclp)) : int) } const sigwait = {set, sig -> (syscall(Syssigwait, a(sig)) : int) } const thr_create = {ctx, id, flags -> (syscall(Systhr_create, a(id), a(flags)) : int) } const thr_self = {id -> (syscall(Systhr_self) : int) } const thr_kill = {id, sig -> (syscall(Systhr_kill, a(sig)) : int) } const jail_attach = {jid -> (syscall(Sysjail_attach) : int) } const extattr_list_fd = {fd, attrnamespace, data, nbytes -> (syscall(Sysextattr_list_fd, a(attrnamespace), a(data), a(nbytes)) : size) } const extattr_list_file = {path, attrnamespace, data, nbytes -> (syscall(Sysextattr_list_file, a(attrnamespace), a(data), a(nbytes)) : size) } const extattr_list_link = {path, attrnamespace, data, nbytes -> (syscall(Sysextattr_list_link, a(attrnamespace), a(data), a(nbytes)) : size) } const thr_suspend = {timeout -> (syscall(Systhr_suspend) : int) } const thr_wake = {id -> (syscall(Systhr_wake) : int) } const kldunloadf = {fileid, flags -> (syscall(Syskldunloadf, a(flags)) : int) } const audit = {record, length -> (syscall(Sysaudit, a(length)) : int) } const auditon = {cmd, data, length -> (syscall(Sysauditon, a(data), a(length)) : int) } const _umtx_op = {obj, op, val, uaddr1, uaddr2 -> (syscall(Sys_umtx_op, a(op), a(val), a(uaddr1), a(uaddr2)) : int) } const sigqueue = {pid, signum, value -> (syscall(Syssigqueue, a(signum), a(value)) : int) } const abort2 = {why, nargs, args -> (syscall(Sysabort2, a(nargs), a(args)) : int) } const thr_set_name = {id, name -> (syscall(Systhr_set_name, a(name)) : int) } const aio_fsync = {op, aiocbp -> (syscall(Sysaio_fsync, a(aiocbp)) : int) } const rtprio_thread = {function, lwpid, rtp -> (syscall(Sysrtprio_thread, a(lwpid), a(rtp)) : int) } const truncate = {path, length -> (syscall(Systruncate, a(length)) : int) } const ftruncate = {fd, length -> (syscall(Sysftruncate, a(length)) : int) } const thr_kill2 = {pid, id, sig -> (syscall(Systhr_kill2, a(id), a(sig)) : int) } const shm_open = {path, flags, mode -> (syscall(Sysshm_open, a(flags), a(mode)) : int) } const shm_unlink = {path -> (syscall(Sysshm_unlink) : int) } const cpuset = {setid -> (syscall(Syscpuset) : int) } const cpuset_setid = {which, id, setid -> (syscall(Syscpuset_setid, a(id), a(setid)) : int) } const cpuset_getid = {level, which, id, setid -> (syscall(Syscpuset_getid, a(which), a(id), a(setid)) : int) } const cpuset_getaffinity = {level, which, id, cpusetsize, mask -> (syscall(Syscpuset_getaffinity, a(which), a(id), a(cpusetsize), a(mask)) : int) } const cpuset_setaffinity = {level, which, id, cpusetsize, mask -> (syscall(Syscpuset_setaffinity, a(which), a(id), a(cpusetsize), a(mask)) : int) } const faccessat = {fd, path, amode, flag -> (syscall(Sysfaccessat, a(path), a(amode), a(flag)) : int) } const fchmodat = {fd, path, mode, flag -> (syscall(Sysfchmodat, a(path), a(mode), a(flag)) : int) } const fchownat = {fd, path, uid, gid, flag -> (syscall(Sysfchownat, a(path), a(uid), a(gid), a(flag)) : int) } const fexecve = {fd, argv, envv -> (syscall(Sysfexecve, a(argv), a(envv)) : int) } const fstatat = {fd, path, buf, flag -> (syscall(Sysfstatat, a(path), a(buf), a(flag)) : int) } const futimesat = {fd, path, times -> (syscall(Sysfutimesat, a(path), a(times)) : int) } const linkat = {fd1, path1, fd2, path2, flag -> (syscall(Syslinkat, a(path1), a(fd2), a(path2), a(flag)) : int) } const mkdirat = {fd, path, mode -> (syscall(Sysmkdirat, a(path), a(mode)) : int) } const mkfifoat = {fd, path, mode -> (syscall(Sysmkfifoat, a(path), a(mode)) : int) } const mknodat = {fd, path, mode, dev -> (syscall(Sysmknodat, a(path), a(mode), a(dev)) : int) } const openat = {fd, path, flag, mode -> (syscall(Sysopenat, a(path), a(flag), a(mode)) : int) } const readlinkat = {fd, path, buf, bufsize -> (syscall(Sysreadlinkat, a(path), a(buf), a(bufsize)) : int) } const renameat = {oldfd, old, newfd, new -> (syscall(Sysrenameat, a(old), a(newfd), a(new)) : int) } const symlinkat = {path1, fd, path2 -> (syscall(Syssymlinkat, a(fd), a(path2)) : int) } const unlinkat = {fd, path, flag -> (syscall(Sysunlinkat, a(path), a(flag)) : int) } const posix_openpt = {flags -> (syscall(Sysposix_openpt) : int) } const jail_get = {iovp, iovcnt, flags -> (syscall(Sysjail_get, a(iovcnt), a(flags)) : int) } const jail_set = {iovp, iovcnt, flags -> (syscall(Sysjail_set, a(iovcnt), a(flags)) : int) } const jail_remove = {jid -> (syscall(Sysjail_remove) : int) } const closefrom = {lowfd -> (syscall(Sysclosefrom) : int) } const lpathconf = {path, name -> (syscall(Syslpathconf, a(name)) : int) } const __cap_rights_get = {version, fd, rightsp -> (syscall(Sys__cap_rights_get, a(fd), a(rightsp)) : int) } const cap_enter = { -> (syscall(Syscap_enter) : int) } const cap_getmode = {modep -> (syscall(Syscap_getmode) : int) } const pdfork = {fdp, flags -> (syscall(Syspdfork, a(flags)) : int) } const pdkill = {fd, signum -> (syscall(Syspdkill, a(signum)) : int) } const pdgetpid = {fd, pidp -> (syscall(Syspdgetpid, a(pidp)) : int) } const pselect = {nd, _in, ou, ex, ts, sm -> (syscall(Syspselect, a(_in), a(ou), a(ex), a(ts), a(sm)) : int) } const getloginclass = {namebuf, namelen -> (syscall(Sysgetloginclass, a(namelen)) : int) } const setloginclass = {namebuf -> (syscall(Syssetloginclass) : int) } const rctl_get_racct = {inbufp, inbuflen, outbufp, outbuflen -> (syscall(Sysrctl_get_racct, a(inbuflen), a(outbufp), a(outbuflen)) : int) } const rctl_get_rules = {inbufp, inbuflen, outbufp, outbuflen -> (syscall(Sysrctl_get_rules, a(inbuflen), a(outbufp), a(outbuflen)) : int) } const rctl_get_limits = {inbufp, inbuflen, outbufp, outbuflen -> (syscall(Sysrctl_get_limits, a(inbuflen), a(outbufp), a(outbuflen)) : int) } const rctl_add_rule = {inbufp, inbuflen, outbufp, outbuflen -> (syscall(Sysrctl_add_rule, a(inbuflen), a(outbufp), a(outbuflen)) : int) } const rctl_remove_rule = {inbufp, inbuflen, outbufp, outbuflen -> (syscall(Sysrctl_remove_rule, a(inbuflen), a(outbufp), a(outbuflen)) : int) } const posix_fallocate = {fd, offset, len -> (syscall(Sysposix_fallocate, a(offset), a(len)) : int) } const posix_fadvise = {fd, offset, len, advice -> (syscall(Sysposix_fadvise, a(offset), a(len), a(advice)) : int) } const wait6 = {idtype, id, status, options, wrusage, info -> (syscall(Syswait6, a(id), a(status), a(options), a(wrusage), a(info)) : int) } const cap_rights_limit = {fd, rightsp -> (syscall(Syscap_rights_limit, a(rightsp)) : int) } const cap_ioctls_limit = {fd, cmds, ncmds -> (syscall(Syscap_ioctls_limit, a(cmds), a(ncmds)) : int) } const cap_ioctls_get = {fd, cmds, maxcmds -> (syscall(Syscap_ioctls_get, a(cmds), a(maxcmds)) : size) } const cap_fcntls_limit = {fd, fcntlrights -> (syscall(Syscap_fcntls_limit, a(fcntlrights)) : int) } const cap_fcntls_get = {fd, fcntlrightsp -> (syscall(Syscap_fcntls_get, a(fcntlrightsp)) : int) } const bindat = {fd, s, name, namelen -> (syscall(Sysbindat, a(s), a(name), a(namelen)) : int) } const connectat = {fd, s, name, namelen -> (syscall(Sysconnectat, a(s), a(name), a(namelen)) : int) } const chflagsat = {fd, path, flags, atflag -> (syscall(Syschflagsat, a(path), a(flags), a(atflag)) : int) } const accept4 = {s, name, anamelen, flags -> (syscall(Sysaccept4, a(name), a(anamelen), a(flags)) : int) } const pipe2 = {fildes, flags -> (syscall(Syspipe2, a(flags)) : int) } const aio_mlock = {aiocbp -> (syscall(Sysaio_mlock) : int) } const procctl = {idtype, id, com, data -> (syscall(Sysprocctl, a(id), a(com), a(data)) : int) } const ppoll = {fds, nfds, ts, set -> (syscall(Sysppoll, a(nfds), a(ts), a(set)) : int) } const futimens = {fd, times -> (syscall(Sysfutimens, a(times)) : int) } const utimensat = {fd, path, times, flag -> (syscall(Sysutimensat, a(path), a(times), a(flag)) : int) }