vendor/golang.org/x/sys/unix/syscall_netbsd.go
changeset 242 2a9ec03fe5a1
child 251 1c52a0eeb952
equal deleted inserted replaced
241:e77dad242f4c 242:2a9ec03fe5a1
       
     1 // Copyright 2009,2010 The Go Authors. All rights reserved.
       
     2 // Use of this source code is governed by a BSD-style
       
     3 // license that can be found in the LICENSE file.
       
     4 
       
     5 // NetBSD system calls.
       
     6 // This file is compiled as ordinary Go code,
       
     7 // but it is also input to mksyscall,
       
     8 // which parses the //sys lines and generates system call stubs.
       
     9 // Note that sometimes we use a lowercase //sys name and wrap
       
    10 // it in our own nicer implementation, either here or in
       
    11 // syscall_bsd.go or syscall_unix.go.
       
    12 
       
    13 package unix
       
    14 
       
    15 import (
       
    16 	"syscall"
       
    17 	"unsafe"
       
    18 )
       
    19 
       
    20 // SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets.
       
    21 type SockaddrDatalink struct {
       
    22 	Len    uint8
       
    23 	Family uint8
       
    24 	Index  uint16
       
    25 	Type   uint8
       
    26 	Nlen   uint8
       
    27 	Alen   uint8
       
    28 	Slen   uint8
       
    29 	Data   [12]int8
       
    30 	raw    RawSockaddrDatalink
       
    31 }
       
    32 
       
    33 func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)
       
    34 
       
    35 func sysctlNodes(mib []_C_int) (nodes []Sysctlnode, err error) {
       
    36 	var olen uintptr
       
    37 
       
    38 	// Get a list of all sysctl nodes below the given MIB by performing
       
    39 	// a sysctl for the given MIB with CTL_QUERY appended.
       
    40 	mib = append(mib, CTL_QUERY)
       
    41 	qnode := Sysctlnode{Flags: SYSCTL_VERS_1}
       
    42 	qp := (*byte)(unsafe.Pointer(&qnode))
       
    43 	sz := unsafe.Sizeof(qnode)
       
    44 	if err = sysctl(mib, nil, &olen, qp, sz); err != nil {
       
    45 		return nil, err
       
    46 	}
       
    47 
       
    48 	// Now that we know the size, get the actual nodes.
       
    49 	nodes = make([]Sysctlnode, olen/sz)
       
    50 	np := (*byte)(unsafe.Pointer(&nodes[0]))
       
    51 	if err = sysctl(mib, np, &olen, qp, sz); err != nil {
       
    52 		return nil, err
       
    53 	}
       
    54 
       
    55 	return nodes, nil
       
    56 }
       
    57 
       
    58 func nametomib(name string) (mib []_C_int, err error) {
       
    59 	// Split name into components.
       
    60 	var parts []string
       
    61 	last := 0
       
    62 	for i := 0; i < len(name); i++ {
       
    63 		if name[i] == '.' {
       
    64 			parts = append(parts, name[last:i])
       
    65 			last = i + 1
       
    66 		}
       
    67 	}
       
    68 	parts = append(parts, name[last:])
       
    69 
       
    70 	// Discover the nodes and construct the MIB OID.
       
    71 	for partno, part := range parts {
       
    72 		nodes, err := sysctlNodes(mib)
       
    73 		if err != nil {
       
    74 			return nil, err
       
    75 		}
       
    76 		for _, node := range nodes {
       
    77 			n := make([]byte, 0)
       
    78 			for i := range node.Name {
       
    79 				if node.Name[i] != 0 {
       
    80 					n = append(n, byte(node.Name[i]))
       
    81 				}
       
    82 			}
       
    83 			if string(n) == part {
       
    84 				mib = append(mib, _C_int(node.Num))
       
    85 				break
       
    86 			}
       
    87 		}
       
    88 		if len(mib) != partno+1 {
       
    89 			return nil, EINVAL
       
    90 		}
       
    91 	}
       
    92 
       
    93 	return mib, nil
       
    94 }
       
    95 
       
    96 func SysctlClockinfo(name string) (*Clockinfo, error) {
       
    97 	mib, err := sysctlmib(name)
       
    98 	if err != nil {
       
    99 		return nil, err
       
   100 	}
       
   101 
       
   102 	n := uintptr(SizeofClockinfo)
       
   103 	buf := make([]byte, SizeofClockinfo)
       
   104 	if err := sysctl(mib, &buf[0], &n, nil, 0); err != nil {
       
   105 		return nil, err
       
   106 	}
       
   107 	if n != SizeofClockinfo {
       
   108 		return nil, EIO
       
   109 	}
       
   110 	return (*Clockinfo)(unsafe.Pointer(&buf[0])), nil
       
   111 }
       
   112 
       
   113 //sysnb pipe() (fd1 int, fd2 int, err error)
       
   114 func Pipe(p []int) (err error) {
       
   115 	if len(p) != 2 {
       
   116 		return EINVAL
       
   117 	}
       
   118 	p[0], p[1], err = pipe()
       
   119 	return
       
   120 }
       
   121 
       
   122 //sys getdents(fd int, buf []byte) (n int, err error)
       
   123 func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
       
   124 	return getdents(fd, buf)
       
   125 }
       
   126 
       
   127 const ImplementsGetwd = true
       
   128 
       
   129 //sys	Getcwd(buf []byte) (n int, err error) = SYS___GETCWD
       
   130 
       
   131 func Getwd() (string, error) {
       
   132 	var buf [PathMax]byte
       
   133 	_, err := Getcwd(buf[0:])
       
   134 	if err != nil {
       
   135 		return "", err
       
   136 	}
       
   137 	n := clen(buf[:])
       
   138 	if n < 1 {
       
   139 		return "", EINVAL
       
   140 	}
       
   141 	return string(buf[:n]), nil
       
   142 }
       
   143 
       
   144 // TODO
       
   145 func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
       
   146 	return -1, ENOSYS
       
   147 }
       
   148 
       
   149 func setattrlistTimes(path string, times []Timespec, flags int) error {
       
   150 	// used on Darwin for UtimesNano
       
   151 	return ENOSYS
       
   152 }
       
   153 
       
   154 //sys	ioctl(fd int, req uint, arg uintptr) (err error)
       
   155 
       
   156 // ioctl itself should not be exposed directly, but additional get/set
       
   157 // functions for specific types are permissible.
       
   158 
       
   159 // IoctlSetInt performs an ioctl operation which sets an integer value
       
   160 // on fd, using the specified request number.
       
   161 func IoctlSetInt(fd int, req uint, value int) error {
       
   162 	return ioctl(fd, req, uintptr(value))
       
   163 }
       
   164 
       
   165 func ioctlSetWinsize(fd int, req uint, value *Winsize) error {
       
   166 	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
       
   167 }
       
   168 
       
   169 func ioctlSetTermios(fd int, req uint, value *Termios) error {
       
   170 	return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
       
   171 }
       
   172 
       
   173 // IoctlGetInt performs an ioctl operation which gets an integer value
       
   174 // from fd, using the specified request number.
       
   175 func IoctlGetInt(fd int, req uint) (int, error) {
       
   176 	var value int
       
   177 	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
       
   178 	return value, err
       
   179 }
       
   180 
       
   181 func IoctlGetWinsize(fd int, req uint) (*Winsize, error) {
       
   182 	var value Winsize
       
   183 	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
       
   184 	return &value, err
       
   185 }
       
   186 
       
   187 func IoctlGetTermios(fd int, req uint) (*Termios, error) {
       
   188 	var value Termios
       
   189 	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
       
   190 	return &value, err
       
   191 }
       
   192 
       
   193 func Uname(uname *Utsname) error {
       
   194 	mib := []_C_int{CTL_KERN, KERN_OSTYPE}
       
   195 	n := unsafe.Sizeof(uname.Sysname)
       
   196 	if err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil {
       
   197 		return err
       
   198 	}
       
   199 
       
   200 	mib = []_C_int{CTL_KERN, KERN_HOSTNAME}
       
   201 	n = unsafe.Sizeof(uname.Nodename)
       
   202 	if err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil {
       
   203 		return err
       
   204 	}
       
   205 
       
   206 	mib = []_C_int{CTL_KERN, KERN_OSRELEASE}
       
   207 	n = unsafe.Sizeof(uname.Release)
       
   208 	if err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil {
       
   209 		return err
       
   210 	}
       
   211 
       
   212 	mib = []_C_int{CTL_KERN, KERN_VERSION}
       
   213 	n = unsafe.Sizeof(uname.Version)
       
   214 	if err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil {
       
   215 		return err
       
   216 	}
       
   217 
       
   218 	// The version might have newlines or tabs in it, convert them to
       
   219 	// spaces.
       
   220 	for i, b := range uname.Version {
       
   221 		if b == '\n' || b == '\t' {
       
   222 			if i == len(uname.Version)-1 {
       
   223 				uname.Version[i] = 0
       
   224 			} else {
       
   225 				uname.Version[i] = ' '
       
   226 			}
       
   227 		}
       
   228 	}
       
   229 
       
   230 	mib = []_C_int{CTL_HW, HW_MACHINE}
       
   231 	n = unsafe.Sizeof(uname.Machine)
       
   232 	if err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil {
       
   233 		return err
       
   234 	}
       
   235 
       
   236 	return nil
       
   237 }
       
   238 
       
   239 /*
       
   240  * Exposed directly
       
   241  */
       
   242 //sys	Access(path string, mode uint32) (err error)
       
   243 //sys	Adjtime(delta *Timeval, olddelta *Timeval) (err error)
       
   244 //sys	Chdir(path string) (err error)
       
   245 //sys	Chflags(path string, flags int) (err error)
       
   246 //sys	Chmod(path string, mode uint32) (err error)
       
   247 //sys	Chown(path string, uid int, gid int) (err error)
       
   248 //sys	Chroot(path string) (err error)
       
   249 //sys	Close(fd int) (err error)
       
   250 //sys	Dup(fd int) (nfd int, err error)
       
   251 //sys	Dup2(from int, to int) (err error)
       
   252 //sys	Exit(code int)
       
   253 //sys	ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)
       
   254 //sys	ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)
       
   255 //sys	ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error)
       
   256 //sys	ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error)
       
   257 //sys	ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)
       
   258 //sys	ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)
       
   259 //sys	ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error)
       
   260 //sys	ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error)
       
   261 //sys	ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)
       
   262 //sys	ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)
       
   263 //sys	ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error)
       
   264 //sys	ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error)
       
   265 //sys	Faccessat(dirfd int, path string, mode uint32, flags int) (err error)
       
   266 //sys	Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_POSIX_FADVISE
       
   267 //sys	Fchdir(fd int) (err error)
       
   268 //sys	Fchflags(fd int, flags int) (err error)
       
   269 //sys	Fchmod(fd int, mode uint32) (err error)
       
   270 //sys	Fchmodat(dirfd int, path string, mode uint32, flags int) (err error)
       
   271 //sys	Fchown(fd int, uid int, gid int) (err error)
       
   272 //sys	Flock(fd int, how int) (err error)
       
   273 //sys	Fpathconf(fd int, name int) (val int, err error)
       
   274 //sys	Fstat(fd int, stat *Stat_t) (err error)
       
   275 //sys	Fstatat(fd int, path string, stat *Stat_t, flags int) (err error)
       
   276 //sys	Fsync(fd int) (err error)
       
   277 //sys	Ftruncate(fd int, length int64) (err error)
       
   278 //sysnb	Getegid() (egid int)
       
   279 //sysnb	Geteuid() (uid int)
       
   280 //sysnb	Getgid() (gid int)
       
   281 //sysnb	Getpgid(pid int) (pgid int, err error)
       
   282 //sysnb	Getpgrp() (pgrp int)
       
   283 //sysnb	Getpid() (pid int)
       
   284 //sysnb	Getppid() (ppid int)
       
   285 //sys	Getpriority(which int, who int) (prio int, err error)
       
   286 //sysnb	Getrlimit(which int, lim *Rlimit) (err error)
       
   287 //sysnb	Getrusage(who int, rusage *Rusage) (err error)
       
   288 //sysnb	Getsid(pid int) (sid int, err error)
       
   289 //sysnb	Gettimeofday(tv *Timeval) (err error)
       
   290 //sysnb	Getuid() (uid int)
       
   291 //sys	Issetugid() (tainted bool)
       
   292 //sys	Kill(pid int, signum syscall.Signal) (err error)
       
   293 //sys	Kqueue() (fd int, err error)
       
   294 //sys	Lchown(path string, uid int, gid int) (err error)
       
   295 //sys	Link(path string, link string) (err error)
       
   296 //sys	Listen(s int, backlog int) (err error)
       
   297 //sys	Lstat(path string, stat *Stat_t) (err error)
       
   298 //sys	Mkdir(path string, mode uint32) (err error)
       
   299 //sys	Mkfifo(path string, mode uint32) (err error)
       
   300 //sys	Mknod(path string, mode uint32, dev int) (err error)
       
   301 //sys	Nanosleep(time *Timespec, leftover *Timespec) (err error)
       
   302 //sys	Open(path string, mode int, perm uint32) (fd int, err error)
       
   303 //sys	Pathconf(path string, name int) (val int, err error)
       
   304 //sys	Pread(fd int, p []byte, offset int64) (n int, err error)
       
   305 //sys	Pwrite(fd int, p []byte, offset int64) (n int, err error)
       
   306 //sys	read(fd int, p []byte) (n int, err error)
       
   307 //sys	Readlink(path string, buf []byte) (n int, err error)
       
   308 //sys	Rename(from string, to string) (err error)
       
   309 //sys	Revoke(path string) (err error)
       
   310 //sys	Rmdir(path string) (err error)
       
   311 //sys	Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK
       
   312 //sys	Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error)
       
   313 //sysnb	Setegid(egid int) (err error)
       
   314 //sysnb	Seteuid(euid int) (err error)
       
   315 //sysnb	Setgid(gid int) (err error)
       
   316 //sysnb	Setpgid(pid int, pgid int) (err error)
       
   317 //sys	Setpriority(which int, who int, prio int) (err error)
       
   318 //sysnb	Setregid(rgid int, egid int) (err error)
       
   319 //sysnb	Setreuid(ruid int, euid int) (err error)
       
   320 //sysnb	Setrlimit(which int, lim *Rlimit) (err error)
       
   321 //sysnb	Setsid() (pid int, err error)
       
   322 //sysnb	Settimeofday(tp *Timeval) (err error)
       
   323 //sysnb	Setuid(uid int) (err error)
       
   324 //sys	Stat(path string, stat *Stat_t) (err error)
       
   325 //sys	Symlink(path string, link string) (err error)
       
   326 //sys	Sync() (err error)
       
   327 //sys	Truncate(path string, length int64) (err error)
       
   328 //sys	Umask(newmask int) (oldmask int)
       
   329 //sys	Unlink(path string) (err error)
       
   330 //sys	Unmount(path string, flags int) (err error)
       
   331 //sys	write(fd int, p []byte) (n int, err error)
       
   332 //sys	mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)
       
   333 //sys	munmap(addr uintptr, length uintptr) (err error)
       
   334 //sys	readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ
       
   335 //sys	writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE
       
   336 //sys	utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error)
       
   337 
       
   338 /*
       
   339  * Unimplemented
       
   340  */
       
   341 // ____semctl13
       
   342 // __clone
       
   343 // __fhopen40
       
   344 // __fhstat40
       
   345 // __fhstatvfs140
       
   346 // __fstat30
       
   347 // __getcwd
       
   348 // __getfh30
       
   349 // __getlogin
       
   350 // __lstat30
       
   351 // __mount50
       
   352 // __msgctl13
       
   353 // __msync13
       
   354 // __ntp_gettime30
       
   355 // __posix_chown
       
   356 // __posix_fchown
       
   357 // __posix_lchown
       
   358 // __posix_rename
       
   359 // __setlogin
       
   360 // __shmctl13
       
   361 // __sigaction_sigtramp
       
   362 // __sigaltstack14
       
   363 // __sigpending14
       
   364 // __sigprocmask14
       
   365 // __sigsuspend14
       
   366 // __sigtimedwait
       
   367 // __stat30
       
   368 // __syscall
       
   369 // __vfork14
       
   370 // _ksem_close
       
   371 // _ksem_destroy
       
   372 // _ksem_getvalue
       
   373 // _ksem_init
       
   374 // _ksem_open
       
   375 // _ksem_post
       
   376 // _ksem_trywait
       
   377 // _ksem_unlink
       
   378 // _ksem_wait
       
   379 // _lwp_continue
       
   380 // _lwp_create
       
   381 // _lwp_ctl
       
   382 // _lwp_detach
       
   383 // _lwp_exit
       
   384 // _lwp_getname
       
   385 // _lwp_getprivate
       
   386 // _lwp_kill
       
   387 // _lwp_park
       
   388 // _lwp_self
       
   389 // _lwp_setname
       
   390 // _lwp_setprivate
       
   391 // _lwp_suspend
       
   392 // _lwp_unpark
       
   393 // _lwp_unpark_all
       
   394 // _lwp_wait
       
   395 // _lwp_wakeup
       
   396 // _pset_bind
       
   397 // _sched_getaffinity
       
   398 // _sched_getparam
       
   399 // _sched_setaffinity
       
   400 // _sched_setparam
       
   401 // acct
       
   402 // aio_cancel
       
   403 // aio_error
       
   404 // aio_fsync
       
   405 // aio_read
       
   406 // aio_return
       
   407 // aio_suspend
       
   408 // aio_write
       
   409 // break
       
   410 // clock_getres
       
   411 // clock_gettime
       
   412 // clock_settime
       
   413 // compat_09_ogetdomainname
       
   414 // compat_09_osetdomainname
       
   415 // compat_09_ouname
       
   416 // compat_10_omsgsys
       
   417 // compat_10_osemsys
       
   418 // compat_10_oshmsys
       
   419 // compat_12_fstat12
       
   420 // compat_12_getdirentries
       
   421 // compat_12_lstat12
       
   422 // compat_12_msync
       
   423 // compat_12_oreboot
       
   424 // compat_12_oswapon
       
   425 // compat_12_stat12
       
   426 // compat_13_sigaction13
       
   427 // compat_13_sigaltstack13
       
   428 // compat_13_sigpending13
       
   429 // compat_13_sigprocmask13
       
   430 // compat_13_sigreturn13
       
   431 // compat_13_sigsuspend13
       
   432 // compat_14___semctl
       
   433 // compat_14_msgctl
       
   434 // compat_14_shmctl
       
   435 // compat_16___sigaction14
       
   436 // compat_16___sigreturn14
       
   437 // compat_20_fhstatfs
       
   438 // compat_20_fstatfs
       
   439 // compat_20_getfsstat
       
   440 // compat_20_statfs
       
   441 // compat_30___fhstat30
       
   442 // compat_30___fstat13
       
   443 // compat_30___lstat13
       
   444 // compat_30___stat13
       
   445 // compat_30_fhopen
       
   446 // compat_30_fhstat
       
   447 // compat_30_fhstatvfs1
       
   448 // compat_30_getdents
       
   449 // compat_30_getfh
       
   450 // compat_30_ntp_gettime
       
   451 // compat_30_socket
       
   452 // compat_40_mount
       
   453 // compat_43_fstat43
       
   454 // compat_43_lstat43
       
   455 // compat_43_oaccept
       
   456 // compat_43_ocreat
       
   457 // compat_43_oftruncate
       
   458 // compat_43_ogetdirentries
       
   459 // compat_43_ogetdtablesize
       
   460 // compat_43_ogethostid
       
   461 // compat_43_ogethostname
       
   462 // compat_43_ogetkerninfo
       
   463 // compat_43_ogetpagesize
       
   464 // compat_43_ogetpeername
       
   465 // compat_43_ogetrlimit
       
   466 // compat_43_ogetsockname
       
   467 // compat_43_okillpg
       
   468 // compat_43_olseek
       
   469 // compat_43_ommap
       
   470 // compat_43_oquota
       
   471 // compat_43_orecv
       
   472 // compat_43_orecvfrom
       
   473 // compat_43_orecvmsg
       
   474 // compat_43_osend
       
   475 // compat_43_osendmsg
       
   476 // compat_43_osethostid
       
   477 // compat_43_osethostname
       
   478 // compat_43_osetrlimit
       
   479 // compat_43_osigblock
       
   480 // compat_43_osigsetmask
       
   481 // compat_43_osigstack
       
   482 // compat_43_osigvec
       
   483 // compat_43_otruncate
       
   484 // compat_43_owait
       
   485 // compat_43_stat43
       
   486 // execve
       
   487 // extattr_delete_fd
       
   488 // extattr_delete_file
       
   489 // extattr_delete_link
       
   490 // extattr_get_fd
       
   491 // extattr_get_file
       
   492 // extattr_get_link
       
   493 // extattr_list_fd
       
   494 // extattr_list_file
       
   495 // extattr_list_link
       
   496 // extattr_set_fd
       
   497 // extattr_set_file
       
   498 // extattr_set_link
       
   499 // extattrctl
       
   500 // fchroot
       
   501 // fdatasync
       
   502 // fgetxattr
       
   503 // fktrace
       
   504 // flistxattr
       
   505 // fork
       
   506 // fremovexattr
       
   507 // fsetxattr
       
   508 // fstatvfs1
       
   509 // fsync_range
       
   510 // getcontext
       
   511 // getitimer
       
   512 // getvfsstat
       
   513 // getxattr
       
   514 // ktrace
       
   515 // lchflags
       
   516 // lchmod
       
   517 // lfs_bmapv
       
   518 // lfs_markv
       
   519 // lfs_segclean
       
   520 // lfs_segwait
       
   521 // lgetxattr
       
   522 // lio_listio
       
   523 // listxattr
       
   524 // llistxattr
       
   525 // lremovexattr
       
   526 // lseek
       
   527 // lsetxattr
       
   528 // lutimes
       
   529 // madvise
       
   530 // mincore
       
   531 // minherit
       
   532 // modctl
       
   533 // mq_close
       
   534 // mq_getattr
       
   535 // mq_notify
       
   536 // mq_open
       
   537 // mq_receive
       
   538 // mq_send
       
   539 // mq_setattr
       
   540 // mq_timedreceive
       
   541 // mq_timedsend
       
   542 // mq_unlink
       
   543 // mremap
       
   544 // msgget
       
   545 // msgrcv
       
   546 // msgsnd
       
   547 // nfssvc
       
   548 // ntp_adjtime
       
   549 // pmc_control
       
   550 // pmc_get_info
       
   551 // pollts
       
   552 // preadv
       
   553 // profil
       
   554 // pselect
       
   555 // pset_assign
       
   556 // pset_create
       
   557 // pset_destroy
       
   558 // ptrace
       
   559 // pwritev
       
   560 // quotactl
       
   561 // rasctl
       
   562 // readv
       
   563 // reboot
       
   564 // removexattr
       
   565 // sa_enable
       
   566 // sa_preempt
       
   567 // sa_register
       
   568 // sa_setconcurrency
       
   569 // sa_stacks
       
   570 // sa_yield
       
   571 // sbrk
       
   572 // sched_yield
       
   573 // semconfig
       
   574 // semget
       
   575 // semop
       
   576 // setcontext
       
   577 // setitimer
       
   578 // setxattr
       
   579 // shmat
       
   580 // shmdt
       
   581 // shmget
       
   582 // sstk
       
   583 // statvfs1
       
   584 // swapctl
       
   585 // sysarch
       
   586 // syscall
       
   587 // timer_create
       
   588 // timer_delete
       
   589 // timer_getoverrun
       
   590 // timer_gettime
       
   591 // timer_settime
       
   592 // undelete
       
   593 // utrace
       
   594 // uuidgen
       
   595 // vadvise
       
   596 // vfork
       
   597 // writev