diff --git a/src/pkg/syscall/doit b/src/pkg/syscall/doit new file mode 100644 --- /dev/null +++ b/src/pkg/syscall/doit @@ -0,0 +1,42 @@ +#! /usr/local/bin/perl + +use strict; + +while (my $line = <>) { + if ($line !~ m,^//sys\t,) { + print $line; + next; + } + + # Uppercase the first character of the system call name, just + # to prove we're working on the right lines. + $line =~ m,^//sys\t(\w)(\w+)\(([^)]*)\) \(([^)]*)\)$,; + my $syscall = uc($1) . $2; + my $args = $3; + my $rets = $4; + + # Now pull apart the args and put them in Go, not C order. + # Initially will leave out pointers to pointers: handle + # them later. + if ($args !~ /\*.*\*/) { + my @args = split(/,\s*/, $args); + $args = ""; + for my $arg (@args) { + print STDERR "looking at $syscall $arg\n"; + $arg =~ m/^([^\*]+)\s(\*)?(\w+)$/; + print STDERR "\$1 '$1', \$2 '$2', \$3 '$3'\n"; + $args .= ", " if $args; + if ($2) { + $args .= "$3 $2$1"; + } else { + $args .= "$3 $1"; + } + print STDERR "Result args: $args\n"; + print STDERR "\n"; + } + } + + print "//sys\t$syscall($args) ($rets)\n"; +} + +exit 0; diff --git a/src/pkg/syscall/mkall.sh b/src/pkg/syscall/mkall.sh --- a/src/pkg/syscall/mkall.sh +++ b/src/pkg/syscall/mkall.sh @@ -150,6 +150,15 @@ mktypes= mkerrors= ;; +netbsd_386) + mksyscall="mksyscall.sh -l32" + mksysnum="mksysnum_netbsd.sh /usr/src/sys/kern/syscalls.master" + mktypes="godefs -gsyscall -f-m32" + ;; +netbsd_amd64) + mksysnum="mksysnum_netbsd.sh /usr/src/sys/kern/syscalls.master" + mktypes="godefs -gsyscall -f-m64" + ;; *) echo 'unrecognized $GOOS_$GOARCH: ' "$GOOSARCH" 1>&2 exit 1 diff --git a/src/pkg/syscall/mksysnum_netbsd.sh b/src/pkg/syscall/mksysnum_netbsd.sh new file mode 100644 --- /dev/null +++ b/src/pkg/syscall/mksysnum_netbsd.sh @@ -0,0 +1,58 @@ +#!/usr/bin/env perl + +# Copyright 2009, 2010 The Go Authors. All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. +# +# Generate system call table for NetBSD from master list, e.g. +# /usr/src/sys/kern/syscalls.master but depending where you have a +# NetBSD source tree. + +use strict; + +my $command = "mksysnum_netbsd.sh " . join(' ', @ARGV); +my ($release_major, $release_minor) = split(/\./, `uname -r`); +my $current = "$release_major$release_minor"; + +print <<"EOF"; +// $command +// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT + +package syscall + +const ( +EOF + +# From syscalls.master: +# +# The type-dependent arguments are as follows: +# For STD, NODEF, NOARGS, and compat syscalls: +# { return_type|prefix|compat(optional)|basename(pseudo-proto); } [alias] +# +# For go, we can ignore compatibility syscalls: they're for old +# binaries built on earlier versions of the operating system. All +# we need to do is make sure that when building go, we use the +# latest version of each syscall. + +# REVISIT could be smarter about continuation lines +while(<>){ + chomp; + if (/^([0-9]+)\s+STD\s+(?:RUMP\s+)?{\s+([^|]+)\|[^|]*\|([^|]*)\|([^(]+)([^\)]*)([^\)]*\);\s+})?/) { + my $num = $1; + my $return_type = $2; + my $compat = $3; + my $name = $4; + my $sys_name = uc "SYS_$4"; + my $proto = "$name$5$6"; + + if ($compat eq "" or $compat eq $current) { + print "\t$sys_name = $num // { $return_type $proto\n"; + } + } +} + +print <<"EOF"; +) +EOF + +exit 0; diff --git a/src/pkg/syscall/netbsd-syscalls.master b/src/pkg/syscall/netbsd-syscalls.master new file mode 100644 --- /dev/null +++ b/src/pkg/syscall/netbsd-syscalls.master @@ -0,0 +1,897 @@ + $NetBSD: pooka $ + +; @(#)syscalls.master 8.2 (Berkeley) 1/13/94 + +; NetBSD system call name/number "master" file. +; (See syscalls.conf to see what it is processed into.) +; +; Fields: number type [type-dependent ...] +; number system call number, must be in order +; type one of STD, OBSOL, UNIMPL, IGNORED, NODEF, NOARGS, or one of +; the compatibility options defined in syscalls.conf. +; +; Optional fields are specified after the type field +; (NOTE! they *must* be specified in this order): +; MODULAR:attempt to autoload system call if not present +; RUMP: the system call can be called directly from rumps +; +; types: +; STD always included +; OBSOL obsolete, not included in system +; IGNORED syscall is a null op, but always succeeds +; UNIMPL unimplemented, not included in system +; EXCL implemented, but not included in system +; NODEF included, but don't define the syscall number +; NOARGS included, but don't define the syscall args structure +; INDIR included, but don't define the syscall args structure, +; and allow it to be "really" varargs. +; +; arguments: +; PAD argument not part of the C interface, used only for padding +; +; The compat options are defined in the syscalls.conf file, and the +; compat option name is prefixed to the syscall name. Other than +; that, they're like NODEF (for 'compat' options), or STD (for +; 'libcompat' options). +; +; The type-dependent arguments are as follows: +; For STD, NODEF, NOARGS, and compat syscalls: +; { return_type|prefix|compat(optional)|basename(pseudo-proto); } [alias] +; For other syscalls: +; [comment] +; +; #ifdef's, etc. may be included, and are copied to the output files. +; #include's are copied to the syscall names and switch definition files only. + +#include "opt_modular.h" +#include "opt_ntp.h" +#include "opt_sysv.h" + +#include "fs_lfs.h" + +#include +#include +#include +#include +#include +#include + +%% + +; Reserved/unimplemented system calls in the range 0-150 inclusive +; are reserved for use in future Berkeley releases. +; Additional system calls implemented in vendor and other +; redistributions should be placed in the reserved range at the end +; of the current calls. + +0 INDIR { int|sys||syscall(int code, \ + ... register_t args[SYS_MAXSYSARGS]); } +1 STD { void|sys||exit(int rval); } +2 STD { int|sys||fork(void); } +3 STD RUMP { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } +4 STD RUMP { ssize_t|sys||write(int fd, const void *buf, \ + size_t nbyte); } +5 STD RUMP { int|sys||open(const char *path, \ + int flags, ... mode_t mode); } +6 STD RUMP { int|sys||close(int fd); } +7 COMPAT_50 MODULAR { int|sys||wait4(int pid, int *status, \ + int options, struct rusage50 *rusage); } +8 COMPAT_43 MODULAR { int|sys||creat(const char *path, mode_t mode); } ocreat +9 STD RUMP { int|sys||link(const char *path, const char *link); } +10 STD RUMP { int|sys||unlink(const char *path); } +11 OBSOL execv +12 STD RUMP { int|sys||chdir(const char *path); } +13 STD RUMP { int|sys||fchdir(int fd); } +14 COMPAT_50 MODULAR { int|sys||mknod(const char *path, mode_t mode, \ + uint32_t dev); } +15 STD RUMP { int|sys||chmod(const char *path, mode_t mode); } +16 STD RUMP { int|sys||chown(const char *path, uid_t uid, \ + gid_t gid); } +17 STD { int|sys||obreak(char *nsize); } break +18 COMPAT_20 MODULAR { int|sys||getfsstat(struct statfs12 *buf, \ + long bufsize, int flags); } +19 COMPAT_43 MODULAR { long|sys||lseek(int fd, long offset, int whence); }\ + olseek +20 STD { pid_t|sys||getpid_with_ppid(void); } getpid +21 COMPAT_40 MODULAR { int|sys||mount(const char *type, const char *path, \ + int flags, void *data); } +22 STD RUMP { int|sys||unmount(const char *path, int flags); } +23 STD { int|sys||setuid(uid_t uid); } +24 STD { uid_t|sys||getuid_with_euid(void); } getuid +25 STD { uid_t|sys||geteuid(void); } +26 STD { int|sys||ptrace(int req, pid_t pid, void *addr, \ + int data); } +27 STD RUMP { ssize_t|sys||recvmsg(int s, struct msghdr *msg, \ + int flags); } +28 STD RUMP { ssize_t|sys||sendmsg(int s, \ + const struct msghdr *msg, int flags); } +29 STD RUMP { ssize_t|sys||recvfrom(int s, void *buf, size_t len, \ + int flags, struct sockaddr *from, \ + unsigned int *fromlenaddr); } +30 STD RUMP { int|sys||accept(int s, struct sockaddr *name, \ + unsigned int *anamelen); } +31 STD RUMP { int|sys||getpeername(int fdes, struct sockaddr *asa, \ + unsigned int *alen); } +32 STD RUMP { int|sys||getsockname(int fdes, struct sockaddr *asa, \ + unsigned int *alen); } +33 STD RUMP { int|sys||access(const char *path, int flags); } +34 STD RUMP { int|sys||chflags(const char *path, u_long flags); } +35 STD RUMP { int|sys||fchflags(int fd, u_long flags); } +36 STD RUMP { void|sys||sync(void); } +37 STD { int|sys||kill(int pid, int signum); } +38 COMPAT_43 MODULAR { int|sys||stat(const char *path, struct stat43 *ub); } \ + stat43 +39 STD { pid_t|sys||getppid(void); } +40 COMPAT_43 MODULAR { int|sys||lstat(const char *path, \ + struct stat43 *ub); } lstat43 +41 STD RUMP { int|sys||dup(int fd); } +42 STD RUMP { int|sys||pipe(void); } +43 STD { gid_t|sys||getegid(void); } +44 STD { int|sys||profil(char *samples, size_t size, \ + u_long offset, u_int scale); } +45 STD { int|sys||ktrace(const char *fname, int ops, \ + int facs, int pid); } +46 COMPAT_13 MODULAR { int|sys||sigaction(int signum, \ + const struct sigaction13 *nsa, \ + struct sigaction13 *osa); } sigaction13 +47 STD { gid_t|sys||getgid_with_egid(void); } getgid +48 COMPAT_13 MODULAR { int|sys||sigprocmask(int how, \ + int mask); } sigprocmask13 +49 STD { int|sys||__getlogin(char *namebuf, size_t namelen); } +50 STD { int|sys||__setlogin(const char *namebuf); } +51 STD { int|sys||acct(const char *path); } +52 COMPAT_13 MODULAR { int|sys||sigpending(void); } sigpending13 +53 COMPAT_13 MODULAR { int|sys||sigaltstack( \ + const struct sigaltstack13 *nss, \ + struct sigaltstack13 *oss); } sigaltstack13 +54 STD RUMP { int|sys||ioctl(int fd, \ + u_long com, ... void *data); } +55 COMPAT_12 MODULAR { int|sys||reboot(int opt); } oreboot +56 STD RUMP { int|sys||revoke(const char *path); } +57 STD RUMP { int|sys||symlink(const char *path, \ + const char *link); } +58 STD RUMP { ssize_t|sys||readlink(const char *path, char *buf, \ + size_t count); } +59 STD { int|sys||execve(const char *path, \ + char * const *argp, char * const *envp); } +60 STD { mode_t|sys||umask(mode_t newmask); } +61 STD RUMP { int|sys||chroot(const char *path); } +62 COMPAT_43 MODULAR { int|sys||fstat(int fd, struct stat43 *sb); } fstat43 +63 COMPAT_43 MODULAR { int|sys||getkerninfo(int op, char *where, int *size, \ + int arg); } ogetkerninfo +64 COMPAT_43 MODULAR { int|sys||getpagesize(void); } ogetpagesize +65 COMPAT_12 MODULAR { int|sys||msync(void *addr, size_t len); } +; XXX COMPAT_??? for 4.4BSD-compatible vfork(2)? +66 STD { int|sys||vfork(void); } +67 OBSOL vread +68 OBSOL vwrite +69 STD { int|sys||sbrk(intptr_t incr); } +70 STD { int|sys||sstk(int incr); } +71 COMPAT_43 MODULAR { int|sys||mmap(void *addr, size_t len, int prot, \ + int flags, int fd, long pos); } ommap +72 STD { int|sys||ovadvise(int anom); } vadvise +73 STD { int|sys||munmap(void *addr, size_t len); } +74 STD { int|sys||mprotect(void *addr, size_t len, \ + int prot); } +75 STD { int|sys||madvise(void *addr, size_t len, \ + int behav); } +76 OBSOL vhangup +77 OBSOL vlimit +78 STD { int|sys||mincore(void *addr, size_t len, \ + char *vec); } +79 STD { int|sys||getgroups(int gidsetsize, \ + gid_t *gidset); } +80 STD { int|sys||setgroups(int gidsetsize, \ + const gid_t *gidset); } +81 STD { int|sys||getpgrp(void); } +82 STD { int|sys||setpgid(int pid, int pgid); } +83 COMPAT_50 MODULAR { int|sys||setitimer(int which, \ + const struct itimerval50 *itv, \ + struct itimerval50 *oitv); } +84 COMPAT_43 MODULAR { int|sys||wait(void); } owait +85 COMPAT_12 MODULAR { int|sys||swapon(const char *name); } oswapon +86 COMPAT_50 MODULAR { int|sys||getitimer(int which, \ + struct itimerval50 *itv); } +87 COMPAT_43 MODULAR { int|sys||gethostname(char *hostname, u_int len); } \ + ogethostname +88 COMPAT_43 MODULAR { int|sys||sethostname(char *hostname, u_int len); } \ + osethostname +89 COMPAT_43 MODULAR { int|sys||getdtablesize(void); } ogetdtablesize +90 STD RUMP { int|sys||dup2(int from, int to); } +91 UNIMPL getdopt +92 STD RUMP { int|sys||fcntl(int fd, int cmd, ... void *arg); } +93 COMPAT_50 MODULAR { int|sys||select(int nd, fd_set *in, fd_set *ou, \ + fd_set *ex, struct timeval50 *tv); } +94 UNIMPL setdopt +95 STD RUMP { int|sys||fsync(int fd); } +96 STD { int|sys||setpriority(int which, id_t who, int prio); } +97 COMPAT_30 MODULAR { int|sys||socket(int domain, int type, int protocol); } +98 STD RUMP { int|sys||connect(int s, const struct sockaddr *name, \ + unsigned int namelen); } +99 COMPAT_43 MODULAR { int|sys||accept(int s, void *name, \ + int *anamelen); } oaccept +100 STD { int|sys||getpriority(int which, id_t who); } +101 COMPAT_43 MODULAR { int|sys||send(int s, void *buf, int len, \ + int flags); } osend +102 COMPAT_43 MODULAR { int|sys||recv(int s, void *buf, int len, \ + int flags); } orecv +103 COMPAT_13 MODULAR { int|sys||sigreturn(struct sigcontext13 *sigcntxp); } \ + sigreturn13 +104 STD RUMP { int|sys||bind(int s, const struct sockaddr *name, \ + unsigned int namelen); } +105 STD RUMP { int|sys||setsockopt(int s, int level, int name, \ + const void *val, unsigned int valsize); } +106 STD RUMP { int|sys||listen(int s, int backlog); } +107 OBSOL vtimes +108 COMPAT_43 MODULAR { int|sys||sigvec(int signum, struct sigvec *nsv, \ + struct sigvec *osv); } osigvec +109 COMPAT_43 MODULAR { int|sys||sigblock(int mask); } osigblock +110 COMPAT_43 MODULAR { int|sys||sigsetmask(int mask); } osigsetmask +111 COMPAT_13 MODULAR { int|sys||sigsuspend(int mask); } sigsuspend13 +112 COMPAT_43 MODULAR { int|sys||sigstack(struct sigstack *nss, \ + struct sigstack *oss); } osigstack +113 COMPAT_43 MODULAR { int|sys||recvmsg(int s, struct omsghdr *msg, \ + int flags); } orecvmsg +114 COMPAT_43 MODULAR { int|sys||sendmsg(int s, void *msg, int flags); } \ + osendmsg +115 OBSOL vtrace +116 COMPAT_50 MODULAR { int|sys||gettimeofday(struct timeval50 *tp, \ + void *tzp); } +117 COMPAT_50 MODULAR { int|sys||getrusage(int who, struct rusage50 *rusage); } +118 STD RUMP { int|sys||getsockopt(int s, int level, int name, \ + void *val, unsigned int *avalsize); } +119 OBSOL resuba +120 STD RUMP { ssize_t|sys||readv(int fd, \ + const struct iovec *iovp, int iovcnt); } +121 STD RUMP { ssize_t|sys||writev(int fd, \ + const struct iovec *iovp, int iovcnt); } +122 COMPAT_50 MODULAR { int|sys||settimeofday(const struct timeval50 *tv, \ + const void *tzp); } +123 STD RUMP { int|sys||fchown(int fd, uid_t uid, gid_t gid); } +124 STD RUMP { int|sys||fchmod(int fd, mode_t mode); } +125 COMPAT_43 MODULAR { int|sys||recvfrom(int s, void *buf, size_t len, \ + int flags, void *from, int *fromlenaddr); } \ + orecvfrom +126 STD { int|sys||setreuid(uid_t ruid, uid_t euid); } +127 STD { int|sys||setregid(gid_t rgid, gid_t egid); } +128 STD RUMP { int|sys||rename(const char *from, const char *to); } +129 COMPAT_43 MODULAR { int|sys||truncate(const char *path, long length); } \ + otruncate +130 COMPAT_43 MODULAR { int|sys||ftruncate(int fd, long length); } oftruncate +131 STD RUMP { int|sys||flock(int fd, int how); } +132 STD RUMP { int|sys||mkfifo(const char *path, mode_t mode); } +133 STD RUMP { ssize_t|sys||sendto(int s, const void *buf, \ + size_t len, int flags, const struct sockaddr *to, \ + unsigned int tolen); } +134 STD RUMP { int|sys||shutdown(int s, int how); } +135 STD RUMP { int|sys||socketpair(int domain, int type, \ + int protocol, int *rsv); } +136 STD RUMP { int|sys||mkdir(const char *path, mode_t mode); } +137 STD RUMP { int|sys||rmdir(const char *path); } +138 COMPAT_50 MODULAR { int|sys||utimes(const char *path, \ + const struct timeval50 *tptr); } +139 OBSOL 4.2 sigreturn +140 COMPAT_50 MODULAR { int|sys||adjtime(const struct timeval50 *delta, \ + struct timeval50 *olddelta); } +141 COMPAT_43 MODULAR { int|sys||getpeername(int fdes, void *asa, \ + int *alen); } ogetpeername +142 COMPAT_43 MODULAR { int32_t|sys||gethostid(void); } ogethostid +143 COMPAT_43 MODULAR { int|sys||sethostid(int32_t hostid); } osethostid +144 COMPAT_43 MODULAR { int|sys||getrlimit(int which, \ + struct orlimit *rlp); } ogetrlimit +145 COMPAT_43 MODULAR { int|sys||setrlimit(int which, \ + const struct orlimit *rlp); } osetrlimit +146 COMPAT_43 MODULAR { int|sys||killpg(int pgid, int signum); } okillpg +147 STD { int|sys||setsid(void); } +148 STD { int|sys||quotactl(const char *path, int cmd, \ + int uid, void *arg); } +149 COMPAT_43 MODULAR { int|sys||quota(void); } oquota +150 COMPAT_43 MODULAR { int|sys||getsockname(int fdec, void *asa, \ + int *alen); } ogetsockname + +; Syscalls 151-180 inclusive are reserved for vendor-specific +; system calls. (This includes various calls added for compatibity +; with other Unix variants.) +; Some of these calls are now supported by BSD... +151 UNIMPL +152 UNIMPL +153 UNIMPL +154 UNIMPL +155 STD MODULAR RUMP { int|sys||nfssvc(int flag, void *argp); } +156 COMPAT_43 MODULAR { int|sys||getdirentries(int fd, char *buf, \ + u_int count, long *basep); } ogetdirentries +157 COMPAT_20 MODULAR { int|sys||statfs(const char *path, \ + struct statfs12 *buf); } +158 COMPAT_20 MODULAR { int|sys||fstatfs(int fd, struct statfs12 *buf); } +159 UNIMPL +160 UNIMPL +161 COMPAT_30 MODULAR { int|sys||getfh(const char *fname, \ + struct compat_30_fhandle *fhp); } +162 COMPAT_09 MODULAR { int|sys||getdomainname(char *domainname, int len); } \ + ogetdomainname +163 COMPAT_09 MODULAR { int|sys||setdomainname(char *domainname, int len); } \ + osetdomainname +164 COMPAT_09 MODULAR { int|sys||uname(struct outsname *name); } ouname +165 STD { int|sys||sysarch(int op, void *parms); } +166 UNIMPL +167 UNIMPL +168 UNIMPL +; XXX more generally, never on machines where sizeof(void *) != sizeof(int) +#if (defined(SYSVSEM) || !defined(_KERNEL_OPT)) && !defined(_LP64) +169 COMPAT_10 MODULAR { int|sys||semsys(int which, int a2, int a3, int a4, \ + int a5); } osemsys +#else +169 EXCL 1.0 semsys +#endif +; XXX more generally, never on machines where sizeof(void *) != sizeof(int) +#if (defined(SYSVMSG) || !defined(_KERNEL_OPT)) && !defined(_LP64) +170 COMPAT_10 MODULAR { int|sys||msgsys(int which, int a2, int a3, int a4, \ + int a5, int a6); } omsgsys +#else +170 EXCL 1.0 msgsys +#endif +; XXX more generally, never on machines where sizeof(void *) != sizeof(int) +#if (defined(SYSVSHM) || !defined(_KERNEL_OPT)) && !defined(_LP64) +171 COMPAT_10 MODULAR { int|sys||shmsys(int which, int a2, int a3, int a4); } \ + oshmsys +#else +171 EXCL 1.0 shmsys +#endif +172 UNIMPL +173 STD RUMP { ssize_t|sys||pread(int fd, void *buf, \ + size_t nbyte, int PAD, off_t offset); } +174 STD RUMP { ssize_t|sys||pwrite(int fd, const void *buf, \ + size_t nbyte, int PAD, off_t offset); } +; For some reason, ntp_gettime doesn't want to raise SIGSYS when it's excluded. +175 COMPAT_30 { int|sys||ntp_gettime(struct ntptimeval30 *ntvp); } +#if defined(NTP) || !defined(_KERNEL_OPT) +176 STD { int|sys||ntp_adjtime(struct timex *tp); } +#else +176 EXCL ntp_adjtime +#endif +177 UNIMPL +178 UNIMPL +179 UNIMPL +180 UNIMPL + +; Syscalls 180-199 are used by/reserved for BSD +181 STD { int|sys||setgid(gid_t gid); } +182 STD { int|sys||setegid(gid_t egid); } +183 STD { int|sys||seteuid(uid_t euid); } +#if defined(LFS) || !defined(_KERNEL) +184 STD { int|sys||lfs_bmapv(fsid_t *fsidp, \ + struct block_info *blkiov, int blkcnt); } +185 STD { int|sys||lfs_markv(fsid_t *fsidp, \ + struct block_info *blkiov, int blkcnt); } +186 STD { int|sys||lfs_segclean(fsid_t *fsidp, u_long segment); } +187 COMPAT_50 MODULAR { int|sys||lfs_segwait(fsid_t *fsidp, \ + struct timeval50 *tv); } +#else +184 EXCL lfs_bmapv +185 EXCL lfs_markv +186 EXCL lfs_segclean +187 EXCL lfs_segwait +#endif +188 COMPAT_12 MODULAR { int|sys||stat(const char *path, struct stat12 *ub); } \ + stat12 +189 COMPAT_12 MODULAR { int|sys||fstat(int fd, struct stat12 *sb); } fstat12 +190 COMPAT_12 MODULAR { int|sys||lstat(const char *path, \ + struct stat12 *ub); } lstat12 +191 STD { long|sys||pathconf(const char *path, int name); } +192 STD { long|sys||fpathconf(int fd, int name); } +193 UNIMPL +194 STD { int|sys||getrlimit(int which, \ + struct rlimit *rlp); } +195 STD { int|sys||setrlimit(int which, \ + const struct rlimit *rlp); } +196 COMPAT_12 MODULAR { int|sys||getdirentries(int fd, char *buf, \ + u_int count, long *basep); } +197 STD { void *|sys||mmap(void *addr, size_t len, int prot, \ + int flags, int fd, long PAD, off_t pos); } +198 INDIR { quad_t|sys||__syscall(quad_t code, \ + ... register_t args[SYS_MAXSYSARGS]); } +199 STD RUMP { off_t|sys||lseek(int fd, int PAD, off_t offset, \ + int whence); } +200 STD RUMP { int|sys||truncate(const char *path, int PAD, \ + off_t length); } +201 STD RUMP { int|sys||ftruncate(int fd, int PAD, off_t length); } +202 STD RUMP { int|sys||__sysctl(const int *name, u_int namelen, \ + void *old, size_t *oldlenp, const void *new, \ + size_t newlen); } +203 STD { int|sys||mlock(const void *addr, size_t len); } +204 STD { int|sys||munlock(const void *addr, size_t len); } +205 STD { int|sys||undelete(const char *path); } +206 COMPAT_50 MODULAR { int|sys||futimes(int fd, \ + const struct timeval50 *tptr); } +207 STD { pid_t|sys||getpgid(pid_t pid); } +208 STD RUMP { int|sys||reboot(int opt, char *bootstr); } +209 STD RUMP { int|sys||poll(struct pollfd *fds, u_int nfds, \ + int timeout); } +; +; Syscalls 210-219 are reserved for dynamically loaded syscalls +; +210 UNIMPL +211 UNIMPL +212 UNIMPL +213 UNIMPL +214 UNIMPL +215 UNIMPL +216 UNIMPL +217 UNIMPL +218 UNIMPL +219 UNIMPL +; System calls 220-300 are reserved for use by NetBSD +#if defined(SYSVSEM) || !defined(_KERNEL_OPT) +220 COMPAT_14 MODULAR { int|sys||__semctl(int semid, int semnum, int cmd, \ + union __semun *arg); } +221 STD { int|sys||semget(key_t key, int nsems, int semflg); } +222 STD { int|sys||semop(int semid, struct sembuf *sops, \ + size_t nsops); } +223 STD { int|sys||semconfig(int flag); } +#else +220 EXCL compat_14_semctl +221 EXCL semget +222 EXCL semop +223 EXCL semconfig +#endif +#if defined(SYSVMSG) || !defined(_KERNEL_OPT) +224 COMPAT_14 MODULAR { int|sys||msgctl(int msqid, int cmd, \ + struct msqid_ds14 *buf); } +225 STD { int|sys||msgget(key_t key, int msgflg); } +226 STD { int|sys||msgsnd(int msqid, const void *msgp, \ + size_t msgsz, int msgflg); } +227 STD { ssize_t|sys||msgrcv(int msqid, void *msgp, \ + size_t msgsz, long msgtyp, int msgflg); } +#else +224 EXCL compat_14_msgctl +225 EXCL msgget +226 EXCL msgsnd +227 EXCL msgrcv +#endif +#if defined(SYSVSHM) || !defined(_KERNEL_OPT) +228 STD { void *|sys||shmat(int shmid, const void *shmaddr, \ + int shmflg); } +229 COMPAT_14 MODULAR { int|sys||shmctl(int shmid, int cmd, \ + struct shmid_ds14 *buf); } +230 STD { int|sys||shmdt(const void *shmaddr); } +231 STD { int|sys||shmget(key_t key, size_t size, int shmflg); } +#else +228 EXCL shmat +229 EXCL compat_14_shmctl +230 EXCL shmdt +231 EXCL shmget +#endif +232 COMPAT_50 MODULAR { int|sys||clock_gettime(clockid_t clock_id, \ + struct timespec50 *tp); } +233 COMPAT_50 MODULAR { int|sys||clock_settime(clockid_t clock_id, \ + const struct timespec50 *tp); } +234 COMPAT_50 MODULAR { int|sys||clock_getres(clockid_t clock_id, \ + struct timespec50 *tp); } +235 STD { int|sys||timer_create(clockid_t clock_id, \ + struct sigevent *evp, timer_t *timerid); } +236 STD { int|sys||timer_delete(timer_t timerid); } +237 COMPAT_50 MODULAR { int|sys||timer_settime(timer_t timerid, int flags, \ + const struct itimerspec50 *value, \ + struct itimerspec50 *ovalue); } +238 COMPAT_50 MODULAR { int|sys||timer_gettime(timer_t timerid, struct \ + itimerspec50 *value); } +239 STD { int|sys||timer_getoverrun(timer_t timerid); } +; +; Syscalls 240-269 are reserved for other IEEE Std1003.1b syscalls +; +240 COMPAT_50 MODULAR { int|sys||nanosleep(const struct timespec50 *rqtp, \ + struct timespec50 *rmtp); } +241 STD RUMP { int|sys||fdatasync(int fd); } +242 STD { int|sys||mlockall(int flags); } +243 STD { int|sys||munlockall(void); } +244 COMPAT_50 MODULAR { int|sys||__sigtimedwait(const sigset_t *set, \ + siginfo_t *info, \ + struct timespec50 *timeout); } +245 UNIMPL sys_sigqueue +246 STD RUMP { int|sys||modctl(int cmd, void *arg); } +247 STD MODULAR { int|sys||_ksem_init(unsigned int value, intptr_t *idp); } +248 STD MODULAR { int|sys||_ksem_open(const char *name, int oflag, \ + mode_t mode, unsigned int value, intptr_t *idp); } +249 STD MODULAR { int|sys||_ksem_unlink(const char *name); } +250 STD MODULAR { int|sys||_ksem_close(intptr_t id); } +251 STD MODULAR { int|sys||_ksem_post(intptr_t id); } +252 STD MODULAR { int|sys||_ksem_wait(intptr_t id); } +253 STD MODULAR { int|sys||_ksem_trywait(intptr_t id); } +254 STD MODULAR { int|sys||_ksem_getvalue(intptr_t id, \ + unsigned int *value); } +255 STD MODULAR { int|sys||_ksem_destroy(intptr_t id); } +256 UNIMPL sys__ksem_timedwait +257 STD MODULAR { mqd_t|sys||mq_open(const char * name, int oflag, \ + mode_t mode, struct mq_attr *attr); } +258 STD MODULAR { int|sys||mq_close(mqd_t mqdes); } +259 STD MODULAR { int|sys||mq_unlink(const char *name); } +260 STD MODULAR { int|sys||mq_getattr(mqd_t mqdes, \ + struct mq_attr *mqstat); } +261 STD MODULAR { int|sys||mq_setattr(mqd_t mqdes, \ + const struct mq_attr *mqstat, \ + struct mq_attr *omqstat); } +262 STD MODULAR { int|sys||mq_notify(mqd_t mqdes, \ + const struct sigevent *notification); } +263 STD MODULAR { int|sys||mq_send(mqd_t mqdes, const char *msg_ptr, \ + size_t msg_len, unsigned msg_prio); } +264 STD MODULAR { ssize_t|sys||mq_receive(mqd_t mqdes, char *msg_ptr, \ + size_t msg_len, unsigned *msg_prio); } +265 COMPAT_50 MODULAR { int|sys||mq_timedsend(mqd_t mqdes, \ + const char *msg_ptr, size_t msg_len, \ + unsigned msg_prio, \ + const struct timespec50 *abs_timeout); } +266 COMPAT_50 MODULAR { ssize_t|sys||mq_timedreceive(mqd_t mqdes, \ + char *msg_ptr, size_t msg_len, unsigned *msg_prio, \ + const struct timespec50 *abs_timeout); } +267 UNIMPL +268 UNIMPL +269 UNIMPL +270 STD { int|sys||__posix_rename(const char *from, \ + const char *to); } +271 STD { int|sys||swapctl(int cmd, void *arg, int misc); } +272 COMPAT_30 MODULAR { int|sys||getdents(int fd, char *buf, size_t count); } +273 STD { int|sys||minherit(void *addr, size_t len, \ + int inherit); } +274 STD RUMP { int|sys||lchmod(const char *path, mode_t mode); } +275 STD RUMP { int|sys||lchown(const char *path, uid_t uid, \ + gid_t gid); } +276 COMPAT_50 MODULAR { int|sys||lutimes(const char *path, \ + const struct timeval50 *tptr); } +277 STD { int|sys|13|msync(void *addr, size_t len, int flags); } +278 COMPAT_30 MODULAR { int|sys|13|stat(const char *path, struct stat13 *ub); } +279 COMPAT_30 MODULAR { int|sys|13|fstat(int fd, struct stat13 *sb); } +280 COMPAT_30 MODULAR { int|sys|13|lstat(const char *path, struct stat13 *ub); } +281 STD { int|sys|14|sigaltstack( \ + const struct sigaltstack *nss, \ + struct sigaltstack *oss); } +282 STD { int|sys|14|vfork(void); } +283 STD { int|sys||__posix_chown(const char *path, uid_t uid, \ + gid_t gid); } +284 STD { int|sys||__posix_fchown(int fd, uid_t uid, \ + gid_t gid); } +285 STD { int|sys||__posix_lchown(const char *path, uid_t uid, \ + gid_t gid); } +286 STD { pid_t|sys||getsid(pid_t pid); } +287 STD { pid_t|sys||__clone(int flags, void *stack); } +288 STD { int|sys||fktrace(int fd, int ops, \ + int facs, int pid); } +289 STD { ssize_t|sys||preadv(int fd, \ + const struct iovec *iovp, int iovcnt, \ + int PAD, off_t offset); } +290 STD { ssize_t|sys||pwritev(int fd, \ + const struct iovec *iovp, int iovcnt, \ + int PAD, off_t offset); } +291 COMPAT_16 MODULAR { int|sys|14|sigaction(int signum, \ + const struct sigaction *nsa, \ + struct sigaction *osa); } +292 STD { int|sys|14|sigpending(sigset_t *set); } +293 STD { int|sys|14|sigprocmask(int how, \ + const sigset_t *set, \ + sigset_t *oset); } +294 STD { int|sys|14|sigsuspend(const sigset_t *set); } +295 COMPAT_16 MODULAR { int|sys|14|sigreturn(struct sigcontext *sigcntxp); } +296 STD { int|sys||__getcwd(char *bufp, size_t length); } +297 STD RUMP { int|sys||fchroot(int fd); } +298 COMPAT_30 MODULAR { int|sys||fhopen(const struct compat_30_fhandle *fhp, int flags); } +299 COMPAT_30 MODULAR { int|sys||fhstat(const struct compat_30_fhandle *fhp, \ + struct stat13 *sb); } +300 COMPAT_20 MODULAR { int|sys||fhstatfs(const struct compat_30_fhandle *fhp, \ + struct statfs12 *buf); } +#if defined(SYSVSEM) || !defined(_KERNEL_OPT) +301 COMPAT_50 MODULAR { int|sys|13|__semctl(int semid, int semnum, int cmd, \ + ... union __semun *arg); } +#else +301 EXCL ____semctl13 +#endif +#if defined(SYSVMSG) || !defined(_KERNEL_OPT) +302 COMPAT_50 MODULAR { int|sys|13|msgctl(int msqid, int cmd, \ + struct msqid_ds *buf); } +#else +302 EXCL __msgctl13 +#endif +#if defined(SYSVSHM) || !defined(_KERNEL_OPT) +303 COMPAT_50 MODULAR { int|sys|13|shmctl(int shmid, int cmd, \ + struct shmid_ds13 *buf); } +#else +303 EXCL __shmctl13 +#endif +304 STD RUMP { int|sys||lchflags(const char *path, u_long flags); } +305 STD { int|sys||issetugid(void); } +306 STD { int|sys||utrace(const char *label, void *addr, \ + size_t len); } +307 STD { int|sys||getcontext(struct __ucontext *ucp); } +308 STD { int|sys||setcontext(const struct __ucontext *ucp); } +309 STD { int|sys||_lwp_create(const struct __ucontext *ucp, \ + u_long flags, lwpid_t *new_lwp); } +310 STD { int|sys||_lwp_exit(void); } +311 STD { lwpid_t|sys||_lwp_self(void); } +312 STD { int|sys||_lwp_wait(lwpid_t wait_for, \ + lwpid_t *departed); } +313 STD { int|sys||_lwp_suspend(lwpid_t target); } +314 STD { int|sys||_lwp_continue(lwpid_t target); } +315 STD { int|sys||_lwp_wakeup(lwpid_t target); } +316 STD { void *|sys||_lwp_getprivate(void); } +317 STD { void|sys||_lwp_setprivate(void *ptr); } +318 STD { int|sys||_lwp_kill(lwpid_t target, int signo); } +319 STD { int|sys||_lwp_detach(lwpid_t target); } +320 COMPAT_50 MODULAR { int|sys||_lwp_park(const struct timespec50 *ts, \ + lwpid_t unpark, const void *hint, \ + const void *unparkhint); } +321 STD { int|sys||_lwp_unpark(lwpid_t target, const void *hint); } +322 STD { ssize_t|sys||_lwp_unpark_all(const lwpid_t *targets, \ + size_t ntargets, const void *hint); } +323 STD { int|sys||_lwp_setname(lwpid_t target, \ + const char *name); } +324 STD { int|sys||_lwp_getname(lwpid_t target, \ + char *name, size_t len); } +325 STD { int|sys||_lwp_ctl(int features, \ + struct lwpctl **address); } +; Syscalls 326-339 reserved for LWP syscalls. +326 UNIMPL +327 UNIMPL +328 UNIMPL +329 UNIMPL +; SA system calls. +330 STD { int|sys||sa_register(sa_upcall_t new, \ + sa_upcall_t *old, int flags, \ + ssize_t stackinfo_offset); } +331 STD { int|sys||sa_stacks(int num, stack_t *stacks); } +332 STD { int|sys||sa_enable(void); } +333 STD { int|sys||sa_setconcurrency(int concurrency); } +334 STD { int|sys||sa_yield(void); } +335 STD { int|sys||sa_preempt(int sa_id); } +336 OBSOL sys_sa_unblockyield +; +; Syscalls 337-339 are reserved for other scheduler activation syscalls. +; +337 UNIMPL +338 UNIMPL +339 UNIMPL +340 STD { int|sys||__sigaction_sigtramp(int signum, \ + const struct sigaction *nsa, \ + struct sigaction *osa, \ + const void *tramp, int vers); } +341 STD { int|sys||pmc_get_info(int ctr, int op, void *args); } +342 STD { int|sys||pmc_control(int ctr, int op, void *args); } +343 STD { int|sys||rasctl(void *addr, size_t len, int op); } +344 STD RUMP { int|sys||kqueue(void); } +345 COMPAT_50 MODULAR { int|sys||kevent(int fd, \ + const struct kevent *changelist, size_t nchanges, \ + struct kevent *eventlist, size_t nevents, \ + const struct timespec50 *timeout); } + +; Scheduling system calls. +346 STD { int|sys||_sched_setparam(pid_t pid, lwpid_t lid, \ + int policy, const struct sched_param *params); } +347 STD { int|sys||_sched_getparam(pid_t pid, lwpid_t lid, \ + int *policy, struct sched_param *params); } +348 STD { int|sys||_sched_setaffinity(pid_t pid, lwpid_t lid, \ + size_t size, const cpuset_t *cpuset); } +349 STD { int|sys||_sched_getaffinity(pid_t pid, lwpid_t lid, \ + size_t size, cpuset_t *cpuset); } +350 STD { int|sys||sched_yield(void); } +351 UNIMPL +352 UNIMPL +353 UNIMPL + +354 STD RUMP { int|sys||fsync_range(int fd, int flags, off_t start, \ + off_t length); } +355 STD { int|sys||uuidgen(struct uuid *store, int count); } +356 STD RUMP { int|sys||getvfsstat(struct statvfs *buf, \ + size_t bufsize, int flags); } +357 STD RUMP { int|sys||statvfs1(const char *path, \ + struct statvfs *buf, int flags); } +358 STD RUMP { int|sys||fstatvfs1(int fd, struct statvfs *buf, \ + int flags); } +359 COMPAT_30 MODULAR { int|sys||fhstatvfs1(const struct compat_30_fhandle *fhp, \ + struct statvfs *buf, int flags); } +360 STD RUMP { int|sys||extattrctl(const char *path, int cmd, \ + const char *filename, int attrnamespace, \ + const char *attrname); } +361 STD RUMP { int|sys||extattr_set_file(const char *path, \ + int attrnamespace, const char *attrname, \ + const void *data, size_t nbytes); } +362 STD RUMP { ssize_t|sys||extattr_get_file(const char *path, \ + int attrnamespace, const char *attrname, \ + void *data, size_t nbytes); } +363 STD RUMP { int|sys||extattr_delete_file(const char *path, \ + int attrnamespace, const char *attrname); } +364 STD RUMP { int|sys||extattr_set_fd(int fd, \ + int attrnamespace, const char *attrname, \ + const void *data, size_t nbytes); } +365 STD RUMP { ssize_t|sys||extattr_get_fd(int fd, \ + int attrnamespace, const char *attrname, \ + void *data, size_t nbytes); } +366 STD RUMP { int|sys||extattr_delete_fd(int fd, \ + int attrnamespace, const char *attrname); } +367 STD RUMP { int|sys||extattr_set_link(const char *path, \ + int attrnamespace, const char *attrname, \ + const void *data, size_t nbytes); } +368 STD RUMP { ssize_t|sys||extattr_get_link(const char *path, \ + int attrnamespace, const char *attrname, \ + void *data, size_t nbytes); } +369 STD RUMP { int|sys||extattr_delete_link(const char *path, \ + int attrnamespace, const char *attrname); } +370 STD RUMP { ssize_t|sys||extattr_list_fd(int fd, \ + int attrnamespace, void *data, size_t nbytes); } +371 STD RUMP { ssize_t|sys||extattr_list_file(const char *path, \ + int attrnamespace, void *data, size_t nbytes); } +372 STD RUMP { ssize_t|sys||extattr_list_link(const char *path, \ + int attrnamespace, void *data, size_t nbytes); } +373 COMPAT_50 MODULAR { int|sys||pselect(int nd, fd_set *in, fd_set *ou, \ + fd_set *ex, const struct timespec50 *ts, \ + const sigset_t *mask); } +374 COMPAT_50 MODULAR { int|sys||pollts(struct pollfd *fds, u_int nfds, \ + const struct timespec50 *ts, const sigset_t *mask); } +375 STD RUMP { int|sys||setxattr(const char *path, \ + const char *name, void *value, size_t size, \ + int flags); } +376 STD RUMP { int|sys||lsetxattr(const char *path, \ + const char *name, void *value, size_t size, \ + int flags); } +377 STD RUMP { int|sys||fsetxattr(int fd, \ + const char *name, void *value, size_t size, \ + int flags); } +378 STD RUMP { int|sys||getxattr(const char *path, \ + const char *name, void *value, size_t size); } +379 STD RUMP { int|sys||lgetxattr(const char *path, \ + const char *name, void *value, size_t size); } +380 STD RUMP { int|sys||fgetxattr(int fd, \ + const char *name, void *value, size_t size); } +381 STD RUMP { int|sys||listxattr(const char *path, \ + char *list, size_t size); } +382 STD RUMP { int|sys||llistxattr(const char *path, \ + char *list, size_t size); } +383 STD RUMP { int|sys||flistxattr(int fd, \ + char *list, size_t size); } +384 STD RUMP { int|sys||removexattr(const char *path, \ + const char *name); } +385 STD RUMP { int|sys||lremovexattr(const char *path, \ + const char *name); } +386 STD RUMP { int|sys||fremovexattr(int fd, \ + const char *name); } +387 COMPAT_50 MODULAR { int|sys|30|stat(const char *path, struct stat30 *ub); } +388 COMPAT_50 MODULAR { int|sys|30|fstat(int fd, struct stat30 *sb); } +389 COMPAT_50 MODULAR { int|sys|30|lstat(const char *path, struct stat30 *ub); } +390 STD RUMP { int|sys|30|getdents(int fd, char *buf, size_t count); } +391 IGNORED old posix_fadvise +392 COMPAT_30 MODULAR { int|sys|30|fhstat(const struct compat_30_fhandle \ + *fhp, struct stat30 *sb); } +393 COMPAT_50 MODULAR { int|sys|30|ntp_gettime(struct ntptimeval50 *ntvp); } +394 STD RUMP { int|sys|30|socket(int domain, int type, int protocol); } +395 STD RUMP { int|sys|30|getfh(const char *fname, void *fhp, \ + size_t *fh_size); } +396 STD RUMP { int|sys|40|fhopen(const void *fhp, size_t fh_size,\ + int flags); } +397 STD RUMP { int|sys|40|fhstatvfs1(const void *fhp, \ + size_t fh_size, struct statvfs *buf, int flags); } +398 COMPAT_50 MODULAR { int|sys|40|fhstat(const void *fhp, \ + size_t fh_size, struct stat30 *sb); } + +; Asynchronous I/O system calls +399 STD MODULAR { int|sys||aio_cancel(int fildes, struct aiocb *aiocbp); } +400 STD MODULAR { int|sys||aio_error(const struct aiocb *aiocbp); } +401 STD MODULAR { int|sys||aio_fsync(int op, struct aiocb *aiocbp); } +402 STD MODULAR { int|sys||aio_read(struct aiocb *aiocbp); } +403 STD MODULAR { int|sys||aio_return(struct aiocb *aiocbp); } +404 COMPAT_50 MODULAR { int|sys||aio_suspend(const struct aiocb *const *list, \ + int nent, const struct timespec50 *timeout); } +405 STD MODULAR { int|sys||aio_write(struct aiocb *aiocbp); } +406 STD MODULAR { int|sys||lio_listio(int mode, struct aiocb *const *list, \ + int nent, struct sigevent *sig); } + +407 UNIMPL +408 UNIMPL +409 UNIMPL + +410 STD RUMP { int|sys|50|mount(const char *type, \ + const char *path, int flags, void *data, \ + size_t data_len); } +411 STD { void *|sys||mremap(void *old_address, size_t old_size, \ + void *new_address, size_t new_size, int flags); } + +; Processor-sets system calls +412 STD { int|sys||pset_create(psetid_t *psid); } +413 STD { int|sys||pset_destroy(psetid_t psid); } +414 STD { int|sys||pset_assign(psetid_t psid, cpuid_t cpuid, \ + psetid_t *opsid); } +415 STD { int|sys||_pset_bind(idtype_t idtype, id_t first_id, \ + id_t second_id, psetid_t psid, psetid_t *opsid); } +416 STD { int|sys|50|posix_fadvise(int fd, int PAD, \ + off_t offset, off_t len, int advice); } +417 STD RUMP { int|sys|50|select(int nd, fd_set *in, fd_set *ou, \ + fd_set *ex, struct timeval *tv); } +418 STD { int|sys|50|gettimeofday(struct timeval *tp, \ + void *tzp); } +419 STD { int|sys|50|settimeofday(const struct timeval *tv, \ + const void *tzp); } +420 STD RUMP { int|sys|50|utimes(const char *path, \ + const struct timeval *tptr); } +421 STD { int|sys|50|adjtime(const struct timeval *delta, \ + struct timeval *olddelta); } +#if defined(LFS) || !defined(_KERNEL) +422 STD { int|sys|50|lfs_segwait(fsid_t *fsidp, \ + struct timeval *tv); } +#else +422 EXCL __lfs_segwait50 +#endif +423 STD RUMP { int|sys|50|futimes(int fd, \ + const struct timeval *tptr); } +424 STD RUMP { int|sys|50|lutimes(const char *path, \ + const struct timeval *tptr); } +425 STD { int|sys|50|setitimer(int which, \ + const struct itimerval *itv, \ + struct itimerval *oitv); } +426 STD { int|sys|50|getitimer(int which, \ + struct itimerval *itv); } +427 STD { int|sys|50|clock_gettime(clockid_t clock_id, \ + struct timespec *tp); } +428 STD { int|sys|50|clock_settime(clockid_t clock_id, \ + const struct timespec *tp); } +429 STD { int|sys|50|clock_getres(clockid_t clock_id, \ + struct timespec *tp); } +430 STD { int|sys|50|nanosleep(const struct timespec *rqtp, \ + struct timespec *rmtp); } +431 STD { int|sys|50|__sigtimedwait(const sigset_t *set, \ + siginfo_t *info, \ + struct timespec *timeout); } +432 STD MODULAR { int|sys|50|mq_timedsend(mqd_t mqdes, \ + const char *msg_ptr, size_t msg_len, \ + unsigned msg_prio, \ + const struct timespec *abs_timeout); } +433 STD MODULAR { ssize_t|sys|50|mq_timedreceive(mqd_t mqdes, \ + char *msg_ptr, size_t msg_len, unsigned *msg_prio, \ + const struct timespec *abs_timeout); } +434 STD { int|sys|50|_lwp_park(const struct timespec *ts, \ + lwpid_t unpark, const void *hint, \ + const void *unparkhint); } +435 STD RUMP { int|sys|50|kevent(int fd, \ + const struct kevent *changelist, size_t nchanges, \ + struct kevent *eventlist, size_t nevents, \ + const struct timespec *timeout); } +436 STD RUMP { int|sys|50|pselect(int nd, fd_set *in, fd_set *ou, \ + fd_set *ex, const struct timespec *ts, \ + const sigset_t *mask); } +437 STD RUMP { int|sys|50|pollts(struct pollfd *fds, u_int nfds, \ + const struct timespec *ts, const sigset_t *mask); } +438 STD MODULAR { int|sys|50|aio_suspend( \ + const struct aiocb *const *list, \ + int nent, const struct timespec *timeout); } +439 STD RUMP { int|sys|50|stat(const char *path, struct stat *ub); } +440 STD RUMP { int|sys|50|fstat(int fd, struct stat *sb); } +441 STD RUMP { int|sys|50|lstat(const char *path, struct stat *ub); } +#if defined(SYSVSEM) || !defined(_KERNEL_OPT) +442 STD { int|sys|50|__semctl(int semid, int semnum, int cmd, \ + ... union __semun *arg); } +#else +442 EXCL ____semctl50 +#endif +#if defined(SYSVSHM) || !defined(_KERNEL_OPT) +443 STD { int|sys|50|shmctl(int shmid, int cmd, \ + struct shmid_ds *buf); } +#else +443 EXCL ____shmctl50 +#endif +#if defined(SYSVMSG) || !defined(_KERNEL_OPT) +444 STD { int|sys|50|msgctl(int msqid, int cmd, \ + struct msqid_ds *buf); } +#else +444 EXCL ____msgctl50 +#endif +445 STD { int|sys|50|getrusage(int who, struct rusage *rusage); } +446 STD { int|sys|50|timer_settime(timer_t timerid, \ + int flags, const struct itimerspec *value, \ + struct itimerspec *ovalue); } +447 STD { int|sys|50|timer_gettime(timer_t timerid, struct \ + itimerspec *value); } +#if defined(NTP) || !defined(_KERNEL_OPT) +448 STD { int|sys|50|ntp_gettime(struct ntptimeval *ntvp); } +#else +448 EXCL ___ntp_gettime50 +#endif +449 STD { int|sys|50|wait4(int pid, int *status, \ + int options, struct rusage *rusage); } +450 STD RUMP { int|sys|50|mknod(const char *path, mode_t mode, \ + dev_t dev); } +451 STD RUMP { int|sys|50|fhstat(const void *fhp, \ + size_t fh_size, struct stat *sb); } diff --git a/src/pkg/syscall/syscall_netbsd.go b/src/pkg/syscall/syscall_netbsd.go new file mode 100644 --- /dev/null +++ b/src/pkg/syscall/syscall_netbsd.go @@ -0,0 +1,568 @@ +// Copyright 2009, 2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// NetSBD system calls. +// This file is compiled as ordinary Go code, +// but it is also input to mksyscall, +// which parses the //sys lines and generates system call stubs. +// Note that sometimes we use a lowercase //sys name and +// wrap it in our own nicer implementation. + +// REVISIT TODO(giles) when this is running, go back to a virgin +// NetBSD-5.0 and check that all the implemented system calls are +// there. + +package syscall + +import "unsafe" + +const OS = "netbsd" + +/* + * Pseudo-system calls + */ + +// getwd() and getcwd() are in libc on NetBSD, and we don't link +// with libc. The const provides a compile-tiem constant so clients +// can adjust to whether there is a working Getwd and avoid even +// linking this function into the binary. See ../os/getwd.go. +const ImplementedsGetcwd = false + +func Getwd() (string, int) { return "", ENOTSUP } + +/* + * Wrapped + */ + +//sys kevent(kq int, change uintptr, nchange int, event uintptr, nevent int, timeout *Timespec) (n int, errno int) + +func Kevent(kq int, changes, events []Kevent_t, timeout *Timespec) (n int, errno int) { + var change, event uintptr + if len(changes) > 0 { + change = uintptr(unsafe.Pointer(&changes[0])) + } + if len(events) > 0 { + event = uintptr(unsafe.Pointer(&events[0])) + } + return kevent(kq, change, len(changes), event, len(events), timeout) +} + +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, errno int) +//sys bind(s int, addr uintptr, addrlen _Socklen) (errno int) +//sys connect(s int, addr uintptr, addrlen _Socklen) (errno int) +//sys socket(domain int, typ int, proto int) (fd int, errno int) +//sys setsockopt(s int, level int, name int, val uintptr, vallen int) (errno int) +//sys getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (errno int) +//sys getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (errno int) +//sys Shutdown(s int, how int) (errno int) + +// For testing: clients can set this flag to force +// creation of IPv6 sockets to return EAFNOSUPPORT. +var SocketDisableIPv6 bool + +type Sockaddr interface { + sockaddr() (ptr uintptr, len _Socklen, errno int) // lowercase; only we can define Sockaddrs +} + +type SockaddrInet4 struct { + Port int + Addr [4]byte + raw RawSockaddrInet4 +} + +func (sa *SockaddrInet4) sockaddr() (uintptr, _Socklen, int) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return 0, 0, EINVAL + } + sa.raw.Len = SizeofSockaddrInet4 + sa.raw.Family = AF_INET + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return uintptr(unsafe.Pointer(&sa.raw)), _Socklen(sa.raw.Len), 0 +} + +type SockaddrInet6 struct { + Port int + Addr [16]byte + raw RawSockaddrInet6 +} + +func (sa *SockaddrInet6) sockaddr() (uintptr, _Socklen, int) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return 0, 0, EINVAL + } + sa.raw.Len = SizeofSockaddrInet6 + sa.raw.Family = AF_INET6 + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + for i := 0; i < len(sa.Addr); i++ { + sa.raw.Addr[i] = sa.Addr[i] + } + return uintptr(unsafe.Pointer(&sa.raw)), _Socklen(sa.raw.Len), 0 +} + +type SockaddrUnix struct { + Name string + raw RawSockaddrUnix +} + +func (sa *SockaddrUnix) sockaddr() (uintptr, _Socklen, int) { + name := sa.Name + n := len(name) + if n >= len(sa.raw.Path) || n == 0 { + return 0, 0, EINVAL + } + sa.raw.Len = byte(3 + n) // 2 for Family, Len; 1 for NUL + sa.raw.Family = AF_UNIX + for i := 0; i < n; i++ { + sa.raw.Path[i] = int8(name[i]) + } + return uintptr(unsafe.Pointer(&sa.raw)), _Socklen(sa.raw.Len), 0 +} + +func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, int) { + switch rsa.Addr.Family { + case AF_UNIX: + pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) + if pp.Len < 3 || pp.Len > SizeofSockaddrUnix { + return nil, EINVAL + } + sa := new(SockaddrUnix) + n := int(pp.Len) - 3 // subtract leading Family, Len, terminating NUL + for i := 0; i < n; i++ { + if pp.Path[i] == 0 { + // found early NUL; assume Len is overestimating + n = i + break + } + } + bytes := (*[len(pp.Path)]byte)(unsafe.Pointer(&pp.Path[0])) + sa.Name = string(bytes[0:n]) + return sa, 0 + + case AF_INET: + pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet4) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, 0 + + case AF_INET6: + pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet6) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + for i := 0; i < len(sa.Addr); i++ { + sa.Addr[i] = pp.Addr[i] + } + return sa, 0 + } + return nil, EAFNOSUPPORT +} + +func Accept(fd int) (nfd int, sa Sockaddr, errno int) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + nfd, errno = accept(fd, &rsa, &len) + if errno != 0 { + return + } + sa, errno = anyToSockaddr(&rsa) + if errno != 0 { + Close(nfd) + nfd = 0 + } + return +} + +func Getsockname(fd int) (sa Sockaddr, errno int) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + if errno = getsockname(fd, &rsa, &len); errno != 0 { + return + } + return anyToSockaddr(&rsa) +} + +func Getpeername(fd int) (sa Sockaddr, errno int) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + if errno = getpeername(fd, &rsa, &len); errno != 0 { + return + } + return anyToSockaddr(&rsa) +} + +func Bind(fd int, sa Sockaddr) (errno int) { + ptr, n, err := sa.sockaddr() + if err != 0 { + return err + } + return bind(fd, ptr, n) +} + +func Connect(fd int, sa Sockaddr) (errno int) { + ptr, n, err := sa.sockaddr() + if err != 0 { + return err + } + return connect(fd, ptr, n) +} + +func Socket(domain, typ, proto int) (fd, errno int) { + if domain == AF_INET6 && SocketDisableIPv6 { + return -1, EAFNOSUPPORT + } + fd, errno = socket(domain, typ, proto) + return +} + +func SetsockoptInt(fd, level, opt int, value int) (errno int) { + var n = int32(value) + return setsockopt(fd, level, opt, uintptr(unsafe.Pointer(&n)), 4) +} + +func SetsockoptTimeval(fd, level, opt int, tv *Timeval) (errno int) { + return setsockopt(fd, level, opt, uintptr(unsafe.Pointer(tv)), unsafe.Sizeof(*tv)) +} + +func SetsockoptLinger(fd, level, opt int, l *Linger) (errno int) { + return setsockopt(fd, level, opt, uintptr(unsafe.Pointer(l)), unsafe.Sizeof(*l)) +} + +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, errno int) + +func Recvfrom(fd int, p []byte, flags int) (n int, from Sockaddr, errno int) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny + if n, errno = recvfrom(fd, p, flags, &rsa, &len); errno != 0 { + return + } + from, errno = anyToSockaddr(&rsa) + return +} + +//sys sendto(s int, buf []byte, flags int, to uintptr, addrlen _Socklen) (errno int) + +func Sendto(fd int, p []byte, flags int, to Sockaddr) (errno int) { + ptr, n, err := to.sockaddr() + if err != 0 { + return err + } + return sendto(fd, p, flags, ptr, n) +} + +// TODO: wrap +// Getsockopt(s int, level int, name int, val *byte, avalsize *_Socklen) (ret int, errno int) +//sys fcntl(fd int, cmd int, arg int) (val int, errno int) +// Sendmsg(s int, msg *Msghdr, flags int) (n int, errno int) +// Recvmsg(s int, msg *Msghdr, flags int) (n int, errno int) + +/* + * Exposed directly + */ + +// REVISIT TODO(giles) complete deciding what goes here + +//sys Access(path string, flags int) (ret int, errno int) +//sys Acct(path string) (ret int, errno int) +//sys Adjtime(delta *Timeval, olddelta *Timeval) (ret int, errno int) +//sys Chdir(path string) (ret int, errno int) +//sys Chmod(path string, mode int) (ret int, errno int) +//sys Chown(path string, uid int, gid int) (ret int, errno int) +//sys Chroot(path string) (ret int, errno int) +//sys Clock_getres(clock_id int, tp *Timespec) (ret int, errno int) +//sys Clock_gettime(clock_id int, tp *Timespec) (ret int, errno int) +//sys Clock_settime(clock_id int, tp *Timespec) (ret int, errno int) +//sys __clone(flags int, stack *byte) (pid int, errno int) +//sys Close(fd int) (ret int, errno int) +//sys Dup(fd int) (newfd int, errno int) +//sys Dup2(from int, to int) (newfd int, errno int) +//sys Exit(rval int) +//sys Extattr_delete_fd(fd int, attrnamespace int, attrname string) (ret int, errno int) +//sys Extattr_delete_file(path string, int attrnamespace, attrname string) (ret int, errno int) +//sys Extattr_delete_link(path string, int attrnamespace, attrname string) (ret int, errno int) +//sys Extattr_get_fd(fd int, attrnamespace int, attrname string, data *byte, nbytes size_t) (n ssize_t, errno int) +//sys Extattr_get_file(path string, int attrnamespace, attrname string, data *byte, size_t nbytes) (n ssize_t, errno int) +//sys Extattr_get_link(path string, int attrnamespace, attrname string, data *byte, size_t nbytes) (n ssize_t, errno int) +//sys Extattr_list_fd(fd int, attrnamespace int, data *byte, nbytes size_t) (n ssize_t, errno int) +//sys Extattr_list_file(path string, int attrnamespace, data *byte, size_t nbytes) (n ssize_t, errno int) +//sys Extattr_list_link(path string, int attrnamespace, data *byte, size_t nbytes) (n ssize_t, errno int) +//sys Extattr_set_fd(fd int, attrnamespace int, attrname string, data *byte, nbytes size_t) (ret int, errno int) +//sys Extattr_set_file(path string, attrnamespace int, attrname string, data *byte, nbytes size_t) (ret int, errno int) +//sys Extattr_set_link(path string, attrnamespace int, attrname string, data *byte, nbytes size_t) (ret int, errno int) +//sys Extattrctl(path string, cmd int, filename string, attrnamespace int, attrname string) (ret int, errno int) +//sys Fchdir(fd int) (ret int, errno int) +//sys Fchmod(fd int, mode int) (ret int, errno int) +//sys Fchown(fd int, uid int, gid int) (ret int, errno int) +//sys Fchroot(fd int) (ret int, errno int) +//sys Fdatasync(fd int) (ret int, errno int) +//sys Fgetxattr(fd int, name string, value *byte, size size_t) (ret int, errno int) +//sys Fhopen(fhp *byte, fh_size size_t, flags int) (ret int, errno int) +//sys Fhstat(fhp *byte, fh_size size_t, sb *Stat_t) (ret int, errno int) +//sys Fhstatvfs1(fhp *byte, fh_size size_t, buf *Stat_tvfs, flags int) (ret int, errno int) +//sys Fktrace(fd int, ops int, facs int, pid int) (ret int, errno int) +//sys Flistxattr(fd int, list *char, size size_t) (ret int, errno int) +//sys Flock(fd int, how int) (ret int, errno int) +//sys Fork() (ret int, errno int) +//sys Fremovexattr(fd int, name string) (ret int, errno int) +//sys Fsetxattr(fd int, name string, value *byte, size size_t, flags int) (ret int, errno int) +//sys Fstat(fd int, stat *Stat_t) (errno int) +//sys Fstatvfs1(fd int, buf *Stat_tvfs, flags int) (ret int, errno int) +//sys Fsync(fd int) (ret int, errno int) +//sys Fsync_range(fd int, flags int, start off_t, length off_t) (ret int, errno int) +//sys Ftruncate(fd int, PAD int, length off_t) (ret int, errno int) +//sys Futimes(fd int, tptr *Timeval) (ret int, errno int) +//sys __getcwd(bufp *char, length size_t) (ret int, errno int) +//sys Getdents(fd int, buf *char, count size_t) (ret int, errno int) +//sys Getegid() (gid int, errno int) +//sys Geteuid() (uid int, errno int) +//sys Getfh(fname string, fhp *byte, size_t *fh_size) (ret int, errno int) +//sys Getgroups(gidsetsize int, gidset *int) (ret int, errno int) +//sys __getlogin(namebuf *char, namelen size_t) (ret int, errno int) +//sys Getpgid(pid int) (pgid int, errno int) +//sys Getpgrp() (pid int, errno int) +//sys Getppid() (pid int, errno int) +//sys Getpriority(which int, who id_t) (ret int, errno int) +//sys Getrlimit(which int, rlp *Rlimit) (ret int, errno int) +//sys Getrusage(who int, rusage *Rusage) (ret int, errno int) +//sys Getsid(pid int) (sid int, errno int) +//sys Getvfsstat(buf *Stat_tvfs, bufsize size_t, flags int) (ret int, errno int) +//sys Getxattr(path string, name string, value *byte, size_t size) (ret int, errno int) +//sys Issetugid() (ret int, errno int) +//sys Kill(pid int, signum int) (ret int, errno int) +//sys Kqueue() (ret int, errno int) +//sys Ktrace(fname string, ops int, facs int, pid int) (ret int, errno int) +//sys Lchmod(path string, mode int) (ret int, errno int) +//sys Lchown(path string, uid int, gid int) (ret int, errno int) +//sys Lgetxattr(path string, name string, value *byte, size_t size) (ret int, errno int) +//sys Link(path string, link string) (ret int, errno int) +//sys Listen(s int, backlog int) (ret int, errno int) +//sys Listxattr(path string, char *list, size_t size) (ret int, errno int) +//sys Llistxattr(path string, char *list, size_t size) (ret int, errno int) +//sys Lremovexattr(path string, name string) (ret int, errno int) +//sys Lsetxattr(path string, name string, value *byte, size_t size, int flags) (ret int, errno int) +//sys Lstat(path string, stat *Stat_t) (errno int) +//sys Lutimes(path string, tptr *Timeval) (ret int, errno int) +//sys Madvise(addr *byte, len size_t, behav int) (ret int, errno int) +//sys Mincore(addr *byte, len size_t, vec *char) (ret int, errno int) +//sys Minherit(addr *byte, len size_t, inherit int) (ret int, errno int) +//sys Mkdir(path string, mode int) (ret int, errno int) +//sys Mkfifo(path string, mode int) (ret int, errno int) +//sys Mknod(path string, mode int, dev dev_t) (ret int, errno int) +//sys Mlock(addr *byte, len size_t) (ret int, errno int) +//sys Mlockall(flags int) (ret int, errno int) +//sys Modctl(cmd int, arg *byte) (ret int, errno int) +//sys Mprotect(addr *byte, len size_t, prot int) (ret int, errno int) +//sys Mremap(old_address *byte, old_size size_t, new_address *byte, new_size size_t, int flags) (p *byte, errno int) +//sys Msync(addr *byte, len size_t, flags int) (ret int, errno int) +//sys Munlock(addr *byte, len size_t) (ret int, errno int) +//sys Munlockall() (ret int, errno int) +//sys Munmap(addr *byte, len size_t) (ret int, errno int) +//sys Nanosleep(rqtp *Timespec, rmtp *Timespec) (ret int, errno int) +//sys Nfssvc(flag int, argp *byte) (ret int, errno int) +//sys Open(path string, flags int, mode int) (ret int, errno int) +// REVISIT Pipe() needs wrapping +//sys Pipe() (ret int, errno int) +//sys Pmc_control(ctr int, op int, args *byte) (ret int, errno int) +//sys Pmc_get_info(ctr int, op int, args *byte) (ret int, errno int) +//sys __posix_chown(path string, uid int, gid int) (ret int, errno int) +//sys Posix_fadvise(fd int, PAD int, offset off_t, len off_t, advice int) (ret int, errno int) +//sys __posix_fchown(fd int, uid int, gid int) (ret int, errno int) +//sys __posix_lchown(path string, uid int, gid int) (ret int, errno int) +//sys __posix_rename(from string, to string) (ret int, errno int) +//sys Profil(samples *char, size size_t, offset u_long, scale u_int) (ret int, errno int) +//sys Pselect(nd int, in *fd_set, ou *fd_set, ex *fd_set, ts *Timespec, mask *sigset_t) (ret int, errno int) +//sys _pset_bind(idtype idtype_t, first_id id_t, second_id id_t, psid psetid_t, opsid *psetid_t) (ret int, errno int) +//sys Pset_create(psid *psetid_t) (ret int, errno int) +//sys Pset_destroy(psid psetid_t) (ret int, errno int) +//sys Ptrace(req int, pid int, addr *byte, data int) (ret int, errno int) +//sys Rasctl(addr *byte, len size_t, op int) (ret int, errno int) +//sys Read(fd int, p []byte) (n int, errno int) +//sys Readlink(path string, buf []byte) (n int, errno int) +//sys Reboot(opt int, bootstr *char) (ret int, errno int) +//sys Removexattr(path string, name string) (ret int, errno int) +//sys Rename(from string, to string) (ret int, errno int) +//sys Revoke(path string) (ret int, errno int) +//sys Rmdir(path string) (ret int, errno int) +//sys Sa_enable() (ret int, errno int) +//sys Sa_preempt(sa_id int) (ret int, errno int) +//sys Sa_register(new sa_upcall_t, old *sa_upcall_t, flags int, stackinfo_offset ssize_t) (ret int, errno int) +//sys Sa_setconcurrency(concurrency int) (ret int, errno int) +//sys Sa_stacks(num int, stacks *stack_t) (ret int, errno int) +//sys Sa_yield() (ret int, errno int) +//sys Sbrk(incr intptr_t) (ret int, errno int) +//sys Sched_yield() (ret int, errno int) +//sys Seek(fd int, offset int64, whence int) (newoffset int64, errno int) = SYS_LSEEK +//sys Select(nd int, in *fd_set, ou *fd_set, ex *fd_set, tv *Timeval) (ret int, errno int) +//sys Setegid(egid int) (ret int, errno int) +//sys Seteuid(euid int) (ret int, errno int) +//sys Setgid(gid int) (ret int, errno int) +//sys Setgroups(gidsetsize int, gidset *int) (ret int, errno int) +//sys __setlogin(namebuf string) (ret int, errno int) +//sys Setpgid(pid int, pgid int) (ret int, errno int) +//sys Setpriority(which int, who id_t, prio int) (ret int, errno int) +//sys Setregid(rgid int, egid int) (ret int, errno int) +//sys Setreuid(ruid int, euid int) (ret int, errno int) +//sys Setrlimit(which int, rlp *Rlimit) (ret int, errno int) +//sys Setsid() (ret int, errno int) +//sys Settimeofday(tv *Timeval, tzp *byte) (ret int, errno int) +//sys Setuid(uid int) (ret int, errno int) +//sys Setxattr(path string, name string, value *byte, size_t size, int flags) (ret int, errno int) +//sys Sigpending(set *sigset_t) (ret int, errno int) +//sys Sigprocmask(how int, set *sigset_t, oset *sigset_t) (ret int, errno int) +//sys Sigsuspend(set *sigset_t) (ret int, errno int) +//sys __sigtimedwait(set *sigset_t, info *siginfo_t, timeout *Timespec) (ret int, errno int) +//sys Sstk(incr int) (ret int, errno int) +//sys Stat(path string, stat *Stat_t) (errno int) +//sys Statvfs1(path string, buf *Stat_tvfs, flags int) (ret int, errno int) +//sys Swapctl(cmd int, arg *byte, misc int) (ret int, errno int) +//sys Symlink(path string, link string) (ret int, errno int) +//sys Sync() +//sys Sysarch(op int, parms *byte) (ret int, errno int) +//REVISIT I suppose the syscalls prefixed with '_' need to be wrapped if +//they are made visible? The double underscore syscall variant is the +//64 bit version. Be interesting to see what the other ports have done. +//sys Syscall(code int, code int) (ret int, errno int) +//sys __syscall(code quad_t, code quad_t) (ret quad_t, errno int) +//sys __sysctl(name *int, namelen u_int, old *byte, oldlenp *size_t, new *byte, newlen size_t) (ret int, errno int) +//sys Truncate(path string, PAD int, length off_t) (ret int, errno int) +//sys Umask(newmask int) (oldmask int, errno int) +//sys Undelete(path string) (ret int, errno int) +//sys Unlink(path string) (ret int, errno int) +//sys Unmount(path string, flags int) (ret int, errno int) +//sys Utimes(path string, tptr *Timeval) (ret int, errno int) +//sys Utrace(label string, addr *byte, len size_t) (ret int, errno int) +//sys Uuidgen(store *Uuid, count int) (ret int, errno int) +//sys Vfork() (ret int, errno int) +//sys Write(fd int, p []byte) (n int, errno int) +//sys Wait4(wpid int, status *int, options int, rusage *Rusage) (ret int, errno int) +//sys read(fd int, buf *byte, nbuf int) (n int, errno int) +//sys write(fd int, buf *byte, nbuf int) (n int, errno int) + +/* + * Unimplemented + */ + +//Aio_cancel +//Aio_error +//Aio_fsync +//Aio_read +//Aio_return +//Aio_suspend +//Aio_write +//Getitimer +//Setitimer +//Sigaltstack +//__sigaction_sigtramp +//_lwp_continue +//_lwp_create +//_lwp_ctl +//_lwp_detach +//_lwp_exit +//_lwp_getname +//_lwp_getprivate +//_lwp_kill +//_lwp_park +//_lwp_self +//_lwp_setname +//_lwp_setprivate +//_lwp_suspend +//_lwp_unpark +//_lwp_unpark_all +//_lwp_wait +//_lwp_wakeup + +/* + * Unimplemented, but consider many of these for later: REVISIT TODO(giles) + * + * I don't wish to add too many new system calls that other ports + * haven't done until the NetBSD port is up and running. + * + * As well, the mq_*() system calls are new in NetBSD 5.0, so + * implementing them would be an additional difficulty if it + * becomes desirable to port to NetBSD 4.0 also. + * + * Undocumented system calls (_ksem*(), Timer_*(), ...) can definitely + * wait unless they're already implemented in other operating system + * ports. + */ +//Execve +//Getcontext +//Ioctl +//Lfs_bmapv +//Lfs_markv +//Lfs_segclean +//Lfs_segwait +//Lio_listio +//Mmap +//Mount +//Mq_close +//Mq_getattr +//Mq_notify +//Mq_open +//Mq_receive +//Mq_send +//Mq_setattr +//Mq_timedreceive +//Mq_timedsend +//Mq_unlink +//Msgctl +//Msgget +//Msgrcv +//Msgsnd +//Ntp_adjtime +//Ntp_gettime +//Poll +//Pollts +//Pread +//Preadv +//Pwrite +//Pwritev +//Quotactl +//Readv +//Semconfig +//Semget +//Semop +//Shmat +//Shmctl +//Shmdt +//Shmget +//Setcontext +//Socketpair +//Timer_create +//Timer_delete +//Timer_getoverrun +//Timer_gettime +//Timer_settime +//Writev +//_ksem_close +//_ksem_destroy +//_ksem_getvalue +//_ksem_init +//_ksem_open +//_ksem_post +//_ksem_trywait +//_ksem_unlink +//_ksem_wait + +/* + * Unimplemented, and would need to be wrapped if they are implemented + * as the public API is in a library. + */ +//__semctl +//_sched_getaffinity +//_sched_getparam +//_sched_setaffinity +//_sched_setparam + +/* eof */ diff --git a/src/pkg/syscall/syscall_netbsd_386.go b/src/pkg/syscall/syscall_netbsd_386.go new file mode 100644 --- /dev/null +++ b/src/pkg/syscall/syscall_netbsd_386.go @@ -0,0 +1,51 @@ +// Copyright 2009, 2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package syscall + +/* + This is the NetBSD chflags(2) prototype: + + int chflags(const char *path, u_long flags); + + Because u_long (unsigned long) is four bytes on i386 + and eight bytes on amd64, break these calls into the + architecture specific files. + + Fixing the NetBSD prototype would likely hit ABI + incompatibilities, so expect to be stuck with it long + term. +*/ + +//sys Chflags(path string, flags uint32) (ret int, errno int) +//sys Fchflags(fd int, flags uint32) (ret int, errno int) +//sys Lchflags(path string, flags uint32) (ret int, errno int) + +/* + Same problem: cpuid_t is 'unsigned long'. + */ + +//sys Pset_assign(psid psetid_t, cpuid uint32, opsid *psetid_t) (ret int, errno int) + +/* + And once more: + + long pathconf(const char *path, int name); +*/ + +//sys Fpathconf(fd int, name int) (ret uint32, errno int) +//sys Pathconf(path string, name int) (ret uint32, errno int) + +//sys gettimeofday(tp *Timeval) (sec int32, usec int32, errno int) +func Gettimeofday(tv *Timeval) (errno int) { + // The tv passed to gettimeofday must be non-nil + // but is otherwise unused. The answers come back + // in the two registers. + sec, usec, err := gettimeofday(tv) + tv.Sec = int32(sec) + tv.Usec = int32(usec) + return err +} + +// eof diff --git a/src/pkg/syscall/syscall_netbsd_amd64.go b/src/pkg/syscall/syscall_netbsd_amd64.go new file mode 100644 --- /dev/null +++ b/src/pkg/syscall/syscall_netbsd_amd64.go @@ -0,0 +1,51 @@ +// Copyright 2009, 2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package syscall + +/* + This is the NetBSD chflags(2) prototype: + + int chflags(const char *path, u_long flags); + + Because u_long (unsigned long) is four bytes on i386 + and eight bytes on amd64, break these calls into the + architecture specific files. + + Fixing the NetBSD prototype would likely hit ABI + incompatibilities, so expect to be stuck with it long + term. +*/ + +//sys Chflags(path string, flags uint64) (ret int, errno int) +//sys Fchflags(fd int, flags uint64) (ret int, errno int) +//sys Lchflags(path string, flags uint64) (ret int, errno int) + +/* + Same problem: cpuid_t is 'unsigned long'. + */ + +//sys Pset_assign(psid psetid_t, cpuid uint64, opsid *psetid_t) (ret int, errno int) + +/* + And once more: + + long pathconf(const char *path, int name); +*/ + +//sys Fpathconf(fd int, name int) (ret uint64, errno int) +//sys Pathconf(path string, name int) (ret uint64, errno int) + +//sys gettimeofday(tp *Timeval) (sec int64, usec int32, errno int) +func Gettimeofday(tv *Timeval) (errno int) { + // The tv passed to gettimeofday must be non-nil + // but is otherwise unused. The answers come back + // in the two registers. + sec, usec, err := gettimeofday(tv) + tv.Sec = sec + tv.Usec = usec + return err +} + +// eof diff --git a/src/pkg/syscall/types_netbsd.c b/src/pkg/syscall/types_netbsd.c new file mode 100644 --- /dev/null +++ b/src/pkg/syscall/types_netbsd.c @@ -0,0 +1,71 @@ +// Copyright 2009, 2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// Ungrouped syscall specific types +typedef struct uuid $Uuid; + +// Time + +typedef struct timespec $Timespec; +typedef struct timeval $Timeval; + +// Processes + +typedef struct rusage $Rusage; +typedef struct rlimit $Rlimit; + +// Files + +typedef struct stat $Stat_t; + +// Sockets + +union sockaddr_all { + struct sockaddr s1; // this one gets used for fields + struct sockaddr_in s2; // these pad it out + struct sockaddr_in6 s3; + struct sockaddr_un s4; +}; + +struct sockaddr_any { + struct sockaddr addr; + char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; +}; + +typedef struct sockaddr_in $RawSockaddrInet4; +typedef struct sockaddr_in6 $RawSockaddrInet6; +typedef struct sockaddr_un $RawSockaddrUnix; +typedef struct sockaddr $RawSockaddr; +typedef struct sockaddr_any $RawSockaddrAny; +typedef socklen_t $_Socklen; +typedef struct linger $Linger; +typedef struct iovec $Iovec; +typedef struct msghdr $Msghdr; +typedef struct cmsghdr $Cmsghdr; + +enum { + $SizeofSockaddrInet4 = sizeof(struct sockaddr_in), + $SizeofSockaddrInet6 = sizeof(struct sockaddr_in6), + $SizeofSockaddrAny = sizeof(struct sockaddr_any), + $SizeofSockaddrUnix = sizeof(struct sockaddr_un), + $SizeofLinger = sizeof(struct linger), + $SizeofMsghdr = sizeof(struct msghdr), + $SizeofCmsghdr = sizeof(struct cmsghdr), +}; + +// Events (kqueue, kevent) + +typedef struct kevent $Kevent_t; + +// eof diff --git a/src/pkg/syscall/zerrors_netbsd_386.go b/src/pkg/syscall/zerrors_netbsd_386.go new file mode 100644 --- /dev/null +++ b/src/pkg/syscall/zerrors_netbsd_386.go @@ -0,0 +1,461 @@ +// mkerrors.sh +// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT + +// godefs -gsyscall _const.c + +// MACHINE GENERATED - DO NOT EDIT. + +package syscall + +// Constants +const ( + AF_APPLETALK = 0x10; + AF_ARP = 0x1c; + AF_BLUETOOTH = 0x1f; + AF_CCITT = 0xa; + AF_CHAOS = 0x5; + AF_CNT = 0x15; + AF_COIP = 0x14; + AF_DATAKIT = 0x9; + AF_DECnet = 0xc; + AF_DLI = 0xd; + AF_E164 = 0x1a; + AF_ECMA = 0x8; + AF_HYLINK = 0xf; + AF_IEEE80211 = 0x20; + AF_IMPLINK = 0x3; + AF_INET = 0x2; + AF_INET6 = 0x18; + AF_IPX = 0x17; + AF_ISDN = 0x1a; + AF_ISO = 0x7; + AF_LAT = 0xe; + AF_LINK = 0x12; + AF_LOCAL = 0x1; + AF_MAX = 0x21; + AF_NATM = 0x1b; + AF_NS = 0x6; + AF_OSI = 0x7; + AF_PUP = 0x4; + AF_ROUTE = 0x11; + AF_SNA = 0xb; + AF_UNIX = 0x1; + AF_UNSPEC = 0; + E2BIG = 0x7; + EACCES = 0xd; + EADDRINUSE = 0x30; + EADDRNOTAVAIL = 0x31; + EAFNOSUPPORT = 0x2f; + EAGAIN = 0x23; + EALREADY = 0x25; + EAUTH = 0x50; + EBADF = 0x9; + EBADMSG = 0x58; + EBADRPC = 0x48; + EBUSY = 0x10; + ECANCELED = 0x57; + ECHILD = 0xa; + ECONNABORTED = 0x35; + ECONNREFUSED = 0x3d; + ECONNRESET = 0x36; + EDEADLK = 0xb; + EDESTADDRREQ = 0x27; + EDOM = 0x21; + EDQUOT = 0x45; + EEXIST = 0x11; + EFAULT = 0xe; + EFBIG = 0x1b; + EFTYPE = 0x4f; + EHOSTDOWN = 0x40; + EHOSTUNREACH = 0x41; + EIDRM = 0x52; + EILSEQ = 0x55; + EINPROGRESS = 0x24; + EINTR = 0x4; + EINVAL = 0x16; + EIO = 0x5; + EISCONN = 0x38; + EISDIR = 0x15; + ELAST = 0x60; + ELOOP = 0x3e; + EMFILE = 0x18; + EMLINK = 0x1f; + EMSGSIZE = 0x28; + EMULTIHOP = 0x5e; + ENAMETOOLONG = 0x3f; + ENEEDAUTH = 0x51; + ENETDOWN = 0x32; + ENETRESET = 0x34; + ENETUNREACH = 0x33; + ENFILE = 0x17; + ENOATTR = 0x5d; + ENOBUFS = 0x37; + ENODATA = 0x59; + ENODEV = 0x13; + ENOENT = 0x2; + ENOEXEC = 0x8; + ENOLCK = 0x4d; + ENOLINK = 0x5f; + ENOMEM = 0xc; + ENOMSG = 0x53; + ENOPROTOOPT = 0x2a; + ENOSPC = 0x1c; + ENOSR = 0x5a; + ENOSTR = 0x5b; + ENOSYS = 0x4e; + ENOTBLK = 0xf; + ENOTCONN = 0x39; + ENOTDIR = 0x14; + ENOTEMPTY = 0x42; + ENOTSOCK = 0x26; + ENOTSUP = 0x56; + ENOTTY = 0x19; + ENXIO = 0x6; + EOPNOTSUPP = 0x2d; + EOVERFLOW = 0x54; + EPERM = 0x1; + EPFNOSUPPORT = 0x2e; + EPIPE = 0x20; + EPROCLIM = 0x43; + EPROCUNAVAIL = 0x4c; + EPROGMISMATCH = 0x4b; + EPROGUNAVAIL = 0x4a; + EPROTO = 0x60; + EPROTONOSUPPORT = 0x2b; + EPROTOTYPE = 0x29; + ERANGE = 0x22; + EREMOTE = 0x47; + EROFS = 0x1e; + ERPCMISMATCH = 0x49; + ESHUTDOWN = 0x3a; + ESOCKTNOSUPPORT = 0x2c; + ESPIPE = 0x1d; + ESRCH = 0x3; + ESTALE = 0x46; + ETIME = 0x5c; + ETIMEDOUT = 0x3c; + ETOOMANYREFS = 0x3b; + ETXTBSY = 0x1a; + EUSERS = 0x44; + EWOULDBLOCK = 0x23; + EXDEV = 0x12; + FD_CLOEXEC = 0x1; + FD_SETSIZE = 0x100; + F_CLOSEM = 0xa; + F_DUPFD = 0; + F_FSCTL = 0x80000000; + F_FSDIRMASK = 0x70000000; + F_FSIN = 0x10000000; + F_FSINOUT = 0x30000000; + F_FSOUT = 0x20000000; + F_FSPRIV = 0x8000; + F_FSVOID = 0x40000000; + F_GETFD = 0x1; + F_GETFL = 0x3; + F_GETLK = 0x7; + F_GETOWN = 0x5; + F_MAXFD = 0xb; + F_PARAM_MASK = 0xfff; + F_PARAM_MAX = 0xfff; + F_RDLCK = 0x1; + F_SETFD = 0x2; + F_SETFL = 0x4; + F_SETLK = 0x8; + F_SETLKW = 0x9; + F_SETOWN = 0x6; + F_UNLCK = 0x2; + F_WRLCK = 0x3; + IPPROTO_AH = 0x33; + IPPROTO_CARP = 0x70; + IPPROTO_DONE = 0x101; + IPPROTO_DSTOPTS = 0x3c; + IPPROTO_EGP = 0x8; + IPPROTO_ENCAP = 0x62; + IPPROTO_EON = 0x50; + IPPROTO_ESP = 0x32; + IPPROTO_ETHERIP = 0x61; + IPPROTO_FRAGMENT = 0x2c; + IPPROTO_GGP = 0x3; + IPPROTO_GRE = 0x2f; + IPPROTO_HOPOPTS = 0; + IPPROTO_ICMP = 0x1; + IPPROTO_ICMPV6 = 0x3a; + IPPROTO_IDP = 0x16; + IPPROTO_IGMP = 0x2; + IPPROTO_IP = 0; + IPPROTO_IPCOMP = 0x6c; + IPPROTO_IPIP = 0x4; + IPPROTO_IPV4 = 0x4; + IPPROTO_IPV6 = 0x29; + IPPROTO_IPV6_ICMP = 0x3a; + IPPROTO_MAX = 0x100; + IPPROTO_MAXID = 0x34; + IPPROTO_MOBILE = 0x37; + IPPROTO_NONE = 0x3b; + IPPROTO_PIM = 0x67; + IPPROTO_PUP = 0xc; + IPPROTO_RAW = 0xff; + IPPROTO_ROUTING = 0x2b; + IPPROTO_RSVP = 0x2e; + IPPROTO_TCP = 0x6; + IPPROTO_TP = 0x1d; + IPPROTO_UDP = 0x11; + IPPROTO_VRRP = 0x70; + IP_ADD_MEMBERSHIP = 0xc; + IP_DEFAULT_MULTICAST_LOOP = 0x1; + IP_DEFAULT_MULTICAST_TTL = 0x1; + IP_DROP_MEMBERSHIP = 0xd; + IP_ERRORMTU = 0x15; + IP_HDRINCL = 0x2; + IP_IPSEC_POLICY = 0x16; + IP_MAX_MEMBERSHIPS = 0x14; + IP_MULTICAST_IF = 0x9; + IP_MULTICAST_LOOP = 0xb; + IP_MULTICAST_TTL = 0xa; + IP_OPTIONS = 0x1; + IP_PORTRANGE = 0x13; + IP_PORTRANGE_DEFAULT = 0; + IP_PORTRANGE_HIGH = 0x1; + IP_PORTRANGE_LOW = 0x2; + IP_RECVDSTADDR = 0x7; + IP_RECVIF = 0x14; + IP_RECVOPTS = 0x5; + IP_RECVRETOPTS = 0x6; + IP_RETOPTS = 0x8; + IP_TOS = 0x3; + IP_TTL = 0x4; + O_ACCMODE = 0x3; + O_ALT_IO = 0x40000; + O_APPEND = 0x8; + O_ASYNC = 0x40; + O_CREAT = 0x200; + O_DIRECT = 0x80000; + O_DSYNC = 0x10000; + O_EXCL = 0x800; + O_EXLOCK = 0x20; + O_FSYNC = 0x80; + O_NDELAY = 0x4; + O_NOCTTY = 0x8000; + O_NOFOLLOW = 0x100; + O_NONBLOCK = 0x4; + O_RDONLY = 0; + O_RDWR = 0x2; + O_RSYNC = 0x20000; + O_SHLOCK = 0x10; + O_SYNC = 0x80; + O_TRUNC = 0x400; + O_WRONLY = 0x1; + SHUT_RD = 0; + SHUT_RDWR = 0x2; + SHUT_WR = 0x1; + SIGABRT = 0x6; + SIGALRM = 0xe; + SIGBUS = 0xa; + SIGCHLD = 0x14; + SIGCONT = 0x13; + SIGEMT = 0x7; + SIGFPE = 0x8; + SIGHUP = 0x1; + SIGILL = 0x4; + SIGINFO = 0x1d; + SIGINT = 0x2; + SIGIO = 0x17; + SIGIOT = 0x6; + SIGKILL = 0x9; + SIGPIPE = 0xd; + SIGPROF = 0x1b; + SIGPWR = 0x20; + SIGQUIT = 0x3; + SIGSEGV = 0xb; + SIGSTOP = 0x11; + SIGSYS = 0xc; + SIGTERM = 0xf; + SIGTRAP = 0x5; + SIGTSTP = 0x12; + SIGTTIN = 0x15; + SIGTTOU = 0x16; + SIGURG = 0x10; + SIGUSR1 = 0x1e; + SIGUSR2 = 0x1f; + SIGVTALRM = 0x1a; + SIGWINCH = 0x1c; + SIGXCPU = 0x18; + SIGXFSZ = 0x19; + SOCK_DGRAM = 0x2; + SOCK_RAW = 0x3; + SOCK_RDM = 0x4; + SOCK_SEQPACKET = 0x5; + SOCK_STREAM = 0x1; + SOL_SOCKET = 0xffff; + SOMAXCONN = 0x80; + SO_ACCEPTCONN = 0x2; + SO_ACCEPTFILTER = 0x1000; + SO_BROADCAST = 0x20; + SO_DEBUG = 0x1; + SO_DONTROUTE = 0x10; + SO_ERROR = 0x1007; + SO_KEEPALIVE = 0x8; + SO_LINGER = 0x80; + SO_NOHEADER = 0x100a; + SO_OOBINLINE = 0x100; + SO_OVERFLOWED = 0x1009; + SO_RCVBUF = 0x1002; + SO_RCVLOWAT = 0x1004; + SO_RCVTIMEO = 0x1006; + SO_REUSEADDR = 0x4; + SO_REUSEPORT = 0x200; + SO_SNDBUF = 0x1001; + SO_SNDLOWAT = 0x1003; + SO_SNDTIMEO = 0x1005; + SO_TIMESTAMP = 0x400; + SO_TYPE = 0x1008; + SO_USELOOPBACK = 0x40; + S_ARCH1 = 0x10000; + S_ARCH2 = 0x20000; + S_BLKSIZE = 0x200; + S_IEXEC = 0x40; + S_IFBLK = 0x6000; + S_IFCHR = 0x2000; + S_IFDIR = 0x4000; + S_IFIFO = 0x1000; + S_IFLNK = 0xa000; + S_IFMT = 0xf000; + S_IFREG = 0x8000; + S_IFSOCK = 0xc000; + S_IFWHT = 0xe000; + S_IREAD = 0x100; + S_IRGRP = 0x20; + S_IROTH = 0x4; + S_IRUSR = 0x100; + S_IRWXG = 0x38; + S_IRWXO = 0x7; + S_IRWXU = 0x1c0; + S_ISGID = 0x400; + S_ISTXT = 0x200; + S_ISUID = 0x800; + S_ISVTX = 0x200; + S_IWGRP = 0x10; + S_IWOTH = 0x2; + S_IWRITE = 0x80; + S_IWUSR = 0x80; + S_IXGRP = 0x8; + S_IXOTH = 0x1; + S_IXUSR = 0x40; + TCP_CONGCTL = 0x20; + TCP_KEEPCNT = 0x6; + TCP_KEEPIDLE = 0x3; + TCP_KEEPINIT = 0x7; + TCP_KEEPINTVL = 0x5; + TCP_MAXBURST = 0x4; + TCP_MAXSEG = 0x2; + TCP_MAXWIN = 0xffff; + TCP_MAX_WINSHIFT = 0xe; + TCP_MD5SIG = 0x10; + TCP_MINMSS = 0xd8; + TCP_MSS = 0x218; + TCP_NODELAY = 0x1; +) + +// Types + + +// Error table +var errors = [...]string { + 7: "argument list too long", + 13: "permission denied", + 48: "address already in use", + 49: "can't assign requested address", + 47: "address family not supported by protocol family", + 35: "resource temporarily unavailable", + 37: "operation already in progress", + 80: "authentication error", + 9: "bad file descriptor", + 88: "bad or Corrupt message", + 72: "RPC struct is bad", + 16: "device busy", + 87: "operation Canceled", + 10: "no child processes", + 53: "software caused connection abort", + 61: "connection refused", + 54: "connection reset by peer", + 11: "resource deadlock avoided", + 39: "destination address required", + 33: "numerical argument out of domain", + 69: "disc quota exceeded", + 17: "file exists", + 14: "bad address", + 27: "file too large", + 79: "inappropriate file type or format", + 64: "host is down", + 65: "no route to host", + 82: "identifier removed", + 85: "illegal byte sequence", + 36: "operation now in progress", + 4: "interrupted system call", + 22: "invalid argument", + 5: "input/output error", + 56: "socket is already connected", + 21: "is a directory", + 96: "protocol error", + 62: "too many levels of symbolic links", + 24: "too many open files", + 31: "too many links", + 40: "message too long", + 94: "multihop attempted", + 63: "file name too long", + 81: "need authenticator", + 50: "network is down", + 52: "network dropped connection on reset", + 51: "network is unreachable", + 23: "too many open files in system", + 93: "attribute not found", + 55: "no buffer space available", + 89: "no message available", + 19: "operation not supported by device", + 2: "no such file or directory", + 8: "exec format error", + 77: "no locks available", + 95: "link has been severed", + 12: "cannot allocate memory", + 83: "no message of desired type", + 42: "protocol option not available", + 28: "no space left on device", + 90: "no STREAM resources", + 91: "not a STREAM", + 78: "function not implemented", + 15: "block device required", + 57: "socket is not connected", + 20: "not a directory", + 66: "directory not empty", + 38: "socket operation on non-socket", + 86: "not supported", + 25: "inappropriate ioctl for device", + 6: "device not configured", + 45: "operation not supported", + 84: "value too large to be stored in data type", + 1: "operation not permitted", + 46: "protocol family not supported", + 32: "broken pipe", + 67: "too many processes", + 76: "bad procedure for program", + 75: "program version wrong", + 74: "RPC prog. not avail", + 43: "protocol not supported", + 41: "protocol wrong type for socket", + 34: "result too large or too small", + 71: "too many levels of remote in path", + 30: "read-only file system", + 73: "RPC version wrong", + 58: "can't send after socket shutdown", + 44: "socket type not supported", + 29: "illegal seek", + 3: "no such process", + 70: "stale NFS file handle", + 92: "STREAM ioctl timeout", + 60: "connection timed out", + 59: "too many references: can't splice", + 26: "text file busy", + 68: "too many users", + 18: "cross-device link", +} + diff --git a/src/pkg/syscall/zerrors_netbsd_amd64.go b/src/pkg/syscall/zerrors_netbsd_amd64.go new file mode 100644 --- /dev/null +++ b/src/pkg/syscall/zerrors_netbsd_amd64.go @@ -0,0 +1,461 @@ +// mkerrors.sh +// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT + +// godefs -gsyscall _const.c + +// MACHINE GENERATED - DO NOT EDIT. + +package syscall + +// Constants +const ( + AF_APPLETALK = 0x10; + AF_ARP = 0x1c; + AF_BLUETOOTH = 0x1f; + AF_CCITT = 0xa; + AF_CHAOS = 0x5; + AF_CNT = 0x15; + AF_COIP = 0x14; + AF_DATAKIT = 0x9; + AF_DECnet = 0xc; + AF_DLI = 0xd; + AF_E164 = 0x1a; + AF_ECMA = 0x8; + AF_HYLINK = 0xf; + AF_IEEE80211 = 0x20; + AF_IMPLINK = 0x3; + AF_INET = 0x2; + AF_INET6 = 0x18; + AF_IPX = 0x17; + AF_ISDN = 0x1a; + AF_ISO = 0x7; + AF_LAT = 0xe; + AF_LINK = 0x12; + AF_LOCAL = 0x1; + AF_MAX = 0x21; + AF_NATM = 0x1b; + AF_NS = 0x6; + AF_OSI = 0x7; + AF_PUP = 0x4; + AF_ROUTE = 0x11; + AF_SNA = 0xb; + AF_UNIX = 0x1; + AF_UNSPEC = 0; + E2BIG = 0x7; + EACCES = 0xd; + EADDRINUSE = 0x30; + EADDRNOTAVAIL = 0x31; + EAFNOSUPPORT = 0x2f; + EAGAIN = 0x23; + EALREADY = 0x25; + EAUTH = 0x50; + EBADF = 0x9; + EBADMSG = 0x58; + EBADRPC = 0x48; + EBUSY = 0x10; + ECANCELED = 0x57; + ECHILD = 0xa; + ECONNABORTED = 0x35; + ECONNREFUSED = 0x3d; + ECONNRESET = 0x36; + EDEADLK = 0xb; + EDESTADDRREQ = 0x27; + EDOM = 0x21; + EDQUOT = 0x45; + EEXIST = 0x11; + EFAULT = 0xe; + EFBIG = 0x1b; + EFTYPE = 0x4f; + EHOSTDOWN = 0x40; + EHOSTUNREACH = 0x41; + EIDRM = 0x52; + EILSEQ = 0x55; + EINPROGRESS = 0x24; + EINTR = 0x4; + EINVAL = 0x16; + EIO = 0x5; + EISCONN = 0x38; + EISDIR = 0x15; + ELAST = 0x60; + ELOOP = 0x3e; + EMFILE = 0x18; + EMLINK = 0x1f; + EMSGSIZE = 0x28; + EMULTIHOP = 0x5e; + ENAMETOOLONG = 0x3f; + ENEEDAUTH = 0x51; + ENETDOWN = 0x32; + ENETRESET = 0x34; + ENETUNREACH = 0x33; + ENFILE = 0x17; + ENOATTR = 0x5d; + ENOBUFS = 0x37; + ENODATA = 0x59; + ENODEV = 0x13; + ENOENT = 0x2; + ENOEXEC = 0x8; + ENOLCK = 0x4d; + ENOLINK = 0x5f; + ENOMEM = 0xc; + ENOMSG = 0x53; + ENOPROTOOPT = 0x2a; + ENOSPC = 0x1c; + ENOSR = 0x5a; + ENOSTR = 0x5b; + ENOSYS = 0x4e; + ENOTBLK = 0xf; + ENOTCONN = 0x39; + ENOTDIR = 0x14; + ENOTEMPTY = 0x42; + ENOTSOCK = 0x26; + ENOTSUP = 0x56; + ENOTTY = 0x19; + ENXIO = 0x6; + EOPNOTSUPP = 0x2d; + EOVERFLOW = 0x54; + EPERM = 0x1; + EPFNOSUPPORT = 0x2e; + EPIPE = 0x20; + EPROCLIM = 0x43; + EPROCUNAVAIL = 0x4c; + EPROGMISMATCH = 0x4b; + EPROGUNAVAIL = 0x4a; + EPROTO = 0x60; + EPROTONOSUPPORT = 0x2b; + EPROTOTYPE = 0x29; + ERANGE = 0x22; + EREMOTE = 0x47; + EROFS = 0x1e; + ERPCMISMATCH = 0x49; + ESHUTDOWN = 0x3a; + ESOCKTNOSUPPORT = 0x2c; + ESPIPE = 0x1d; + ESRCH = 0x3; + ESTALE = 0x46; + ETIME = 0x5c; + ETIMEDOUT = 0x3c; + ETOOMANYREFS = 0x3b; + ETXTBSY = 0x1a; + EUSERS = 0x44; + EWOULDBLOCK = 0x23; + EXDEV = 0x12; + FD_CLOEXEC = 0x1; + FD_SETSIZE = 0x100; + F_CLOSEM = 0xa; + F_DUPFD = 0; + F_FSCTL = 0x80000000; + F_FSDIRMASK = 0x70000000; + F_FSIN = 0x10000000; + F_FSINOUT = 0x30000000; + F_FSOUT = 0x20000000; + F_FSPRIV = 0x8000; + F_FSVOID = 0x40000000; + F_GETFD = 0x1; + F_GETFL = 0x3; + F_GETLK = 0x7; + F_GETOWN = 0x5; + F_MAXFD = 0xb; + F_PARAM_MASK = 0xfff; + F_PARAM_MAX = 0xfff; + F_RDLCK = 0x1; + F_SETFD = 0x2; + F_SETFL = 0x4; + F_SETLK = 0x8; + F_SETLKW = 0x9; + F_SETOWN = 0x6; + F_UNLCK = 0x2; + F_WRLCK = 0x3; + IPPROTO_AH = 0x33; + IPPROTO_CARP = 0x70; + IPPROTO_DONE = 0x101; + IPPROTO_DSTOPTS = 0x3c; + IPPROTO_EGP = 0x8; + IPPROTO_ENCAP = 0x62; + IPPROTO_EON = 0x50; + IPPROTO_ESP = 0x32; + IPPROTO_ETHERIP = 0x61; + IPPROTO_FRAGMENT = 0x2c; + IPPROTO_GGP = 0x3; + IPPROTO_GRE = 0x2f; + IPPROTO_HOPOPTS = 0; + IPPROTO_ICMP = 0x1; + IPPROTO_ICMPV6 = 0x3a; + IPPROTO_IDP = 0x16; + IPPROTO_IGMP = 0x2; + IPPROTO_IP = 0; + IPPROTO_IPCOMP = 0x6c; + IPPROTO_IPIP = 0x4; + IPPROTO_IPV4 = 0x4; + IPPROTO_IPV6 = 0x29; + IPPROTO_IPV6_ICMP = 0x3a; + IPPROTO_MAX = 0x100; + IPPROTO_MAXID = 0x34; + IPPROTO_MOBILE = 0x37; + IPPROTO_NONE = 0x3b; + IPPROTO_PIM = 0x67; + IPPROTO_PUP = 0xc; + IPPROTO_RAW = 0xff; + IPPROTO_ROUTING = 0x2b; + IPPROTO_RSVP = 0x2e; + IPPROTO_TCP = 0x6; + IPPROTO_TP = 0x1d; + IPPROTO_UDP = 0x11; + IPPROTO_VRRP = 0x70; + IP_ADD_MEMBERSHIP = 0xc; + IP_DEFAULT_MULTICAST_LOOP = 0x1; + IP_DEFAULT_MULTICAST_TTL = 0x1; + IP_DROP_MEMBERSHIP = 0xd; + IP_ERRORMTU = 0x15; + IP_HDRINCL = 0x2; + IP_IPSEC_POLICY = 0x16; + IP_MAX_MEMBERSHIPS = 0x14; + IP_MULTICAST_IF = 0x9; + IP_MULTICAST_LOOP = 0xb; + IP_MULTICAST_TTL = 0xa; + IP_OPTIONS = 0x1; + IP_PORTRANGE = 0x13; + IP_PORTRANGE_DEFAULT = 0; + IP_PORTRANGE_HIGH = 0x1; + IP_PORTRANGE_LOW = 0x2; + IP_RECVDSTADDR = 0x7; + IP_RECVIF = 0x14; + IP_RECVOPTS = 0x5; + IP_RECVRETOPTS = 0x6; + IP_RETOPTS = 0x8; + IP_TOS = 0x3; + IP_TTL = 0x4; + O_ACCMODE = 0x3; + O_ALT_IO = 0x40000; + O_APPEND = 0x8; + O_ASYNC = 0x40; + O_CREAT = 0x200; + O_DIRECT = 0x80000; + O_DSYNC = 0x10000; + O_EXCL = 0x800; + O_EXLOCK = 0x20; + O_FSYNC = 0x80; + O_NDELAY = 0x4; + O_NOCTTY = 0x8000; + O_NOFOLLOW = 0x100; + O_NONBLOCK = 0x4; + O_RDONLY = 0; + O_RDWR = 0x2; + O_RSYNC = 0x20000; + O_SHLOCK = 0x10; + O_SYNC = 0x80; + O_TRUNC = 0x400; + O_WRONLY = 0x1; + SHUT_RD = 0; + SHUT_RDWR = 0x2; + SHUT_WR = 0x1; + SIGABRT = 0x6; + SIGALRM = 0xe; + SIGBUS = 0xa; + SIGCHLD = 0x14; + SIGCONT = 0x13; + SIGEMT = 0x7; + SIGFPE = 0x8; + SIGHUP = 0x1; + SIGILL = 0x4; + SIGINFO = 0x1d; + SIGINT = 0x2; + SIGIO = 0x17; + SIGIOT = 0x6; + SIGKILL = 0x9; + SIGPIPE = 0xd; + SIGPROF = 0x1b; + SIGPWR = 0x20; + SIGQUIT = 0x3; + SIGSEGV = 0xb; + SIGSTOP = 0x11; + SIGSYS = 0xc; + SIGTERM = 0xf; + SIGTRAP = 0x5; + SIGTSTP = 0x12; + SIGTTIN = 0x15; + SIGTTOU = 0x16; + SIGURG = 0x10; + SIGUSR1 = 0x1e; + SIGUSR2 = 0x1f; + SIGVTALRM = 0x1a; + SIGWINCH = 0x1c; + SIGXCPU = 0x18; + SIGXFSZ = 0x19; + SOCK_DGRAM = 0x2; + SOCK_RAW = 0x3; + SOCK_RDM = 0x4; + SOCK_SEQPACKET = 0x5; + SOCK_STREAM = 0x1; + SOL_SOCKET = 0xffff; + SOMAXCONN = 0x80; + SO_ACCEPTCONN = 0x2; + SO_ACCEPTFILTER = 0x1000; + SO_BROADCAST = 0x20; + SO_DEBUG = 0x1; + SO_DONTROUTE = 0x10; + SO_ERROR = 0x1007; + SO_KEEPALIVE = 0x8; + SO_LINGER = 0x80; + SO_NOHEADER = 0x100a; + SO_OOBINLINE = 0x100; + SO_OVERFLOWED = 0x1009; + SO_RCVBUF = 0x1002; + SO_RCVLOWAT = 0x1004; + SO_RCVTIMEO = 0x1006; + SO_REUSEADDR = 0x4; + SO_REUSEPORT = 0x200; + SO_SNDBUF = 0x1001; + SO_SNDLOWAT = 0x1003; + SO_SNDTIMEO = 0x1005; + SO_TIMESTAMP = 0x400; + SO_TYPE = 0x1008; + SO_USELOOPBACK = 0x40; + S_ARCH1 = 0x10000; + S_ARCH2 = 0x20000; + S_BLKSIZE = 0x200; + S_IEXEC = 0x40; + S_IFBLK = 0x6000; + S_IFCHR = 0x2000; + S_IFDIR = 0x4000; + S_IFIFO = 0x1000; + S_IFLNK = 0xa000; + S_IFMT = 0xf000; + S_IFREG = 0x8000; + S_IFSOCK = 0xc000; + S_IFWHT = 0xe000; + S_IREAD = 0x100; + S_IRGRP = 0x20; + S_IROTH = 0x4; + S_IRUSR = 0x100; + S_IRWXG = 0x38; + S_IRWXO = 0x7; + S_IRWXU = 0x1c0; + S_ISGID = 0x400; + S_ISTXT = 0x200; + S_ISUID = 0x800; + S_ISVTX = 0x200; + S_IWGRP = 0x10; + S_IWOTH = 0x2; + S_IWRITE = 0x80; + S_IWUSR = 0x80; + S_IXGRP = 0x8; + S_IXOTH = 0x1; + S_IXUSR = 0x40; + TCP_CONGCTL = 0x20; + TCP_KEEPCNT = 0x6; + TCP_KEEPIDLE = 0x3; + TCP_KEEPINIT = 0x7; + TCP_KEEPINTVL = 0x5; + TCP_MAXBURST = 0x4; + TCP_MAXSEG = 0x2; + TCP_MAXWIN = 0xffff; + TCP_MAX_WINSHIFT = 0xe; + TCP_MD5SIG = 0x10; + TCP_MINMSS = 0xd8; + TCP_MSS = 0x218; + TCP_NODELAY = 0x1; +) + +// Types + + +// Error table +var errors = [...]string { + 7: "argument list too long", + 13: "permission denied", + 48: "address already in use", + 49: "can't assign requested address", + 47: "address family not supported by protocol family", + 35: "resource temporarily unavailable", + 37: "operation already in progress", + 80: "authentication error", + 9: "bad file descriptor", + 88: "bad or Corrupt message", + 72: "RPC struct is bad", + 16: "device busy", + 87: "operation Canceled", + 10: "no child processes", + 53: "software caused connection abort", + 61: "connection refused", + 54: "connection reset by peer", + 11: "resource deadlock avoided", + 39: "destination address required", + 33: "numerical argument out of domain", + 69: "disc quota exceeded", + 17: "file exists", + 14: "bad address", + 27: "file too large", + 79: "inappropriate file type or format", + 64: "host is down", + 65: "no route to host", + 82: "identifier removed", + 85: "illegal byte sequence", + 36: "operation now in progress", + 4: "interrupted system call", + 22: "invalid argument", + 5: "input/output error", + 56: "socket is already connected", + 21: "is a directory", + 96: "protocol error", + 62: "too many levels of symbolic links", + 24: "too many open files", + 31: "too many links", + 40: "message too long", + 94: "multihop attempted", + 63: "file name too long", + 81: "need authenticator", + 50: "network is down", + 52: "network dropped connection on reset", + 51: "network is unreachable", + 23: "too many open files in system", + 93: "attribute not found", + 55: "no buffer space available", + 89: "no message available", + 19: "operation not supported by device", + 2: "no such file or directory", + 8: "exec format error", + 77: "no locks available", + 95: "link has been severed", + 12: "cannot allocate memory", + 83: "no message of desired type", + 42: "protocol option not available", + 28: "no space left on device", + 90: "no STREAM resources", + 91: "not a STREAM", + 78: "function not implemented", + 15: "block device required", + 57: "socket is not connected", + 20: "not a directory", + 66: "directory not empty", + 38: "socket operation on non-socket", + 86: "not supported", + 25: "inappropriate ioctl for device", + 6: "device not configured", + 45: "operation not supported", + 84: "value too large to be stored in data type", + 1: "operation not permitted", + 46: "protocol family not supported", + 32: "broken pipe", + 67: "too many processes", + 76: "bad procedure for program", + 75: "program version wrong", + 74: "RPC prog. not avail", + 43: "protocol not supported", + 41: "protocol wrong type for socket", + 34: "result too large or too small", + 71: "too many levels of remote in path", + 30: "read-only file system", + 73: "RPC version wrong", + 58: "can't send after socket shutdown", + 44: "socket type not supported", + 29: "illegal seek", + 3: "no such process", + 70: "stale NFS file handle", + 92: "STREAM ioctl timeout", + 60: "connection timed out", + 59: "too many references: can't splice", + 26: "text file busy", + 68: "too many users", + 18: "cross-device link", +} + diff --git a/src/pkg/syscall/zsyscall_netbsd_386.go b/src/pkg/syscall/zsyscall_netbsd_386.go new file mode 100644 --- /dev/null +++ b/src/pkg/syscall/zsyscall_netbsd_386.go @@ -0,0 +1,1336 @@ +// mksyscall.sh -l32 syscall_netbsd.go syscall_netbsd_386.go +// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT + +package syscall + +import "unsafe" + +func kevent(kq int, change uintptr, nchange int, event uintptr, nevent int, timeout *Timespec) (n int, errno int) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))); + n = int(r0); + errno = int(e1); + return; +} + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, errno int) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))); + fd = int(r0); + errno = int(e1); + return; +} + +func bind(s int, addr uintptr, addrlen _Socklen) (errno int) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)); + errno = int(e1); + return; +} + +func connect(s int, addr uintptr, addrlen _Socklen) (errno int) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)); + errno = int(e1); + return; +} + +func socket(domain int, typ int, proto int) (fd int, errno int) { + r0, _, e1 := Syscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)); + fd = int(r0); + errno = int(e1); + return; +} + +func setsockopt(s int, level int, name int, val uintptr, vallen int) (errno int) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0); + errno = int(e1); + return; +} + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (errno int) { + _, _, e1 := Syscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))); + errno = int(e1); + return; +} + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (errno int) { + _, _, e1 := Syscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))); + errno = int(e1); + return; +} + +func Shutdown(s int, how int) (errno int) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0); + errno = int(e1); + return; +} + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, errno int) { + var _p0 *byte; + if len(p) > 0 { _p0 = &p[0]; } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))); + n = int(r0); + errno = int(e1); + return; +} + +func sendto(s int, buf []byte, flags int, to uintptr, addrlen _Socklen) (errno int) { + var _p0 *byte; + if len(buf) > 0 { _p0 = &buf[0]; } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)); + errno = int(e1); + return; +} + +func fcntl(fd int, cmd int, arg int) (val int, errno int) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)); + val = int(r0); + errno = int(e1); + return; +} + +func Access(path string, flags int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(flags), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Acct(path string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(StringBytePtr(path))), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Adjtime(delta *Timeval, olddelta *Timeval) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Chdir(path string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(StringBytePtr(path))), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Chmod(path string, mode int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(mode), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Chown(path string, uid int, gid int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(uid), uintptr(gid)); + ret = int(r0); + errno = int(e1); + return; +} + +func Chroot(path string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(StringBytePtr(path))), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Clock_getres(clock_id int, tp *Timespec) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clock_id), uintptr(unsafe.Pointer(tp)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Clock_gettime(clock_id int, tp *Timespec) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clock_id), uintptr(unsafe.Pointer(tp)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Clock_settime(clock_id int, tp *Timespec) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_CLOCK_SETTIME, uintptr(clock_id), uintptr(unsafe.Pointer(tp)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func __clone(flags int, stack *byte) (pid int, errno int) { + r0, _, e1 := Syscall(SYS___CLONE, uintptr(flags), uintptr(unsafe.Pointer(stack)), 0); + pid = int(r0); + errno = int(e1); + return; +} + +func Close(fd int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Dup(fd int) (newfd int, errno int) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0); + newfd = int(r0); + errno = int(e1); + return; +} + +func Dup2(from int, to int) (newfd int, errno int) { + r0, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0); + newfd = int(r0); + errno = int(e1); + return; +} + +func Exit(rval int) () { + Syscall(SYS_EXIT, uintptr(rval), 0, 0); + return; +} + +func Extattr_delete_fd(fd int, attrnamespace int, attrname string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(StringBytePtr(attrname)))); + ret = int(r0); + errno = int(e1); + return; +} + +func Extattr_delete_file(path string, int attrnamespace, attrname string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(int), uintptr(unsafe.Pointer(StringBytePtr(attrname)))); + ret = int(r0); + errno = int(e1); + return; +} + +func Extattr_delete_link(path string, int attrnamespace, attrname string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(int), uintptr(unsafe.Pointer(StringBytePtr(attrname)))); + ret = int(r0); + errno = int(e1); + return; +} + +func Extattr_get_fd(fd int, attrnamespace int, attrname string, data *byte, nbytes size_t) (n ssize_t, errno int) { + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(StringBytePtr(attrname))), uintptr(unsafe.Pointer(data)), uintptr(nbytes), 0); + n = ssize_t(r0); + errno = int(e1); + return; +} + +func Extattr_get_file(path string, int attrnamespace, attrname string, data *byte, size_t nbytes) (n ssize_t, errno int) { + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(int), uintptr(unsafe.Pointer(StringBytePtr(attrname))), uintptr(unsafe.Pointer(data)), uintptr(size_t), 0); + n = ssize_t(r0); + errno = int(e1); + return; +} + +func Extattr_get_link(path string, int attrnamespace, attrname string, data *byte, size_t nbytes) (n ssize_t, errno int) { + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(int), uintptr(unsafe.Pointer(StringBytePtr(attrname))), uintptr(unsafe.Pointer(data)), uintptr(size_t), 0); + n = ssize_t(r0); + errno = int(e1); + return; +} + +func Extattr_list_fd(fd int, attrnamespace int, data *byte, nbytes size_t) (n ssize_t, errno int) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(data)), uintptr(nbytes), 0, 0); + n = ssize_t(r0); + errno = int(e1); + return; +} + +func Extattr_list_file(path string, int attrnamespace, data *byte, size_t nbytes) (n ssize_t, errno int) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(int), uintptr(unsafe.Pointer(data)), uintptr(size_t), 0, 0); + n = ssize_t(r0); + errno = int(e1); + return; +} + +func Extattr_list_link(path string, int attrnamespace, data *byte, size_t nbytes) (n ssize_t, errno int) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(int), uintptr(unsafe.Pointer(data)), uintptr(size_t), 0, 0); + n = ssize_t(r0); + errno = int(e1); + return; +} + +func Extattr_set_fd(fd int, attrnamespace int, attrname string, data *byte, nbytes size_t) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(StringBytePtr(attrname))), uintptr(unsafe.Pointer(data)), uintptr(nbytes), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Extattr_set_file(path string, attrnamespace int, attrname string, data *byte, nbytes size_t) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(attrnamespace), uintptr(unsafe.Pointer(StringBytePtr(attrname))), uintptr(unsafe.Pointer(data)), uintptr(nbytes), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Extattr_set_link(path string, attrnamespace int, attrname string, data *byte, nbytes size_t) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(attrnamespace), uintptr(unsafe.Pointer(StringBytePtr(attrname))), uintptr(unsafe.Pointer(data)), uintptr(nbytes), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Extattrctl(path string, cmd int, filename string, attrnamespace int, attrname string) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_EXTATTRCTL, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(cmd), uintptr(unsafe.Pointer(StringBytePtr(filename))), uintptr(attrnamespace), uintptr(unsafe.Pointer(StringBytePtr(attrname))), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Fchdir(fd int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Fchmod(fd int, mode int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Fchown(fd int, uid int, gid int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)); + ret = int(r0); + errno = int(e1); + return; +} + +func Fchroot(fd int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_FCHROOT, uintptr(fd), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Fdatasync(fd int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Fgetxattr(fd int, name string, value *byte, size size_t) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(StringBytePtr(name))), uintptr(unsafe.Pointer(value)), uintptr(size), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Fhopen(fhp *byte, fh_size size_t, flags int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_FHOPEN, uintptr(unsafe.Pointer(fhp)), uintptr(fh_size), uintptr(flags)); + ret = int(r0); + errno = int(e1); + return; +} + +func Fhstat(fhp *byte, fh_size size_t, sb *Stat_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_FHSTAT, uintptr(unsafe.Pointer(fhp)), uintptr(fh_size), uintptr(unsafe.Pointer(sb))); + ret = int(r0); + errno = int(e1); + return; +} + +func Fhstatvfs1(fhp *byte, fh_size size_t, buf *Stat_tvfs, flags int) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_FHSTATVFS1, uintptr(unsafe.Pointer(fhp)), uintptr(fh_size), uintptr(unsafe.Pointer(buf)), uintptr(flags), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Fktrace(fd int, ops int, facs int, pid int) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_FKTRACE, uintptr(fd), uintptr(ops), uintptr(facs), uintptr(pid), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Flistxattr(fd int, list *char, size size_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(unsafe.Pointer(list)), uintptr(size)); + ret = int(r0); + errno = int(e1); + return; +} + +func Flock(fd int, how int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Fork() (ret int, errno int) { + r0, _, e1 := Syscall(SYS_FORK, 0, 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Fremovexattr(fd int, name string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(StringBytePtr(name))), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Fsetxattr(fd int, name string, value *byte, size size_t, flags int) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(StringBytePtr(name))), uintptr(unsafe.Pointer(value)), uintptr(size), uintptr(flags), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Fstat(fd int, stat *Stat_t) (errno int) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0); + errno = int(e1); + return; +} + +func Fstatvfs1(fd int, buf *Stat_tvfs, flags int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_FSTATVFS1, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(flags)); + ret = int(r0); + errno = int(e1); + return; +} + +func Fsync(fd int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Fsync_range(fd int, flags int, start off_t, length off_t) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_FSYNC_RANGE, uintptr(fd), uintptr(flags), uintptr(start), uintptr(length), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Ftruncate(fd int, PAD int, length off_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(PAD), uintptr(length)); + ret = int(r0); + errno = int(e1); + return; +} + +func Futimes(fd int, tptr *Timeval) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(tptr)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func __getcwd(bufp *char, length size_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(unsafe.Pointer(bufp)), uintptr(length), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Getdents(fd int, buf *char, count size_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(count)); + ret = int(r0); + errno = int(e1); + return; +} + +func Getegid() (gid int, errno int) { + r0, _, e1 := Syscall(SYS_GETEGID, 0, 0, 0); + gid = int(r0); + errno = int(e1); + return; +} + +func Geteuid() (uid int, errno int) { + r0, _, e1 := Syscall(SYS_GETEUID, 0, 0, 0); + uid = int(r0); + errno = int(e1); + return; +} + +func Getfh(fname string, fhp *byte, size_t *fh_size) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_GETFH, uintptr(unsafe.Pointer(StringBytePtr(fname))), uintptr(unsafe.Pointer(fhp)), uintptr(unsafe.Pointer(size_t))); + ret = int(r0); + errno = int(e1); + return; +} + +func Getgroups(gidsetsize int, gidset *int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_GETGROUPS, uintptr(gidsetsize), uintptr(unsafe.Pointer(gidset)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func __getlogin(namebuf *char, namelen size_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS___GETLOGIN, uintptr(unsafe.Pointer(namebuf)), uintptr(namelen), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Getpgid(pid int) (pgid int, errno int) { + r0, _, e1 := Syscall(SYS_GETPGID, uintptr(pid), 0, 0); + pgid = int(r0); + errno = int(e1); + return; +} + +func Getpgrp() (pid int, errno int) { + r0, _, e1 := Syscall(SYS_GETPGRP, 0, 0, 0); + pid = int(r0); + errno = int(e1); + return; +} + +func Getppid() (pid int, errno int) { + r0, _, e1 := Syscall(SYS_GETPPID, 0, 0, 0); + pid = int(r0); + errno = int(e1); + return; +} + +func Getpriority(which int, who id_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Getrlimit(which int, rlp *Rlimit) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(rlp)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Getrusage(who int, rusage *Rusage) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Getsid(pid int) (sid int, errno int) { + r0, _, e1 := Syscall(SYS_GETSID, uintptr(pid), 0, 0); + sid = int(r0); + errno = int(e1); + return; +} + +func Getvfsstat(buf *Stat_tvfs, bufsize size_t, flags int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_GETVFSSTAT, uintptr(unsafe.Pointer(buf)), uintptr(bufsize), uintptr(flags)); + ret = int(r0); + errno = int(e1); + return; +} + +func Getxattr(path string, name string, value *byte, size_t size) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(StringBytePtr(name))), uintptr(unsafe.Pointer(value)), uintptr(size_t), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Issetugid() (ret int, errno int) { + r0, _, e1 := Syscall(SYS_ISSETUGID, 0, 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Kill(pid int, signum int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Kqueue() (ret int, errno int) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Ktrace(fname string, ops int, facs int, pid int) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_KTRACE, uintptr(unsafe.Pointer(StringBytePtr(fname))), uintptr(ops), uintptr(facs), uintptr(pid), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Lchmod(path string, mode int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_LCHMOD, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(mode), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Lchown(path string, uid int, gid int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(uid), uintptr(gid)); + ret = int(r0); + errno = int(e1); + return; +} + +func Lgetxattr(path string, name string, value *byte, size_t size) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(StringBytePtr(name))), uintptr(unsafe.Pointer(value)), uintptr(size_t), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Link(path string, link string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(StringBytePtr(link))), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Listen(s int, backlog int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Listxattr(path string, char *list, size_t size) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(char)), uintptr(size_t)); + ret = int(r0); + errno = int(e1); + return; +} + +func Llistxattr(path string, char *list, size_t size) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(char)), uintptr(size_t)); + ret = int(r0); + errno = int(e1); + return; +} + +func Lremovexattr(path string, name string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(StringBytePtr(name))), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Lsetxattr(path string, name string, value *byte, size_t size, int flags) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(StringBytePtr(name))), uintptr(unsafe.Pointer(value)), uintptr(size_t), uintptr(int), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Lstat(path string, stat *Stat_t) (errno int) { + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(stat)), 0); + errno = int(e1); + return; +} + +func Lutimes(path string, tptr *Timeval) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_LUTIMES, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(tptr)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Madvise(addr *byte, len size_t, behav int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_MADVISE, uintptr(unsafe.Pointer(addr)), uintptr(len), uintptr(behav)); + ret = int(r0); + errno = int(e1); + return; +} + +func Mincore(addr *byte, len size_t, vec *char) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_MINCORE, uintptr(unsafe.Pointer(addr)), uintptr(len), uintptr(unsafe.Pointer(vec))); + ret = int(r0); + errno = int(e1); + return; +} + +func Minherit(addr *byte, len size_t, inherit int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_MINHERIT, uintptr(unsafe.Pointer(addr)), uintptr(len), uintptr(inherit)); + ret = int(r0); + errno = int(e1); + return; +} + +func Mkdir(path string, mode int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(mode), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Mkfifo(path string, mode int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(mode), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Mknod(path string, mode int, dev dev_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(mode), uintptr(dev)); + ret = int(r0); + errno = int(e1); + return; +} + +func Mlock(addr *byte, len size_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_MLOCK, uintptr(unsafe.Pointer(addr)), uintptr(len), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Mlockall(flags int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Modctl(cmd int, arg *byte) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_MODCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Mprotect(addr *byte, len size_t, prot int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_MPROTECT, uintptr(unsafe.Pointer(addr)), uintptr(len), uintptr(prot)); + ret = int(r0); + errno = int(e1); + return; +} + +func Mremap(old_address *byte, old_size size_t, new_address *byte, new_size size_t, int flags) (p *byte, errno int) { + r0, _, e1 := Syscall6(SYS_MREMAP, uintptr(unsafe.Pointer(old_address)), uintptr(old_size), uintptr(unsafe.Pointer(new_address)), uintptr(new_size), uintptr(int), 0); + p = *byte(r0); + errno = int(e1); + return; +} + +func Msync(addr *byte, len size_t, flags int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_MSYNC, uintptr(unsafe.Pointer(addr)), uintptr(len), uintptr(flags)); + ret = int(r0); + errno = int(e1); + return; +} + +func Munlock(addr *byte, len size_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_MUNLOCK, uintptr(unsafe.Pointer(addr)), uintptr(len), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Munlockall() (ret int, errno int) { + r0, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Munmap(addr *byte, len size_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_MUNMAP, uintptr(unsafe.Pointer(addr)), uintptr(len), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Nanosleep(rqtp *Timespec, rmtp *Timespec) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(rqtp)), uintptr(unsafe.Pointer(rmtp)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Nfssvc(flag int, argp *byte) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_NFSSVC, uintptr(flag), uintptr(unsafe.Pointer(argp)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Open(path string, flags int, mode int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(flags), uintptr(mode)); + ret = int(r0); + errno = int(e1); + return; +} + +func Pipe() (ret int, errno int) { + r0, _, e1 := Syscall(SYS_PIPE, 0, 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Pmc_control(ctr int, op int, args *byte) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_PMC_CONTROL, uintptr(ctr), uintptr(op), uintptr(unsafe.Pointer(args))); + ret = int(r0); + errno = int(e1); + return; +} + +func Pmc_get_info(ctr int, op int, args *byte) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_PMC_GET_INFO, uintptr(ctr), uintptr(op), uintptr(unsafe.Pointer(args))); + ret = int(r0); + errno = int(e1); + return; +} + +func __posix_chown(path string, uid int, gid int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS___POSIX_CHOWN, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(uid), uintptr(gid)); + ret = int(r0); + errno = int(e1); + return; +} + +func Posix_fadvise(fd int, PAD int, offset off_t, len off_t, advice int) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), uintptr(PAD), uintptr(offset), uintptr(len), uintptr(advice), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func __posix_fchown(fd int, uid int, gid int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS___POSIX_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)); + ret = int(r0); + errno = int(e1); + return; +} + +func __posix_lchown(path string, uid int, gid int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS___POSIX_LCHOWN, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(uid), uintptr(gid)); + ret = int(r0); + errno = int(e1); + return; +} + +func __posix_rename(from string, to string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS___POSIX_RENAME, uintptr(unsafe.Pointer(StringBytePtr(from))), uintptr(unsafe.Pointer(StringBytePtr(to))), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Profil(samples *char, size size_t, offset u_long, scale u_int) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_PROFIL, uintptr(unsafe.Pointer(samples)), uintptr(size), uintptr(offset), uintptr(scale), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Pselect(nd int, in *fd_set, ou *fd_set, ex *fd_set, ts *Timespec, mask *sigset_t) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_PSELECT, uintptr(nd), uintptr(unsafe.Pointer(in)), uintptr(unsafe.Pointer(ou)), uintptr(unsafe.Pointer(ex)), uintptr(unsafe.Pointer(ts)), uintptr(unsafe.Pointer(mask))); + ret = int(r0); + errno = int(e1); + return; +} + +func _pset_bind(idtype idtype_t, first_id id_t, second_id id_t, psid psetid_t, opsid *psetid_t) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS__PSET_BIND, uintptr(idtype), uintptr(first_id), uintptr(second_id), uintptr(psid), uintptr(unsafe.Pointer(opsid)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Pset_create(psid *psetid_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_PSET_CREATE, uintptr(unsafe.Pointer(psid)), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Pset_destroy(psid psetid_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_PSET_DESTROY, uintptr(psid), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Ptrace(req int, pid int, addr *byte, data int) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_PTRACE, uintptr(req), uintptr(pid), uintptr(unsafe.Pointer(addr)), uintptr(data), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Rasctl(addr *byte, len size_t, op int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_RASCTL, uintptr(unsafe.Pointer(addr)), uintptr(len), uintptr(op)); + ret = int(r0); + errno = int(e1); + return; +} + +func Read(fd int, p []byte) (n int, errno int) { + var _p0 *byte; + if len(p) > 0 { _p0 = &p[0]; } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p))); + n = int(r0); + errno = int(e1); + return; +} + +func Readlink(path string, buf []byte) (n int, errno int) { + var _p0 *byte; + if len(buf) > 0 { _p0 = &buf[0]; } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf))); + n = int(r0); + errno = int(e1); + return; +} + +func Reboot(opt int, bootstr *char) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_REBOOT, uintptr(opt), uintptr(unsafe.Pointer(bootstr)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Removexattr(path string, name string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(StringBytePtr(name))), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Rename(from string, to string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(StringBytePtr(from))), uintptr(unsafe.Pointer(StringBytePtr(to))), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Revoke(path string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(StringBytePtr(path))), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Rmdir(path string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(StringBytePtr(path))), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Sa_enable() (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SA_ENABLE, 0, 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Sa_preempt(sa_id int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SA_PREEMPT, uintptr(sa_id), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Sa_register(new sa_upcall_t, old *sa_upcall_t, flags int, stackinfo_offset ssize_t) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_SA_REGISTER, uintptr(new), uintptr(unsafe.Pointer(old)), uintptr(flags), uintptr(stackinfo_offset), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Sa_setconcurrency(concurrency int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SA_SETCONCURRENCY, uintptr(concurrency), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Sa_stacks(num int, stacks *stack_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SA_STACKS, uintptr(num), uintptr(unsafe.Pointer(stacks)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Sa_yield() (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SA_YIELD, 0, 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Sbrk(incr intptr_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SBRK, uintptr(incr), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Sched_yield() (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SCHED_YIELD, 0, 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Seek(fd int, offset int64, whence int) (newoffset int64, errno int) { + r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset >> 32), uintptr(whence), 0, 0); + newoffset = int64(int64(r1)<<32 | int64(r0)); + errno = int(e1); + return; +} + +func Select(nd int, in *fd_set, ou *fd_set, ex *fd_set, tv *Timeval) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nd), uintptr(unsafe.Pointer(in)), uintptr(unsafe.Pointer(ou)), uintptr(unsafe.Pointer(ex)), uintptr(unsafe.Pointer(tv)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Setegid(egid int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Seteuid(euid int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SETEUID, uintptr(euid), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Setgid(gid int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SETGID, uintptr(gid), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Setgroups(gidsetsize int, gidset *int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SETGROUPS, uintptr(gidsetsize), uintptr(unsafe.Pointer(gidset)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func __setlogin(namebuf string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS___SETLOGIN, uintptr(unsafe.Pointer(StringBytePtr(namebuf))), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Setpgid(pid int, pgid int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Setpriority(which int, who id_t, prio int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)); + ret = int(r0); + errno = int(e1); + return; +} + +func Setregid(rgid int, egid int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Setreuid(ruid int, euid int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Setrlimit(which int, rlp *Rlimit) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(rlp)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Setsid() (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SETSID, 0, 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Settimeofday(tv *Timeval, tzp *byte) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), uintptr(unsafe.Pointer(tzp)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Setuid(uid int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SETUID, uintptr(uid), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Setxattr(path string, name string, value *byte, size_t size, int flags) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(StringBytePtr(name))), uintptr(unsafe.Pointer(value)), uintptr(size_t), uintptr(int), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Sigpending(set *sigset_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SIGPENDING, uintptr(unsafe.Pointer(set)), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Sigprocmask(how int, set *sigset_t, oset *sigset_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SIGPROCMASK, uintptr(how), uintptr(unsafe.Pointer(set)), uintptr(unsafe.Pointer(oset))); + ret = int(r0); + errno = int(e1); + return; +} + +func Sigsuspend(set *sigset_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SIGSUSPEND, uintptr(unsafe.Pointer(set)), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func __sigtimedwait(set *sigset_t, info *siginfo_t, timeout *Timespec) (ret int, errno int) { + r0, _, e1 := Syscall(SYS___SIGTIMEDWAIT, uintptr(unsafe.Pointer(set)), uintptr(unsafe.Pointer(info)), uintptr(unsafe.Pointer(timeout))); + ret = int(r0); + errno = int(e1); + return; +} + +func Sstk(incr int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SSTK, uintptr(incr), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Stat(path string, stat *Stat_t) (errno int) { + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(stat)), 0); + errno = int(e1); + return; +} + +func Statvfs1(path string, buf *Stat_tvfs, flags int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_STATVFS1, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(buf)), uintptr(flags)); + ret = int(r0); + errno = int(e1); + return; +} + +func Swapctl(cmd int, arg *byte, misc int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SWAPCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg)), uintptr(misc)); + ret = int(r0); + errno = int(e1); + return; +} + +func Symlink(path string, link string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(StringBytePtr(link))), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Sync() () { + Syscall(SYS_SYNC, 0, 0, 0); + return; +} + +func Sysarch(op int, parms *byte) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SYSARCH, uintptr(op), uintptr(unsafe.Pointer(parms)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Syscall(code int, code int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SYSCALL, uintptr(code), uintptr(code), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func __syscall(code quad_t, code quad_t) (ret quad_t, errno int) { + r0, _, e1 := Syscall(SYS___SYSCALL, uintptr(code), uintptr(code), 0); + ret = quad_t(r0); + errno = int(e1); + return; +} + +func __sysctl(name *int, namelen u_int, old *byte, oldlenp *size_t, new *byte, newlen size_t) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS___SYSCTL, uintptr(unsafe.Pointer(name)), uintptr(namelen), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlenp)), uintptr(unsafe.Pointer(new)), uintptr(newlen)); + ret = int(r0); + errno = int(e1); + return; +} + +func Truncate(path string, PAD int, length off_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(PAD), uintptr(length)); + ret = int(r0); + errno = int(e1); + return; +} + +func Umask(newmask int) (oldmask int, errno int) { + r0, _, e1 := Syscall(SYS_UMASK, uintptr(newmask), 0, 0); + oldmask = int(r0); + errno = int(e1); + return; +} + +func Undelete(path string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(StringBytePtr(path))), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Unlink(path string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(StringBytePtr(path))), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Unmount(path string, flags int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(flags), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Utimes(path string, tptr *Timeval) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(tptr)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Utrace(label string, addr *byte, len size_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_UTRACE, uintptr(unsafe.Pointer(StringBytePtr(label))), uintptr(unsafe.Pointer(addr)), uintptr(len)); + ret = int(r0); + errno = int(e1); + return; +} + +func Uuidgen(store *Uuid, count int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_UUIDGEN, uintptr(unsafe.Pointer(store)), uintptr(count), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Vfork() (ret int, errno int) { + r0, _, e1 := Syscall(SYS_VFORK, 0, 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Write(fd int, p []byte) (n int, errno int) { + var _p0 *byte; + if len(p) > 0 { _p0 = &p[0]; } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p))); + n = int(r0); + errno = int(e1); + return; +} + +func Wait4(wpid int, status *int, options int, rusage *Rusage) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(wpid), uintptr(unsafe.Pointer(status)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func read(fd int, buf *byte, nbuf int) (n int, errno int) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)); + n = int(r0); + errno = int(e1); + return; +} + +func write(fd int, buf *byte, nbuf int) (n int, errno int) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)); + n = int(r0); + errno = int(e1); + return; +} + +func Chflags(path string, flags uint32) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(flags), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Fchflags(fd int, flags uint32) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Lchflags(path string, flags uint32) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_LCHFLAGS, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(flags), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Pset_assign(psid psetid_t, cpuid uint32, opsid *psetid_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_PSET_ASSIGN, uintptr(psid), uintptr(cpuid), uintptr(unsafe.Pointer(opsid))); + ret = int(r0); + errno = int(e1); + return; +} + +func Fpathconf(fd int, name int) (ret uint32, errno int) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0); + ret = uint32(r0); + errno = int(e1); + return; +} + +func Pathconf(path string, name int) (ret uint32, errno int) { + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(name), 0); + ret = uint32(r0); + errno = int(e1); + return; +} + +func gettimeofday(tp *Timeval) (sec int32, usec int32, errno int) { + r0, r1, e1 := Syscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0); + sec = int32(r0); + usec = int32(r1); + errno = int(e1); + return; +} + + + diff --git a/src/pkg/syscall/zsyscall_netbsd_amd64.go b/src/pkg/syscall/zsyscall_netbsd_amd64.go new file mode 100644 --- /dev/null +++ b/src/pkg/syscall/zsyscall_netbsd_amd64.go @@ -0,0 +1,1336 @@ +// mksyscall.sh syscall_netbsd.go syscall_netbsd_amd64.go +// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT + +package syscall + +import "unsafe" + +func kevent(kq int, change uintptr, nchange int, event uintptr, nevent int, timeout *Timespec) (n int, errno int) { + r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))); + n = int(r0); + errno = int(e1); + return; +} + +func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, errno int) { + r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))); + fd = int(r0); + errno = int(e1); + return; +} + +func bind(s int, addr uintptr, addrlen _Socklen) (errno int) { + _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)); + errno = int(e1); + return; +} + +func connect(s int, addr uintptr, addrlen _Socklen) (errno int) { + _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)); + errno = int(e1); + return; +} + +func socket(domain int, typ int, proto int) (fd int, errno int) { + r0, _, e1 := Syscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)); + fd = int(r0); + errno = int(e1); + return; +} + +func setsockopt(s int, level int, name int, val uintptr, vallen int) (errno int) { + _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0); + errno = int(e1); + return; +} + +func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (errno int) { + _, _, e1 := Syscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))); + errno = int(e1); + return; +} + +func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (errno int) { + _, _, e1 := Syscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))); + errno = int(e1); + return; +} + +func Shutdown(s int, how int) (errno int) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0); + errno = int(e1); + return; +} + +func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, errno int) { + var _p0 *byte; + if len(p) > 0 { _p0 = &p[0]; } + r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))); + n = int(r0); + errno = int(e1); + return; +} + +func sendto(s int, buf []byte, flags int, to uintptr, addrlen _Socklen) (errno int) { + var _p0 *byte; + if len(buf) > 0 { _p0 = &buf[0]; } + _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)); + errno = int(e1); + return; +} + +func fcntl(fd int, cmd int, arg int) (val int, errno int) { + r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)); + val = int(r0); + errno = int(e1); + return; +} + +func Access(path string, flags int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(flags), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Acct(path string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(StringBytePtr(path))), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Adjtime(delta *Timeval, olddelta *Timeval) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Chdir(path string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(StringBytePtr(path))), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Chmod(path string, mode int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(mode), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Chown(path string, uid int, gid int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(uid), uintptr(gid)); + ret = int(r0); + errno = int(e1); + return; +} + +func Chroot(path string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(StringBytePtr(path))), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Clock_getres(clock_id int, tp *Timespec) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clock_id), uintptr(unsafe.Pointer(tp)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Clock_gettime(clock_id int, tp *Timespec) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clock_id), uintptr(unsafe.Pointer(tp)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Clock_settime(clock_id int, tp *Timespec) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_CLOCK_SETTIME, uintptr(clock_id), uintptr(unsafe.Pointer(tp)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func __clone(flags int, stack *byte) (pid int, errno int) { + r0, _, e1 := Syscall(SYS___CLONE, uintptr(flags), uintptr(unsafe.Pointer(stack)), 0); + pid = int(r0); + errno = int(e1); + return; +} + +func Close(fd int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Dup(fd int) (newfd int, errno int) { + r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0); + newfd = int(r0); + errno = int(e1); + return; +} + +func Dup2(from int, to int) (newfd int, errno int) { + r0, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0); + newfd = int(r0); + errno = int(e1); + return; +} + +func Exit(rval int) () { + Syscall(SYS_EXIT, uintptr(rval), 0, 0); + return; +} + +func Extattr_delete_fd(fd int, attrnamespace int, attrname string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(StringBytePtr(attrname)))); + ret = int(r0); + errno = int(e1); + return; +} + +func Extattr_delete_file(path string, int attrnamespace, attrname string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(int), uintptr(unsafe.Pointer(StringBytePtr(attrname)))); + ret = int(r0); + errno = int(e1); + return; +} + +func Extattr_delete_link(path string, int attrnamespace, attrname string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(int), uintptr(unsafe.Pointer(StringBytePtr(attrname)))); + ret = int(r0); + errno = int(e1); + return; +} + +func Extattr_get_fd(fd int, attrnamespace int, attrname string, data *byte, nbytes size_t) (n ssize_t, errno int) { + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(StringBytePtr(attrname))), uintptr(unsafe.Pointer(data)), uintptr(nbytes), 0); + n = ssize_t(r0); + errno = int(e1); + return; +} + +func Extattr_get_file(path string, int attrnamespace, attrname string, data *byte, size_t nbytes) (n ssize_t, errno int) { + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(int), uintptr(unsafe.Pointer(StringBytePtr(attrname))), uintptr(unsafe.Pointer(data)), uintptr(size_t), 0); + n = ssize_t(r0); + errno = int(e1); + return; +} + +func Extattr_get_link(path string, int attrnamespace, attrname string, data *byte, size_t nbytes) (n ssize_t, errno int) { + r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(int), uintptr(unsafe.Pointer(StringBytePtr(attrname))), uintptr(unsafe.Pointer(data)), uintptr(size_t), 0); + n = ssize_t(r0); + errno = int(e1); + return; +} + +func Extattr_list_fd(fd int, attrnamespace int, data *byte, nbytes size_t) (n ssize_t, errno int) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(data)), uintptr(nbytes), 0, 0); + n = ssize_t(r0); + errno = int(e1); + return; +} + +func Extattr_list_file(path string, int attrnamespace, data *byte, size_t nbytes) (n ssize_t, errno int) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(int), uintptr(unsafe.Pointer(data)), uintptr(size_t), 0, 0); + n = ssize_t(r0); + errno = int(e1); + return; +} + +func Extattr_list_link(path string, int attrnamespace, data *byte, size_t nbytes) (n ssize_t, errno int) { + r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(int), uintptr(unsafe.Pointer(data)), uintptr(size_t), 0, 0); + n = ssize_t(r0); + errno = int(e1); + return; +} + +func Extattr_set_fd(fd int, attrnamespace int, attrname string, data *byte, nbytes size_t) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(StringBytePtr(attrname))), uintptr(unsafe.Pointer(data)), uintptr(nbytes), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Extattr_set_file(path string, attrnamespace int, attrname string, data *byte, nbytes size_t) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(attrnamespace), uintptr(unsafe.Pointer(StringBytePtr(attrname))), uintptr(unsafe.Pointer(data)), uintptr(nbytes), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Extattr_set_link(path string, attrnamespace int, attrname string, data *byte, nbytes size_t) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(attrnamespace), uintptr(unsafe.Pointer(StringBytePtr(attrname))), uintptr(unsafe.Pointer(data)), uintptr(nbytes), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Extattrctl(path string, cmd int, filename string, attrnamespace int, attrname string) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_EXTATTRCTL, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(cmd), uintptr(unsafe.Pointer(StringBytePtr(filename))), uintptr(attrnamespace), uintptr(unsafe.Pointer(StringBytePtr(attrname))), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Fchdir(fd int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Fchmod(fd int, mode int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Fchown(fd int, uid int, gid int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)); + ret = int(r0); + errno = int(e1); + return; +} + +func Fchroot(fd int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_FCHROOT, uintptr(fd), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Fdatasync(fd int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Fgetxattr(fd int, name string, value *byte, size size_t) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(StringBytePtr(name))), uintptr(unsafe.Pointer(value)), uintptr(size), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Fhopen(fhp *byte, fh_size size_t, flags int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_FHOPEN, uintptr(unsafe.Pointer(fhp)), uintptr(fh_size), uintptr(flags)); + ret = int(r0); + errno = int(e1); + return; +} + +func Fhstat(fhp *byte, fh_size size_t, sb *Stat_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_FHSTAT, uintptr(unsafe.Pointer(fhp)), uintptr(fh_size), uintptr(unsafe.Pointer(sb))); + ret = int(r0); + errno = int(e1); + return; +} + +func Fhstatvfs1(fhp *byte, fh_size size_t, buf *Stat_tvfs, flags int) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_FHSTATVFS1, uintptr(unsafe.Pointer(fhp)), uintptr(fh_size), uintptr(unsafe.Pointer(buf)), uintptr(flags), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Fktrace(fd int, ops int, facs int, pid int) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_FKTRACE, uintptr(fd), uintptr(ops), uintptr(facs), uintptr(pid), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Flistxattr(fd int, list *char, size size_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(unsafe.Pointer(list)), uintptr(size)); + ret = int(r0); + errno = int(e1); + return; +} + +func Flock(fd int, how int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Fork() (ret int, errno int) { + r0, _, e1 := Syscall(SYS_FORK, 0, 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Fremovexattr(fd int, name string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(StringBytePtr(name))), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Fsetxattr(fd int, name string, value *byte, size size_t, flags int) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(StringBytePtr(name))), uintptr(unsafe.Pointer(value)), uintptr(size), uintptr(flags), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Fstat(fd int, stat *Stat_t) (errno int) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0); + errno = int(e1); + return; +} + +func Fstatvfs1(fd int, buf *Stat_tvfs, flags int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_FSTATVFS1, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(flags)); + ret = int(r0); + errno = int(e1); + return; +} + +func Fsync(fd int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Fsync_range(fd int, flags int, start off_t, length off_t) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_FSYNC_RANGE, uintptr(fd), uintptr(flags), uintptr(start), uintptr(length), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Ftruncate(fd int, PAD int, length off_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(PAD), uintptr(length)); + ret = int(r0); + errno = int(e1); + return; +} + +func Futimes(fd int, tptr *Timeval) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(tptr)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func __getcwd(bufp *char, length size_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS___GETCWD, uintptr(unsafe.Pointer(bufp)), uintptr(length), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Getdents(fd int, buf *char, count size_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(count)); + ret = int(r0); + errno = int(e1); + return; +} + +func Getegid() (gid int, errno int) { + r0, _, e1 := Syscall(SYS_GETEGID, 0, 0, 0); + gid = int(r0); + errno = int(e1); + return; +} + +func Geteuid() (uid int, errno int) { + r0, _, e1 := Syscall(SYS_GETEUID, 0, 0, 0); + uid = int(r0); + errno = int(e1); + return; +} + +func Getfh(fname string, fhp *byte, size_t *fh_size) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_GETFH, uintptr(unsafe.Pointer(StringBytePtr(fname))), uintptr(unsafe.Pointer(fhp)), uintptr(unsafe.Pointer(size_t))); + ret = int(r0); + errno = int(e1); + return; +} + +func Getgroups(gidsetsize int, gidset *int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_GETGROUPS, uintptr(gidsetsize), uintptr(unsafe.Pointer(gidset)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func __getlogin(namebuf *char, namelen size_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS___GETLOGIN, uintptr(unsafe.Pointer(namebuf)), uintptr(namelen), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Getpgid(pid int) (pgid int, errno int) { + r0, _, e1 := Syscall(SYS_GETPGID, uintptr(pid), 0, 0); + pgid = int(r0); + errno = int(e1); + return; +} + +func Getpgrp() (pid int, errno int) { + r0, _, e1 := Syscall(SYS_GETPGRP, 0, 0, 0); + pid = int(r0); + errno = int(e1); + return; +} + +func Getppid() (pid int, errno int) { + r0, _, e1 := Syscall(SYS_GETPPID, 0, 0, 0); + pid = int(r0); + errno = int(e1); + return; +} + +func Getpriority(which int, who id_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Getrlimit(which int, rlp *Rlimit) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(rlp)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Getrusage(who int, rusage *Rusage) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Getsid(pid int) (sid int, errno int) { + r0, _, e1 := Syscall(SYS_GETSID, uintptr(pid), 0, 0); + sid = int(r0); + errno = int(e1); + return; +} + +func Getvfsstat(buf *Stat_tvfs, bufsize size_t, flags int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_GETVFSSTAT, uintptr(unsafe.Pointer(buf)), uintptr(bufsize), uintptr(flags)); + ret = int(r0); + errno = int(e1); + return; +} + +func Getxattr(path string, name string, value *byte, size_t size) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(StringBytePtr(name))), uintptr(unsafe.Pointer(value)), uintptr(size_t), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Issetugid() (ret int, errno int) { + r0, _, e1 := Syscall(SYS_ISSETUGID, 0, 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Kill(pid int, signum int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Kqueue() (ret int, errno int) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Ktrace(fname string, ops int, facs int, pid int) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_KTRACE, uintptr(unsafe.Pointer(StringBytePtr(fname))), uintptr(ops), uintptr(facs), uintptr(pid), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Lchmod(path string, mode int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_LCHMOD, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(mode), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Lchown(path string, uid int, gid int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(uid), uintptr(gid)); + ret = int(r0); + errno = int(e1); + return; +} + +func Lgetxattr(path string, name string, value *byte, size_t size) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(StringBytePtr(name))), uintptr(unsafe.Pointer(value)), uintptr(size_t), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Link(path string, link string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(StringBytePtr(link))), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Listen(s int, backlog int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Listxattr(path string, char *list, size_t size) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(char)), uintptr(size_t)); + ret = int(r0); + errno = int(e1); + return; +} + +func Llistxattr(path string, char *list, size_t size) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(char)), uintptr(size_t)); + ret = int(r0); + errno = int(e1); + return; +} + +func Lremovexattr(path string, name string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(StringBytePtr(name))), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Lsetxattr(path string, name string, value *byte, size_t size, int flags) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(StringBytePtr(name))), uintptr(unsafe.Pointer(value)), uintptr(size_t), uintptr(int), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Lstat(path string, stat *Stat_t) (errno int) { + _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(stat)), 0); + errno = int(e1); + return; +} + +func Lutimes(path string, tptr *Timeval) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_LUTIMES, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(tptr)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Madvise(addr *byte, len size_t, behav int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_MADVISE, uintptr(unsafe.Pointer(addr)), uintptr(len), uintptr(behav)); + ret = int(r0); + errno = int(e1); + return; +} + +func Mincore(addr *byte, len size_t, vec *char) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_MINCORE, uintptr(unsafe.Pointer(addr)), uintptr(len), uintptr(unsafe.Pointer(vec))); + ret = int(r0); + errno = int(e1); + return; +} + +func Minherit(addr *byte, len size_t, inherit int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_MINHERIT, uintptr(unsafe.Pointer(addr)), uintptr(len), uintptr(inherit)); + ret = int(r0); + errno = int(e1); + return; +} + +func Mkdir(path string, mode int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(mode), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Mkfifo(path string, mode int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(mode), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Mknod(path string, mode int, dev dev_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(mode), uintptr(dev)); + ret = int(r0); + errno = int(e1); + return; +} + +func Mlock(addr *byte, len size_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_MLOCK, uintptr(unsafe.Pointer(addr)), uintptr(len), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Mlockall(flags int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Modctl(cmd int, arg *byte) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_MODCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Mprotect(addr *byte, len size_t, prot int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_MPROTECT, uintptr(unsafe.Pointer(addr)), uintptr(len), uintptr(prot)); + ret = int(r0); + errno = int(e1); + return; +} + +func Mremap(old_address *byte, old_size size_t, new_address *byte, new_size size_t, int flags) (p *byte, errno int) { + r0, _, e1 := Syscall6(SYS_MREMAP, uintptr(unsafe.Pointer(old_address)), uintptr(old_size), uintptr(unsafe.Pointer(new_address)), uintptr(new_size), uintptr(int), 0); + p = *byte(r0); + errno = int(e1); + return; +} + +func Msync(addr *byte, len size_t, flags int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_MSYNC, uintptr(unsafe.Pointer(addr)), uintptr(len), uintptr(flags)); + ret = int(r0); + errno = int(e1); + return; +} + +func Munlock(addr *byte, len size_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_MUNLOCK, uintptr(unsafe.Pointer(addr)), uintptr(len), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Munlockall() (ret int, errno int) { + r0, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Munmap(addr *byte, len size_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_MUNMAP, uintptr(unsafe.Pointer(addr)), uintptr(len), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Nanosleep(rqtp *Timespec, rmtp *Timespec) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(rqtp)), uintptr(unsafe.Pointer(rmtp)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Nfssvc(flag int, argp *byte) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_NFSSVC, uintptr(flag), uintptr(unsafe.Pointer(argp)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Open(path string, flags int, mode int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(flags), uintptr(mode)); + ret = int(r0); + errno = int(e1); + return; +} + +func Pipe() (ret int, errno int) { + r0, _, e1 := Syscall(SYS_PIPE, 0, 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Pmc_control(ctr int, op int, args *byte) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_PMC_CONTROL, uintptr(ctr), uintptr(op), uintptr(unsafe.Pointer(args))); + ret = int(r0); + errno = int(e1); + return; +} + +func Pmc_get_info(ctr int, op int, args *byte) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_PMC_GET_INFO, uintptr(ctr), uintptr(op), uintptr(unsafe.Pointer(args))); + ret = int(r0); + errno = int(e1); + return; +} + +func __posix_chown(path string, uid int, gid int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS___POSIX_CHOWN, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(uid), uintptr(gid)); + ret = int(r0); + errno = int(e1); + return; +} + +func Posix_fadvise(fd int, PAD int, offset off_t, len off_t, advice int) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), uintptr(PAD), uintptr(offset), uintptr(len), uintptr(advice), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func __posix_fchown(fd int, uid int, gid int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS___POSIX_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)); + ret = int(r0); + errno = int(e1); + return; +} + +func __posix_lchown(path string, uid int, gid int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS___POSIX_LCHOWN, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(uid), uintptr(gid)); + ret = int(r0); + errno = int(e1); + return; +} + +func __posix_rename(from string, to string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS___POSIX_RENAME, uintptr(unsafe.Pointer(StringBytePtr(from))), uintptr(unsafe.Pointer(StringBytePtr(to))), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Profil(samples *char, size size_t, offset u_long, scale u_int) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_PROFIL, uintptr(unsafe.Pointer(samples)), uintptr(size), uintptr(offset), uintptr(scale), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Pselect(nd int, in *fd_set, ou *fd_set, ex *fd_set, ts *Timespec, mask *sigset_t) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_PSELECT, uintptr(nd), uintptr(unsafe.Pointer(in)), uintptr(unsafe.Pointer(ou)), uintptr(unsafe.Pointer(ex)), uintptr(unsafe.Pointer(ts)), uintptr(unsafe.Pointer(mask))); + ret = int(r0); + errno = int(e1); + return; +} + +func _pset_bind(idtype idtype_t, first_id id_t, second_id id_t, psid psetid_t, opsid *psetid_t) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS__PSET_BIND, uintptr(idtype), uintptr(first_id), uintptr(second_id), uintptr(psid), uintptr(unsafe.Pointer(opsid)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Pset_create(psid *psetid_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_PSET_CREATE, uintptr(unsafe.Pointer(psid)), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Pset_destroy(psid psetid_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_PSET_DESTROY, uintptr(psid), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Ptrace(req int, pid int, addr *byte, data int) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_PTRACE, uintptr(req), uintptr(pid), uintptr(unsafe.Pointer(addr)), uintptr(data), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Rasctl(addr *byte, len size_t, op int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_RASCTL, uintptr(unsafe.Pointer(addr)), uintptr(len), uintptr(op)); + ret = int(r0); + errno = int(e1); + return; +} + +func Read(fd int, p []byte) (n int, errno int) { + var _p0 *byte; + if len(p) > 0 { _p0 = &p[0]; } + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p))); + n = int(r0); + errno = int(e1); + return; +} + +func Readlink(path string, buf []byte) (n int, errno int) { + var _p0 *byte; + if len(buf) > 0 { _p0 = &buf[0]; } + r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf))); + n = int(r0); + errno = int(e1); + return; +} + +func Reboot(opt int, bootstr *char) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_REBOOT, uintptr(opt), uintptr(unsafe.Pointer(bootstr)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Removexattr(path string, name string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(StringBytePtr(name))), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Rename(from string, to string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(StringBytePtr(from))), uintptr(unsafe.Pointer(StringBytePtr(to))), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Revoke(path string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(StringBytePtr(path))), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Rmdir(path string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(StringBytePtr(path))), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Sa_enable() (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SA_ENABLE, 0, 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Sa_preempt(sa_id int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SA_PREEMPT, uintptr(sa_id), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Sa_register(new sa_upcall_t, old *sa_upcall_t, flags int, stackinfo_offset ssize_t) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_SA_REGISTER, uintptr(new), uintptr(unsafe.Pointer(old)), uintptr(flags), uintptr(stackinfo_offset), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Sa_setconcurrency(concurrency int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SA_SETCONCURRENCY, uintptr(concurrency), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Sa_stacks(num int, stacks *stack_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SA_STACKS, uintptr(num), uintptr(unsafe.Pointer(stacks)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Sa_yield() (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SA_YIELD, 0, 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Sbrk(incr intptr_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SBRK, uintptr(incr), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Sched_yield() (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SCHED_YIELD, 0, 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Seek(fd int, offset int64, whence int) (newoffset int64, errno int) { + r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)); + newoffset = int64(r0); + errno = int(e1); + return; +} + +func Select(nd int, in *fd_set, ou *fd_set, ex *fd_set, tv *Timeval) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nd), uintptr(unsafe.Pointer(in)), uintptr(unsafe.Pointer(ou)), uintptr(unsafe.Pointer(ex)), uintptr(unsafe.Pointer(tv)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Setegid(egid int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Seteuid(euid int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SETEUID, uintptr(euid), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Setgid(gid int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SETGID, uintptr(gid), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Setgroups(gidsetsize int, gidset *int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SETGROUPS, uintptr(gidsetsize), uintptr(unsafe.Pointer(gidset)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func __setlogin(namebuf string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS___SETLOGIN, uintptr(unsafe.Pointer(StringBytePtr(namebuf))), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Setpgid(pid int, pgid int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Setpriority(which int, who id_t, prio int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)); + ret = int(r0); + errno = int(e1); + return; +} + +func Setregid(rgid int, egid int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Setreuid(ruid int, euid int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Setrlimit(which int, rlp *Rlimit) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(rlp)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Setsid() (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SETSID, 0, 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Settimeofday(tv *Timeval, tzp *byte) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), uintptr(unsafe.Pointer(tzp)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Setuid(uid int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SETUID, uintptr(uid), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Setxattr(path string, name string, value *byte, size_t size, int flags) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(StringBytePtr(name))), uintptr(unsafe.Pointer(value)), uintptr(size_t), uintptr(int), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Sigpending(set *sigset_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SIGPENDING, uintptr(unsafe.Pointer(set)), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Sigprocmask(how int, set *sigset_t, oset *sigset_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SIGPROCMASK, uintptr(how), uintptr(unsafe.Pointer(set)), uintptr(unsafe.Pointer(oset))); + ret = int(r0); + errno = int(e1); + return; +} + +func Sigsuspend(set *sigset_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SIGSUSPEND, uintptr(unsafe.Pointer(set)), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func __sigtimedwait(set *sigset_t, info *siginfo_t, timeout *Timespec) (ret int, errno int) { + r0, _, e1 := Syscall(SYS___SIGTIMEDWAIT, uintptr(unsafe.Pointer(set)), uintptr(unsafe.Pointer(info)), uintptr(unsafe.Pointer(timeout))); + ret = int(r0); + errno = int(e1); + return; +} + +func Sstk(incr int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SSTK, uintptr(incr), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Stat(path string, stat *Stat_t) (errno int) { + _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(stat)), 0); + errno = int(e1); + return; +} + +func Statvfs1(path string, buf *Stat_tvfs, flags int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_STATVFS1, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(buf)), uintptr(flags)); + ret = int(r0); + errno = int(e1); + return; +} + +func Swapctl(cmd int, arg *byte, misc int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SWAPCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg)), uintptr(misc)); + ret = int(r0); + errno = int(e1); + return; +} + +func Symlink(path string, link string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(StringBytePtr(link))), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Sync() () { + Syscall(SYS_SYNC, 0, 0, 0); + return; +} + +func Sysarch(op int, parms *byte) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SYSARCH, uintptr(op), uintptr(unsafe.Pointer(parms)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Syscall(code int, code int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_SYSCALL, uintptr(code), uintptr(code), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func __syscall(code quad_t, code quad_t) (ret quad_t, errno int) { + r0, _, e1 := Syscall(SYS___SYSCALL, uintptr(code), uintptr(code), 0); + ret = quad_t(r0); + errno = int(e1); + return; +} + +func __sysctl(name *int, namelen u_int, old *byte, oldlenp *size_t, new *byte, newlen size_t) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS___SYSCTL, uintptr(unsafe.Pointer(name)), uintptr(namelen), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlenp)), uintptr(unsafe.Pointer(new)), uintptr(newlen)); + ret = int(r0); + errno = int(e1); + return; +} + +func Truncate(path string, PAD int, length off_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(PAD), uintptr(length)); + ret = int(r0); + errno = int(e1); + return; +} + +func Umask(newmask int) (oldmask int, errno int) { + r0, _, e1 := Syscall(SYS_UMASK, uintptr(newmask), 0, 0); + oldmask = int(r0); + errno = int(e1); + return; +} + +func Undelete(path string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(StringBytePtr(path))), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Unlink(path string) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(StringBytePtr(path))), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Unmount(path string, flags int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(flags), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Utimes(path string, tptr *Timeval) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(unsafe.Pointer(tptr)), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Utrace(label string, addr *byte, len size_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_UTRACE, uintptr(unsafe.Pointer(StringBytePtr(label))), uintptr(unsafe.Pointer(addr)), uintptr(len)); + ret = int(r0); + errno = int(e1); + return; +} + +func Uuidgen(store *Uuid, count int) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_UUIDGEN, uintptr(unsafe.Pointer(store)), uintptr(count), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Vfork() (ret int, errno int) { + r0, _, e1 := Syscall(SYS_VFORK, 0, 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Write(fd int, p []byte) (n int, errno int) { + var _p0 *byte; + if len(p) > 0 { _p0 = &p[0]; } + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p))); + n = int(r0); + errno = int(e1); + return; +} + +func Wait4(wpid int, status *int, options int, rusage *Rusage) (ret int, errno int) { + r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(wpid), uintptr(unsafe.Pointer(status)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0); + ret = int(r0); + errno = int(e1); + return; +} + +func read(fd int, buf *byte, nbuf int) (n int, errno int) { + r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)); + n = int(r0); + errno = int(e1); + return; +} + +func write(fd int, buf *byte, nbuf int) (n int, errno int) { + r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)); + n = int(r0); + errno = int(e1); + return; +} + +func Chflags(path string, flags uint64) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(flags), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Fchflags(fd int, flags uint64) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Lchflags(path string, flags uint64) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_LCHFLAGS, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(flags), 0); + ret = int(r0); + errno = int(e1); + return; +} + +func Pset_assign(psid psetid_t, cpuid uint64, opsid *psetid_t) (ret int, errno int) { + r0, _, e1 := Syscall(SYS_PSET_ASSIGN, uintptr(psid), uintptr(cpuid), uintptr(unsafe.Pointer(opsid))); + ret = int(r0); + errno = int(e1); + return; +} + +func Fpathconf(fd int, name int) (ret uint64, errno int) { + r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0); + ret = uint64(r0); + errno = int(e1); + return; +} + +func Pathconf(path string, name int) (ret uint64, errno int) { + r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(StringBytePtr(path))), uintptr(name), 0); + ret = uint64(r0); + errno = int(e1); + return; +} + +func gettimeofday(tp *Timeval) (sec int64, usec int32, errno int) { + r0, r1, e1 := Syscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0); + sec = int64(r0); + usec = int32(r1); + errno = int(e1); + return; +} + + + diff --git a/src/pkg/syscall/zsysnum_netbsd_386.go b/src/pkg/syscall/zsysnum_netbsd_386.go new file mode 100644 --- /dev/null +++ b/src/pkg/syscall/zsysnum_netbsd_386.go @@ -0,0 +1,99 @@ +// mksysnum_netbsd.sh /usr/src/sys/kern/syscalls.master +// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT + +package syscall + +const ( + SYS_READ = 3 // { ssize_t read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, \ + SYS_OPEN = 5 // { int open(const char *path, \ + SYS_CLOSE = 6 // { int close(int fd); } + SYS_LINK = 9 // { int link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int unlink(const char *path); } + SYS_CHDIR = 12 // { int chdir(const char *path); } + SYS_FCHDIR = 13 // { int fchdir(int fd); } + SYS_CHMOD = 15 // { int chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int chown(const char *path, uid_t uid, \ + SYS_UNMOUNT = 22 // { int unmount(const char *path, int flags); } + SYS_RECVMSG = 27 // { ssize_t recvmsg(int s, struct msghdr *msg, \ + SYS_SENDMSG = 28 // { ssize_t sendmsg(int s, \ + SYS_RECVFROM = 29 // { ssize_t recvfrom(int s, void *buf, size_t len, \ + SYS_ACCEPT = 30 // { int accept(int s, struct sockaddr *name, \ + SYS_GETPEERNAME = 31 // { int getpeername(int fdes, struct sockaddr *asa, \ + SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, struct sockaddr *asa, \ + SYS_ACCESS = 33 // { int access(const char *path, int flags); } + SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { void sync(void); } + SYS_DUP = 41 // { int dup(int fd); } + SYS_PIPE = 42 // { int pipe(void); } + SYS_IOCTL = 54 // { int ioctl(int fd, \ + SYS_REVOKE = 56 // { int revoke(const char *path); } + SYS_SYMLINK = 57 // { int symlink(const char *path, \ + SYS_READLINK = 58 // { ssize_t readlink(const char *path, char *buf, \ + SYS_CHROOT = 61 // { int chroot(const char *path); } + SYS_DUP2 = 90 // { int dup2(int from, int to); } + SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, ... void *arg); } + SYS_FSYNC = 95 // { int fsync(int fd); } + SYS_CONNECT = 98 // { int connect(int s, const struct sockaddr *name, \ + SYS_BIND = 104 // { int bind(int s, const struct sockaddr *name, \ + SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, \ + SYS_LISTEN = 106 // { int listen(int s, int backlog); } + SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, \ + SYS_READV = 120 // { ssize_t readv(int fd, \ + SYS_WRITEV = 121 // { ssize_t writev(int fd, \ + SYS_FCHOWN = 123 // { int fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int fchmod(int fd, mode_t mode); } + SYS_RENAME = 128 // { int rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int flock(int fd, int how); } + SYS_MKFIFO = 132 // { int mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t sendto(int s, const void *buf, \ + SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, \ + SYS_MKDIR = 136 // { int mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int rmdir(const char *path); } + SYS_PREAD = 173 // { ssize_t pread(int fd, void *buf, \ + SYS_PWRITE = 174 // { ssize_t pwrite(int fd, const void *buf, \ + SYS_LSEEK = 199 // { off_t lseek(int fd, int PAD, off_t offset, \ + SYS_TRUNCATE = 200 // { int truncate(const char *path, int PAD, \ + SYS_FTRUNCATE = 201 // { int ftruncate(int fd, int PAD, off_t length); } + SYS___SYSCTL = 202 // { int __sysctl(const int *name, u_int namelen, \ + SYS_REBOOT = 208 // { int reboot(int opt, char *bootstr); } + SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, \ + SYS_FDATASYNC = 241 // { int fdatasync(int fd); } + SYS_MODCTL = 246 // { int modctl(int cmd, void *arg); } + SYS_LCHMOD = 274 // { int lchmod(const char *path, mode_t mode); } + SYS_LCHOWN = 275 // { int lchown(const char *path, uid_t uid, \ + SYS_FCHROOT = 297 // { int fchroot(int fd); } + SYS_LCHFLAGS = 304 // { int lchflags(const char *path, u_long flags); } + SYS_KQUEUE = 344 // { int kqueue(void); } + SYS_FSYNC_RANGE = 354 // { int fsync_range(int fd, int flags, off_t start, \ + SYS_GETVFSSTAT = 356 // { int getvfsstat(struct statvfs *buf, \ + SYS_STATVFS1 = 357 // { int statvfs1(const char *path, \ + SYS_FSTATVFS1 = 358 // { int fstatvfs1(int fd, struct statvfs *buf, \ + SYS_EXTATTRCTL = 360 // { int extattrctl(const char *path, int cmd, \ + SYS_EXTATTR_SET_FILE = 361 // { int extattr_set_file(const char *path, \ + SYS_EXTATTR_GET_FILE = 362 // { ssize_t extattr_get_file(const char *path, \ + SYS_EXTATTR_DELETE_FILE = 363 // { int extattr_delete_file(const char *path, \ + SYS_EXTATTR_SET_FD = 364 // { int extattr_set_fd(int fd, \ + SYS_EXTATTR_GET_FD = 365 // { ssize_t extattr_get_fd(int fd, \ + SYS_EXTATTR_DELETE_FD = 366 // { int extattr_delete_fd(int fd, \ + SYS_EXTATTR_SET_LINK = 367 // { int extattr_set_link(const char *path, \ + SYS_EXTATTR_GET_LINK = 368 // { ssize_t extattr_get_link(const char *path, \ + SYS_EXTATTR_DELETE_LINK = 369 // { int extattr_delete_link(const char *path, \ + SYS_EXTATTR_LIST_FD = 370 // { ssize_t extattr_list_fd(int fd, \ + SYS_EXTATTR_LIST_FILE = 371 // { ssize_t extattr_list_file(const char *path, \ + SYS_EXTATTR_LIST_LINK = 372 // { ssize_t extattr_list_link(const char *path, \ + SYS_SETXATTR = 375 // { int setxattr(const char *path, \ + SYS_LSETXATTR = 376 // { int lsetxattr(const char *path, \ + SYS_FSETXATTR = 377 // { int fsetxattr(int fd, \ + SYS_GETXATTR = 378 // { int getxattr(const char *path, \ + SYS_LGETXATTR = 379 // { int lgetxattr(const char *path, \ + SYS_FGETXATTR = 380 // { int fgetxattr(int fd, \ + SYS_LISTXATTR = 381 // { int listxattr(const char *path, \ + SYS_LLISTXATTR = 382 // { int llistxattr(const char *path, \ + SYS_FLISTXATTR = 383 // { int flistxattr(int fd, \ + SYS_REMOVEXATTR = 384 // { int removexattr(const char *path, \ + SYS_LREMOVEXATTR = 385 // { int lremovexattr(const char *path, \ + SYS_FREMOVEXATTR = 386 // { int fremovexattr(int fd, \ +) diff --git a/src/pkg/syscall/zsysnum_netbsd_amd64.go b/src/pkg/syscall/zsysnum_netbsd_amd64.go new file mode 100644 --- /dev/null +++ b/src/pkg/syscall/zsysnum_netbsd_amd64.go @@ -0,0 +1,254 @@ +// mksysnum_netbsd.sh /usr/src/sys/kern/syscalls.master +// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT + +package syscall + +const ( + SYS_EXIT = 1 // { void exit(int rval); } + SYS_FORK = 2 // { int fork(void); } + SYS_READ = 3 // { ssize_t read(int fd, void *buf, size_t nbyte); } + SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, \ + SYS_OPEN = 5 // { int open(const char *path, \ + SYS_CLOSE = 6 // { int close(int fd); } + SYS_LINK = 9 // { int link(const char *path, const char *link); } + SYS_UNLINK = 10 // { int unlink(const char *path); } + SYS_CHDIR = 12 // { int chdir(const char *path); } + SYS_FCHDIR = 13 // { int fchdir(int fd); } + SYS_CHMOD = 15 // { int chmod(const char *path, mode_t mode); } + SYS_CHOWN = 16 // { int chown(const char *path, uid_t uid, \ + SYS_OBREAK = 17 // { int obreak(char *nsize); } + SYS_GETPID_WITH_PPID = 20 // { pid_t getpid_with_ppid(void); } + SYS_UNMOUNT = 22 // { int unmount(const char *path, int flags); } + SYS_SETUID = 23 // { int setuid(uid_t uid); } + SYS_GETUID_WITH_EUID = 24 // { uid_t getuid_with_euid(void); } + SYS_GETEUID = 25 // { uid_t geteuid(void); } + SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, void *addr, \ + SYS_RECVMSG = 27 // { ssize_t recvmsg(int s, struct msghdr *msg, \ + SYS_SENDMSG = 28 // { ssize_t sendmsg(int s, \ + SYS_RECVFROM = 29 // { ssize_t recvfrom(int s, void *buf, size_t len, \ + SYS_ACCEPT = 30 // { int accept(int s, struct sockaddr *name, \ + SYS_GETPEERNAME = 31 // { int getpeername(int fdes, struct sockaddr *asa, \ + SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, struct sockaddr *asa, \ + SYS_ACCESS = 33 // { int access(const char *path, int flags); } + SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } + SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } + SYS_SYNC = 36 // { void sync(void); } + SYS_KILL = 37 // { int kill(int pid, int signum); } + SYS_GETPPID = 39 // { pid_t getppid(void); } + SYS_DUP = 41 // { int dup(int fd); } + SYS_PIPE = 42 // { int pipe(void); } + SYS_GETEGID = 43 // { gid_t getegid(void); } + SYS_PROFIL = 44 // { int profil(char *samples, size_t size, \ + SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, \ + SYS_GETGID_WITH_EGID = 47 // { gid_t getgid_with_egid(void); } + SYS___GETLOGIN = 49 // { int __getlogin(char *namebuf, size_t namelen); } + SYS___SETLOGIN = 50 // { int __setlogin(const char *namebuf); } + SYS_ACCT = 51 // { int acct(const char *path); } + SYS_IOCTL = 54 // { int ioctl(int fd, \ + SYS_REVOKE = 56 // { int revoke(const char *path); } + SYS_SYMLINK = 57 // { int symlink(const char *path, \ + SYS_READLINK = 58 // { ssize_t readlink(const char *path, char *buf, \ + SYS_EXECVE = 59 // { int execve(const char *path, \ + SYS_UMASK = 60 // { mode_t umask(mode_t newmask); } + SYS_CHROOT = 61 // { int chroot(const char *path); } + SYS_VFORK = 66 // { int vfork(void); } + SYS_SBRK = 69 // { int sbrk(intptr_t incr); } + SYS_SSTK = 70 // { int sstk(int incr); } + SYS_OVADVISE = 72 // { int ovadvise(int anom); } + SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } + SYS_MPROTECT = 74 // { int mprotect(void *addr, size_t len, \ + SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, \ + SYS_MINCORE = 78 // { int mincore(void *addr, size_t len, \ + SYS_GETGROUPS = 79 // { int getgroups(int gidsetsize, \ + SYS_SETGROUPS = 80 // { int setgroups(int gidsetsize, \ + SYS_GETPGRP = 81 // { int getpgrp(void); } + SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } + SYS_DUP2 = 90 // { int dup2(int from, int to); } + SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, ... void *arg); } + SYS_FSYNC = 95 // { int fsync(int fd); } + SYS_SETPRIORITY = 96 // { int setpriority(int which, id_t who, int prio); } + SYS_CONNECT = 98 // { int connect(int s, const struct sockaddr *name, \ + SYS_GETPRIORITY = 100 // { int getpriority(int which, id_t who); } + SYS_BIND = 104 // { int bind(int s, const struct sockaddr *name, \ + SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, \ + SYS_LISTEN = 106 // { int listen(int s, int backlog); } + SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, \ + SYS_READV = 120 // { ssize_t readv(int fd, \ + SYS_WRITEV = 121 // { ssize_t writev(int fd, \ + SYS_FCHOWN = 123 // { int fchown(int fd, uid_t uid, gid_t gid); } + SYS_FCHMOD = 124 // { int fchmod(int fd, mode_t mode); } + SYS_SETREUID = 126 // { int setreuid(uid_t ruid, uid_t euid); } + SYS_SETREGID = 127 // { int setregid(gid_t rgid, gid_t egid); } + SYS_RENAME = 128 // { int rename(const char *from, const char *to); } + SYS_FLOCK = 131 // { int flock(int fd, int how); } + SYS_MKFIFO = 132 // { int mkfifo(const char *path, mode_t mode); } + SYS_SENDTO = 133 // { ssize_t sendto(int s, const void *buf, \ + SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } + SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, \ + SYS_MKDIR = 136 // { int mkdir(const char *path, mode_t mode); } + SYS_RMDIR = 137 // { int rmdir(const char *path); } + SYS_SETSID = 147 // { int setsid(void); } + SYS_QUOTACTL = 148 // { int quotactl(const char *path, int cmd, \ + SYS_SYSARCH = 165 // { int sysarch(int op, void *parms); } + SYS_PREAD = 173 // { ssize_t pread(int fd, void *buf, \ + SYS_PWRITE = 174 // { ssize_t pwrite(int fd, const void *buf, \ + SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } + SYS_SETGID = 181 // { int setgid(gid_t gid); } + SYS_SETEGID = 182 // { int setegid(gid_t egid); } + SYS_SETEUID = 183 // { int seteuid(uid_t euid); } + SYS_LFS_BMAPV = 184 // { int lfs_bmapv(fsid_t *fsidp, \ + SYS_LFS_MARKV = 185 // { int lfs_markv(fsid_t *fsidp, \ + SYS_LFS_SEGCLEAN = 186 // { int lfs_segclean(fsid_t *fsidp, u_long segment); } + SYS_PATHCONF = 191 // { long pathconf(const char *path, int name); } + SYS_FPATHCONF = 192 // { long fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int getrlimit(int which, \ + SYS_SETRLIMIT = 195 // { int setrlimit(int which, \ + SYS_MMAP = 197 // { void * mmap(void *addr, size_t len, int prot, \ + SYS_LSEEK = 199 // { off_t lseek(int fd, int PAD, off_t offset, \ + SYS_TRUNCATE = 200 // { int truncate(const char *path, int PAD, \ + SYS_FTRUNCATE = 201 // { int ftruncate(int fd, int PAD, off_t length); } + SYS___SYSCTL = 202 // { int __sysctl(const int *name, u_int namelen, \ + SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } + SYS_UNDELETE = 205 // { int undelete(const char *path); } + SYS_GETPGID = 207 // { pid_t getpgid(pid_t pid); } + SYS_REBOOT = 208 // { int reboot(int opt, char *bootstr); } + SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, \ + SYS_SEMGET = 221 // { int semget(key_t key, int nsems, int semflg); } + SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, \ + SYS_SEMCONFIG = 223 // { int semconfig(int flag); } + SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, \ + SYS_MSGRCV = 227 // { ssize_t msgrcv(int msqid, void *msgp, \ + SYS_SHMAT = 228 // { void * shmat(int shmid, const void *shmaddr, \ + SYS_SHMDT = 230 // { int shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int shmget(key_t key, size_t size, int shmflg); } + SYS_TIMER_CREATE = 235 // { int timer_create(clockid_t clock_id, \ + SYS_TIMER_DELETE = 236 // { int timer_delete(timer_t timerid); } + SYS_TIMER_GETOVERRUN = 239 // { int timer_getoverrun(timer_t timerid); } + SYS_FDATASYNC = 241 // { int fdatasync(int fd); } + SYS_MLOCKALL = 242 // { int mlockall(int flags); } + SYS_MUNLOCKALL = 243 // { int munlockall(void); } + SYS_MODCTL = 246 // { int modctl(int cmd, void *arg); } + SYS___POSIX_RENAME = 270 // { int __posix_rename(const char *from, \ + SYS_SWAPCTL = 271 // { int swapctl(int cmd, void *arg, int misc); } + SYS_MINHERIT = 273 // { int minherit(void *addr, size_t len, \ + SYS_LCHMOD = 274 // { int lchmod(const char *path, mode_t mode); } + SYS_LCHOWN = 275 // { int lchown(const char *path, uid_t uid, \ + SYS___POSIX_CHOWN = 283 // { int __posix_chown(const char *path, uid_t uid, \ + SYS___POSIX_FCHOWN = 284 // { int __posix_fchown(int fd, uid_t uid, \ + SYS___POSIX_LCHOWN = 285 // { int __posix_lchown(const char *path, uid_t uid, \ + SYS_GETSID = 286 // { pid_t getsid(pid_t pid); } + SYS___CLONE = 287 // { pid_t __clone(int flags, void *stack); } + SYS_FKTRACE = 288 // { int fktrace(int fd, int ops, \ + SYS_PREADV = 289 // { ssize_t preadv(int fd, \ + SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, \ + SYS___GETCWD = 296 // { int __getcwd(char *bufp, size_t length); } + SYS_FCHROOT = 297 // { int fchroot(int fd); } + SYS_LCHFLAGS = 304 // { int lchflags(const char *path, u_long flags); } + SYS_ISSETUGID = 305 // { int issetugid(void); } + SYS_UTRACE = 306 // { int utrace(const char *label, void *addr, \ + SYS_GETCONTEXT = 307 // { int getcontext(struct __ucontext *ucp); } + SYS_SETCONTEXT = 308 // { int setcontext(const struct __ucontext *ucp); } + SYS__LWP_CREATE = 309 // { int _lwp_create(const struct __ucontext *ucp, \ + SYS__LWP_EXIT = 310 // { int _lwp_exit(void); } + SYS__LWP_SELF = 311 // { lwpid_t _lwp_self(void); } + SYS__LWP_WAIT = 312 // { int _lwp_wait(lwpid_t wait_for, \ + SYS__LWP_SUSPEND = 313 // { int _lwp_suspend(lwpid_t target); } + SYS__LWP_CONTINUE = 314 // { int _lwp_continue(lwpid_t target); } + SYS__LWP_WAKEUP = 315 // { int _lwp_wakeup(lwpid_t target); } + SYS__LWP_GETPRIVATE = 316 // { void * _lwp_getprivate(void); } + SYS__LWP_SETPRIVATE = 317 // { void _lwp_setprivate(void *ptr); } + SYS__LWP_KILL = 318 // { int _lwp_kill(lwpid_t target, int signo); } + SYS__LWP_DETACH = 319 // { int _lwp_detach(lwpid_t target); } + SYS__LWP_UNPARK = 321 // { int _lwp_unpark(lwpid_t target, const void *hint); } + SYS__LWP_UNPARK_ALL = 322 // { ssize_t _lwp_unpark_all(const lwpid_t *targets, \ + SYS__LWP_SETNAME = 323 // { int _lwp_setname(lwpid_t target, \ + SYS__LWP_GETNAME = 324 // { int _lwp_getname(lwpid_t target, \ + SYS__LWP_CTL = 325 // { int _lwp_ctl(int features, \ + SYS_SA_REGISTER = 330 // { int sa_register(sa_upcall_t new, \ + SYS_SA_STACKS = 331 // { int sa_stacks(int num, stack_t *stacks); } + SYS_SA_ENABLE = 332 // { int sa_enable(void); } + SYS_SA_SETCONCURRENCY = 333 // { int sa_setconcurrency(int concurrency); } + SYS_SA_YIELD = 334 // { int sa_yield(void); } + SYS_SA_PREEMPT = 335 // { int sa_preempt(int sa_id); } + SYS___SIGACTION_SIGTRAMP = 340 // { int __sigaction_sigtramp(int signum, \ + SYS_PMC_GET_INFO = 341 // { int pmc_get_info(int ctr, int op, void *args); } + SYS_PMC_CONTROL = 342 // { int pmc_control(int ctr, int op, void *args); } + SYS_RASCTL = 343 // { int rasctl(void *addr, size_t len, int op); } + SYS_KQUEUE = 344 // { int kqueue(void); } + SYS__SCHED_SETPARAM = 346 // { int _sched_setparam(pid_t pid, lwpid_t lid, \ + SYS__SCHED_GETPARAM = 347 // { int _sched_getparam(pid_t pid, lwpid_t lid, \ + SYS__SCHED_SETAFFINITY = 348 // { int _sched_setaffinity(pid_t pid, lwpid_t lid, \ + SYS__SCHED_GETAFFINITY = 349 // { int _sched_getaffinity(pid_t pid, lwpid_t lid, \ + SYS_SCHED_YIELD = 350 // { int sched_yield(void); } + SYS_FSYNC_RANGE = 354 // { int fsync_range(int fd, int flags, off_t start, \ + SYS_UUIDGEN = 355 // { int uuidgen(struct uuid *store, int count); } + SYS_GETVFSSTAT = 356 // { int getvfsstat(struct statvfs *buf, \ + SYS_STATVFS1 = 357 // { int statvfs1(const char *path, \ + SYS_FSTATVFS1 = 358 // { int fstatvfs1(int fd, struct statvfs *buf, \ + SYS_EXTATTRCTL = 360 // { int extattrctl(const char *path, int cmd, \ + SYS_EXTATTR_SET_FILE = 361 // { int extattr_set_file(const char *path, \ + SYS_EXTATTR_GET_FILE = 362 // { ssize_t extattr_get_file(const char *path, \ + SYS_EXTATTR_DELETE_FILE = 363 // { int extattr_delete_file(const char *path, \ + SYS_EXTATTR_SET_FD = 364 // { int extattr_set_fd(int fd, \ + SYS_EXTATTR_GET_FD = 365 // { ssize_t extattr_get_fd(int fd, \ + SYS_EXTATTR_DELETE_FD = 366 // { int extattr_delete_fd(int fd, \ + SYS_EXTATTR_SET_LINK = 367 // { int extattr_set_link(const char *path, \ + SYS_EXTATTR_GET_LINK = 368 // { ssize_t extattr_get_link(const char *path, \ + SYS_EXTATTR_DELETE_LINK = 369 // { int extattr_delete_link(const char *path, \ + SYS_EXTATTR_LIST_FD = 370 // { ssize_t extattr_list_fd(int fd, \ + SYS_EXTATTR_LIST_FILE = 371 // { ssize_t extattr_list_file(const char *path, \ + SYS_EXTATTR_LIST_LINK = 372 // { ssize_t extattr_list_link(const char *path, \ + SYS_SETXATTR = 375 // { int setxattr(const char *path, \ + SYS_LSETXATTR = 376 // { int lsetxattr(const char *path, \ + SYS_FSETXATTR = 377 // { int fsetxattr(int fd, \ + SYS_GETXATTR = 378 // { int getxattr(const char *path, \ + SYS_LGETXATTR = 379 // { int lgetxattr(const char *path, \ + SYS_FGETXATTR = 380 // { int fgetxattr(int fd, \ + SYS_LISTXATTR = 381 // { int listxattr(const char *path, \ + SYS_LLISTXATTR = 382 // { int llistxattr(const char *path, \ + SYS_FLISTXATTR = 383 // { int flistxattr(int fd, \ + SYS_REMOVEXATTR = 384 // { int removexattr(const char *path, \ + SYS_LREMOVEXATTR = 385 // { int lremovexattr(const char *path, \ + SYS_FREMOVEXATTR = 386 // { int fremovexattr(int fd, \ + SYS_MOUNT = 410 // { int mount(const char *type, \ + SYS_MREMAP = 411 // { void * mremap(void *old_address, size_t old_size, \ + SYS_PSET_CREATE = 412 // { int pset_create(psetid_t *psid); } + SYS_PSET_DESTROY = 413 // { int pset_destroy(psetid_t psid); } + SYS_PSET_ASSIGN = 414 // { int pset_assign(psetid_t psid, cpuid_t cpuid, \ + SYS__PSET_BIND = 415 // { int _pset_bind(idtype_t idtype, id_t first_id, \ + SYS_POSIX_FADVISE = 416 // { int posix_fadvise(int fd, int PAD, \ + SYS_SELECT = 417 // { int select(int nd, fd_set *in, fd_set *ou, \ + SYS_GETTIMEOFDAY = 418 // { int gettimeofday(struct timeval *tp, \ + SYS_SETTIMEOFDAY = 419 // { int settimeofday(const struct timeval *tv, \ + SYS_UTIMES = 420 // { int utimes(const char *path, \ + SYS_ADJTIME = 421 // { int adjtime(const struct timeval *delta, \ + SYS_LFS_SEGWAIT = 422 // { int lfs_segwait(fsid_t *fsidp, \ + SYS_FUTIMES = 423 // { int futimes(int fd, \ + SYS_LUTIMES = 424 // { int lutimes(const char *path, \ + SYS_SETITIMER = 425 // { int setitimer(int which, \ + SYS_GETITIMER = 426 // { int getitimer(int which, \ + SYS_CLOCK_GETTIME = 427 // { int clock_gettime(clockid_t clock_id, \ + SYS_CLOCK_SETTIME = 428 // { int clock_settime(clockid_t clock_id, \ + SYS_CLOCK_GETRES = 429 // { int clock_getres(clockid_t clock_id, \ + SYS_NANOSLEEP = 430 // { int nanosleep(const struct timespec *rqtp, \ + SYS___SIGTIMEDWAIT = 431 // { int __sigtimedwait(const sigset_t *set, \ + SYS__LWP_PARK = 434 // { int _lwp_park(const struct timespec *ts, \ + SYS_KEVENT = 435 // { int kevent(int fd, \ + SYS_PSELECT = 436 // { int pselect(int nd, fd_set *in, fd_set *ou, \ + SYS_POLLTS = 437 // { int pollts(struct pollfd *fds, u_int nfds, \ + SYS_STAT = 439 // { int stat(const char *path, struct stat *ub); } + SYS_FSTAT = 440 // { int fstat(int fd, struct stat *sb); } + SYS_LSTAT = 441 // { int lstat(const char *path, struct stat *ub); } + SYS___SEMCTL = 442 // { int __semctl(int semid, int semnum, int cmd, \ + SYS_SHMCTL = 443 // { int shmctl(int shmid, int cmd, \ + SYS_MSGCTL = 444 // { int msgctl(int msqid, int cmd, \ + SYS_GETRUSAGE = 445 // { int getrusage(int who, struct rusage *rusage); } + SYS_TIMER_SETTIME = 446 // { int timer_settime(timer_t timerid, \ + SYS_TIMER_GETTIME = 447 // { int timer_gettime(timer_t timerid, struct \ + SYS_NTP_GETTIME = 448 // { int ntp_gettime(struct ntptimeval *ntvp); } + SYS_WAIT4 = 449 // { int wait4(int pid, int *status, \ + SYS_MKNOD = 450 // { int mknod(const char *path, mode_t mode, \ + SYS_FHSTAT = 451 // { int fhstat(const void *fhp, \ +) diff --git a/src/pkg/syscall/ztypes_netbsd_386.go b/src/pkg/syscall/ztypes_netbsd_386.go new file mode 100644 --- /dev/null +++ b/src/pkg/syscall/ztypes_netbsd_386.go @@ -0,0 +1,149 @@ +// godefs -gsyscall -f-m32 types_netbsd.c + +// MACHINE GENERATED - DO NOT EDIT. + +package syscall + +// Constants +const ( + SizeofSockaddrInet4 = 0x10; + SizeofSockaddrInet6 = 0x1c; + SizeofSockaddrAny = 0x6c; + SizeofSockaddrUnix = 0x6a; + SizeofLinger = 0x8; + SizeofMsghdr = 0x1c; + SizeofCmsghdr = 0xc; +) + +// Types + +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 [6]uint8; +} + +type Timespec struct { + Sec int32; + Nsec int32; +} + +type Timeval struct { + Sec int32; + Usec int32; +} + +type Rusage struct { + Utime Timeval; + Stime Timeval; + Maxrss int32; + Ixrss int32; + Idrss int32; + Isrss int32; + Minflt int32; + Majflt int32; + Nswap int32; + Inblock int32; + Oublock int32; + Msgsnd int32; + Msgrcv int32; + Nsignals int32; + Nvcsw int32; + Nivcsw int32; +} + +type Rlimit struct { + Cur int64; + Max int64; +} + +type Stat_t struct { + Dev uint32; + Mode uint32; + Ino uint64; + Nlink uint32; + Uid uint32; + Gid uint32; + Rdev uint32; + Atimespec Timespec; + Mtimespec Timespec; + Ctimespec Timespec; + Birthtimespec Timespec; + Size int64; + Blocks int64; + Blksize uint32; + Flags uint32; + Gen uint32; + Spare [2]uint32; +} + +type RawSockaddrInet4 struct { + Len uint8; + Family uint8; + Port uint16; + Addr [4]byte /* in_addr */; + Zero [8]int8; +} + +type RawSockaddrInet6 struct { + Len uint8; + Family uint8; + Port uint16; + Flowinfo uint32; + Addr [16]byte /* in6_addr */; + Scope_id uint32; +} + +type RawSockaddrUnix struct { + Len uint8; + Family uint8; + Path [104]int8; +} + +type RawSockaddr struct { + Len uint8; + Family uint8; + Data [14]int8; +} + +type RawSockaddrAny struct { + Addr RawSockaddr; + Pad [92]int8; +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32; + Linger int32; +} + +type Iovec struct { + Base *byte; + Len uint32; +} + +type Msghdr struct { + Name *byte; + Namelen uint32; + Iov *Iovec; + Iovlen int32; + Control *byte; + Controllen uint32; + Flags int32; +} + +type Cmsghdr struct { + Len uint32; + Level int32; + Type int32; +} + +type Kevent_t struct { +} + +type Kevent_t struct { +} diff --git a/src/pkg/syscall/ztypes_netbsd_amd64.go b/src/pkg/syscall/ztypes_netbsd_amd64.go new file mode 100644 --- /dev/null +++ b/src/pkg/syscall/ztypes_netbsd_amd64.go @@ -0,0 +1,153 @@ +// godefs -gsyscall -f-m64 types_netbsd.c + +// MACHINE GENERATED - DO NOT EDIT. + +package syscall + +// Constants +const ( + SizeofSockaddrInet4 = 0x10; + SizeofSockaddrInet6 = 0x1c; + SizeofSockaddrAny = 0x6c; + SizeofSockaddrUnix = 0x6a; + SizeofLinger = 0x8; + SizeofMsghdr = 0x30; + SizeofCmsghdr = 0xc; +) + +// Types + +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 [6]uint8; +} + +type Timespec struct { + Sec int32; + Pad0 [4]byte; + Nsec int64; +} + +type Timeval struct { + Sec int64; + Usec int64; +} + +type Rusage struct { + Utime Timeval; + Stime Timeval; + Maxrss int64; + Ixrss int64; + Idrss int64; + Isrss int64; + Minflt int64; + Majflt int64; + Nswap int64; + Inblock int64; + Oublock int64; + Msgsnd int64; + Msgrcv int64; + Nsignals int64; + Nvcsw int64; + Nivcsw int64; +} + +type Rlimit struct { + Cur int64; + Max int64; +} + +type Stat_t struct { + Dev uint32; + Mode uint32; + Ino uint64; + Nlink uint32; + Uid uint32; + Gid uint32; + Rdev uint32; + Atimespec Timespec; + Mtimespec Timespec; + Ctimespec Timespec; + Birthtimespec Timespec; + Size int64; + Blocks int64; + Blksize uint32; + Flags uint32; + Gen uint32; + Spare [2]uint32; + Pad0 [4]byte; +} + +type RawSockaddrInet4 struct { + Len uint8; + Family uint8; + Port uint16; + Addr [4]byte /* in_addr */; + Zero [8]int8; +} + +type RawSockaddrInet6 struct { + Len uint8; + Family uint8; + Port uint16; + Flowinfo uint32; + Addr [16]byte /* in6_addr */; + Scope_id uint32; +} + +type RawSockaddrUnix struct { + Len uint8; + Family uint8; + Path [104]int8; +} + +type RawSockaddr struct { + Len uint8; + Family uint8; + Data [14]int8; +} + +type RawSockaddrAny struct { + Addr RawSockaddr; + Pad [92]int8; +} + +type _Socklen uint32 + +type Linger struct { + Onoff int32; + Linger int32; +} + +type Iovec struct { + Base *byte; + Len uint64; +} + +type Msghdr struct { + Name *byte; + Namelen uint32; + Pad0 [4]byte; + Iov *Iovec; + Iovlen int32; + Pad1 [4]byte; + Control *byte; + Controllen uint32; + Flags int32; +} + +type Cmsghdr struct { + Len uint32; + Level int32; + Type int32; +} + +type Kevent_t struct { +} + +type Kevent_t struct { +}