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) { |
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 } |