vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go
changeset 251 1c52a0eeb952
parent 242 2a9ec03fe5a1
child 256 6d9efbef00a9
equal deleted inserted replaced
250:c040f992052f 251:1c52a0eeb952
     6 
     6 
     7 package unix
     7 package unix
     8 
     8 
     9 import (
     9 import (
    10 	"syscall"
    10 	"syscall"
    11 	"unsafe"
       
    12 )
    11 )
       
    12 
       
    13 //sys   ptrace(request int, pid int, addr uintptr, data uintptr) (err error)
    13 
    14 
    14 func setTimespec(sec, nsec int64) Timespec {
    15 func setTimespec(sec, nsec int64) Timespec {
    15 	return Timespec{Sec: sec, Nsec: nsec}
    16 	return Timespec{Sec: sec, Nsec: nsec}
    16 }
    17 }
    17 
    18 
    42 
    43 
    43 func (msghdr *Msghdr) SetControllen(length int) {
    44 func (msghdr *Msghdr) SetControllen(length int) {
    44 	msghdr.Controllen = uint32(length)
    45 	msghdr.Controllen = uint32(length)
    45 }
    46 }
    46 
    47 
       
    48 func (msghdr *Msghdr) SetIovlen(length int) {
       
    49 	msghdr.Iovlen = int32(length)
       
    50 }
       
    51 
    47 func (cmsg *Cmsghdr) SetLen(length int) {
    52 func (cmsg *Cmsghdr) SetLen(length int) {
    48 	cmsg.Len = uint32(length)
    53 	cmsg.Len = uint32(length)
    49 }
       
    50 
       
    51 func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
       
    52 	var length = uint64(count)
       
    53 
       
    54 	_, _, e1 := Syscall6(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(unsafe.Pointer(&length)), 0, 0)
       
    55 
       
    56 	written = int(length)
       
    57 
       
    58 	if e1 != 0 {
       
    59 		err = e1
       
    60 	}
       
    61 	return
       
    62 }
    54 }
    63 
    55 
    64 func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)
    56 func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)
    65 
    57 
    66 // SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions
    58 // SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions
    67 // of darwin/amd64 the syscall is called sysctl instead of __sysctl.
    59 // of darwin/amd64 the syscall is called sysctl instead of __sysctl.
    68 const SYS___SYSCTL = SYS_SYSCTL
    60 const SYS___SYSCTL = SYS_SYSCTL
       
    61 
       
    62 //sys	Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64
       
    63 //sys	Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64
       
    64 //sys	Fstatfs(fd int, stat *Statfs_t) (err error) = SYS_FSTATFS64
       
    65 //sys	getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT64
       
    66 //sys	Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64
       
    67 //sys	Stat(path string, stat *Stat_t) (err error) = SYS_STAT64
       
    68 //sys	Statfs(path string, stat *Statfs_t) (err error) = SYS_STATFS64