vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
changeset 256 6d9efbef00a9
parent 251 1c52a0eeb952
child 260 445e01aede7e
equal deleted inserted replaced
255:4f153a23adab 256:6d9efbef00a9
     1 // Copyright 2015 The Go Authors. All rights reserved.
     1 // Copyright 2015 The Go Authors. All rights reserved.
     2 // Use of this source code is governed by a BSD-style
     2 // Use of this source code is governed by a BSD-style
     3 // license that can be found in the LICENSE file.
     3 // license that can be found in the LICENSE file.
     4 
     4 
       
     5 //go:build arm64 && linux
     5 // +build arm64,linux
     6 // +build arm64,linux
     6 
     7 
     7 package unix
     8 package unix
     8 
     9 
     9 import "unsafe"
    10 import "unsafe"
    23 //sys	Fstatfs(fd int, buf *Statfs_t) (err error)
    24 //sys	Fstatfs(fd int, buf *Statfs_t) (err error)
    24 //sys	Ftruncate(fd int, length int64) (err error)
    25 //sys	Ftruncate(fd int, length int64) (err error)
    25 //sysnb	Getegid() (egid int)
    26 //sysnb	Getegid() (egid int)
    26 //sysnb	Geteuid() (euid int)
    27 //sysnb	Geteuid() (euid int)
    27 //sysnb	Getgid() (gid int)
    28 //sysnb	Getgid() (gid int)
    28 //sysnb	Getrlimit(resource int, rlim *Rlimit) (err error)
    29 //sysnb	getrlimit(resource int, rlim *Rlimit) (err error)
    29 //sysnb	Getuid() (uid int)
    30 //sysnb	Getuid() (uid int)
    30 //sys	Listen(s int, n int) (err error)
    31 //sys	Listen(s int, n int) (err error)
    31 //sys	Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
    32 //sys	Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
    32 //sys	Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
    33 //sys	Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
    33 //sys	Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
    34 //sys	Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
    45 //sys	setfsgid(gid int) (prev int, err error)
    46 //sys	setfsgid(gid int) (prev int, err error)
    46 //sys	setfsuid(uid int) (prev int, err error)
    47 //sys	setfsuid(uid int) (prev int, err error)
    47 //sysnb	Setregid(rgid int, egid int) (err error)
    48 //sysnb	Setregid(rgid int, egid int) (err error)
    48 //sysnb	Setresgid(rgid int, egid int, sgid int) (err error)
    49 //sysnb	Setresgid(rgid int, egid int, sgid int) (err error)
    49 //sysnb	Setresuid(ruid int, euid int, suid int) (err error)
    50 //sysnb	Setresuid(ruid int, euid int, suid int) (err error)
    50 //sysnb	Setrlimit(resource int, rlim *Rlimit) (err error)
    51 //sysnb	setrlimit(resource int, rlim *Rlimit) (err error)
    51 //sysnb	Setreuid(ruid int, euid int) (err error)
    52 //sysnb	Setreuid(ruid int, euid int) (err error)
    52 //sys	Shutdown(fd int, how int) (err error)
    53 //sys	Shutdown(fd int, how int) (err error)
    53 //sys	Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)
    54 //sys	Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)
    54 
    55 
    55 func Stat(path string, stat *Stat_t) (err error) {
    56 func Stat(path string, stat *Stat_t) (err error) {
   153 	p[0] = int(pp[0])
   154 	p[0] = int(pp[0])
   154 	p[1] = int(pp[1])
   155 	p[1] = int(pp[1])
   155 	return
   156 	return
   156 }
   157 }
   157 
   158 
   158 //sysnb pipe2(p *[2]_C_int, flags int) (err error)
   159 //sysnb	pipe2(p *[2]_C_int, flags int) (err error)
   159 
   160 
   160 func Pipe2(p []int, flags int) (err error) {
   161 func Pipe2(p []int, flags int) (err error) {
   161 	if len(p) != 2 {
   162 	if len(p) != 2 {
   162 		return EINVAL
   163 		return EINVAL
   163 	}
   164 	}
   166 	p[0] = int(pp[0])
   167 	p[0] = int(pp[0])
   167 	p[1] = int(pp[1])
   168 	p[1] = int(pp[1])
   168 	return
   169 	return
   169 }
   170 }
   170 
   171 
       
   172 // Getrlimit prefers the prlimit64 system call. See issue 38604.
       
   173 func Getrlimit(resource int, rlim *Rlimit) error {
       
   174 	err := prlimit(0, resource, nil, rlim)
       
   175 	if err != ENOSYS {
       
   176 		return err
       
   177 	}
       
   178 	return getrlimit(resource, rlim)
       
   179 }
       
   180 
       
   181 // Setrlimit prefers the prlimit64 system call. See issue 38604.
       
   182 func Setrlimit(resource int, rlim *Rlimit) error {
       
   183 	err := prlimit(0, resource, rlim, nil)
       
   184 	if err != ENOSYS {
       
   185 		return err
       
   186 	}
       
   187 	return setrlimit(resource, rlim)
       
   188 }
       
   189 
   171 func (r *PtraceRegs) PC() uint64 { return r.Pc }
   190 func (r *PtraceRegs) PC() uint64 { return r.Pc }
   172 
   191 
   173 func (r *PtraceRegs) SetPC(pc uint64) { r.Pc = pc }
   192 func (r *PtraceRegs) SetPC(pc uint64) { r.Pc = pc }
   174 
   193 
   175 func (iov *Iovec) SetLen(length int) {
   194 func (iov *Iovec) SetLen(length int) {
   186 
   205 
   187 func (cmsg *Cmsghdr) SetLen(length int) {
   206 func (cmsg *Cmsghdr) SetLen(length int) {
   188 	cmsg.Len = uint64(length)
   207 	cmsg.Len = uint64(length)
   189 }
   208 }
   190 
   209 
       
   210 func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) {
       
   211 	rsa.Service_name_len = uint64(length)
       
   212 }
       
   213 
   191 func InotifyInit() (fd int, err error) {
   214 func InotifyInit() (fd int, err error) {
   192 	return InotifyInit1(0)
   215 	return InotifyInit1(0)
   193 }
   216 }
   194 
   217 
   195 func Dup2(oldfd int, newfd int) (err error) {
   218 // dup2 exists because func Dup3 in syscall_linux.go references
   196 	return Dup3(oldfd, newfd, 0)
   219 // it in an unreachable path. dup2 isn't available on arm64.
   197 }
   220 func dup2(oldfd int, newfd int) error
   198 
   221 
   199 func Pause() error {
   222 func Pause() error {
   200 	_, err := ppoll(nil, 0, nil, nil)
   223 	_, err := ppoll(nil, 0, nil, nil)
   201 	return err
   224 	return err
   202 }
   225 }