vendor/golang.org/x/sys/unix/syscall_linux_s390x.go
changeset 260 445e01aede7e
parent 256 6d9efbef00a9
child 262 8d3354485fc3
equal deleted inserted replaced
259:db4911b0c721 260:445e01aede7e
     9 
     9 
    10 import (
    10 import (
    11 	"unsafe"
    11 	"unsafe"
    12 )
    12 )
    13 
    13 
    14 //sys	dup2(oldfd int, newfd int) (err error)
       
    15 //sysnb	EpollCreate(size int) (fd int, err error)
       
    16 //sys	EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
    14 //sys	EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
    17 //sys	Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64
    15 //sys	Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64
    18 //sys	Fchown(fd int, uid int, gid int) (err error)
    16 //sys	Fchown(fd int, uid int, gid int) (err error)
    19 //sys	Fstat(fd int, stat *Stat_t) (err error)
    17 //sys	Fstat(fd int, stat *Stat_t) (err error)
    20 //sys	Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_NEWFSTATAT
    18 //sys	Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_NEWFSTATAT
    23 //sysnb	Getegid() (egid int)
    21 //sysnb	Getegid() (egid int)
    24 //sysnb	Geteuid() (euid int)
    22 //sysnb	Geteuid() (euid int)
    25 //sysnb	Getgid() (gid int)
    23 //sysnb	Getgid() (gid int)
    26 //sysnb	Getrlimit(resource int, rlim *Rlimit) (err error)
    24 //sysnb	Getrlimit(resource int, rlim *Rlimit) (err error)
    27 //sysnb	Getuid() (uid int)
    25 //sysnb	Getuid() (uid int)
    28 //sysnb	InotifyInit() (fd int, err error)
       
    29 //sys	Lchown(path string, uid int, gid int) (err error)
    26 //sys	Lchown(path string, uid int, gid int) (err error)
    30 //sys	Lstat(path string, stat *Stat_t) (err error)
    27 //sys	Lstat(path string, stat *Stat_t) (err error)
    31 //sys	Pause() (err error)
    28 //sys	Pause() (err error)
    32 //sys	Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
    29 //sys	pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
    33 //sys	Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
    30 //sys	pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
    34 //sys	Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
    31 //sys	Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
    35 //sys	Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK
    32 //sys	Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK
    36 //sys	Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
    33 //sys	Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
    37 //sys	sendfile(outfd int, infd int, offset *int64, count int) (written int, err error)
    34 //sys	sendfile(outfd int, infd int, offset *int64, count int) (written int, err error)
    38 //sys	setfsgid(gid int) (prev int, err error)
    35 //sys	setfsgid(gid int) (prev int, err error)
    73 	return Timespec{Sec: sec, Nsec: nsec}
    70 	return Timespec{Sec: sec, Nsec: nsec}
    74 }
    71 }
    75 
    72 
    76 func setTimeval(sec, usec int64) Timeval {
    73 func setTimeval(sec, usec int64) Timeval {
    77 	return Timeval{Sec: sec, Usec: usec}
    74 	return Timeval{Sec: sec, Usec: usec}
    78 }
       
    79 
       
    80 //sysnb	pipe2(p *[2]_C_int, flags int) (err error)
       
    81 
       
    82 func Pipe(p []int) (err error) {
       
    83 	if len(p) != 2 {
       
    84 		return EINVAL
       
    85 	}
       
    86 	var pp [2]_C_int
       
    87 	err = pipe2(&pp, 0) // pipe2 is the same as pipe when flags are set to 0.
       
    88 	p[0] = int(pp[0])
       
    89 	p[1] = int(pp[1])
       
    90 	return
       
    91 }
       
    92 
       
    93 func Pipe2(p []int, flags int) (err error) {
       
    94 	if len(p) != 2 {
       
    95 		return EINVAL
       
    96 	}
       
    97 	var pp [2]_C_int
       
    98 	err = pipe2(&pp, flags)
       
    99 	p[0] = int(pp[0])
       
   100 	p[1] = int(pp[1])
       
   101 	return
       
   102 }
    75 }
   103 
    76 
   104 func Ioperm(from int, num int, on int) (err error) {
    77 func Ioperm(from int, num int, on int) (err error) {
   105 	return ENOSYS
    78 	return ENOSYS
   106 }
    79 }
   170 	netAccept4     = 18
   143 	netAccept4     = 18
   171 	netRecvMMsg    = 19
   144 	netRecvMMsg    = 19
   172 	netSendMMsg    = 20
   145 	netSendMMsg    = 20
   173 )
   146 )
   174 
   147 
   175 func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (int, error) {
       
   176 	args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))}
       
   177 	fd, _, err := Syscall(SYS_SOCKETCALL, netAccept, uintptr(unsafe.Pointer(&args)), 0)
       
   178 	if err != 0 {
       
   179 		return 0, err
       
   180 	}
       
   181 	return int(fd), nil
       
   182 }
       
   183 
       
   184 func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (int, error) {
   148 func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (int, error) {
   185 	args := [4]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags)}
   149 	args := [4]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags)}
   186 	fd, _, err := Syscall(SYS_SOCKETCALL, netAccept4, uintptr(unsafe.Pointer(&args)), 0)
   150 	fd, _, err := Syscall(SYS_SOCKETCALL, netAccept4, uintptr(unsafe.Pointer(&args)), 0)
   187 	if err != 0 {
   151 	if err != 0 {
   188 		return 0, err
   152 		return 0, err
   320 	_, _, err := Syscall(SYS_SOCKETCALL, netShutdown, uintptr(unsafe.Pointer(&args)), 0)
   284 	_, _, err := Syscall(SYS_SOCKETCALL, netShutdown, uintptr(unsafe.Pointer(&args)), 0)
   321 	if err != 0 {
   285 	if err != 0 {
   322 		return err
   286 		return err
   323 	}
   287 	}
   324 	return nil
   288 	return nil
   325 }
       
   326 
       
   327 //sys	poll(fds *PollFd, nfds int, timeout int) (n int, err error)
       
   328 
       
   329 func Poll(fds []PollFd, timeout int) (n int, err error) {
       
   330 	if len(fds) == 0 {
       
   331 		return poll(nil, 0, timeout)
       
   332 	}
       
   333 	return poll(&fds[0], len(fds), timeout)
       
   334 }
   289 }
   335 
   290 
   336 //sys	kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error)
   291 //sys	kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error)
   337 
   292 
   338 func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error {
   293 func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error {