79 func Pipe(p []int) (err error) { |
79 func Pipe(p []int) (err error) { |
80 return Pipe2(p, 0) |
80 return Pipe2(p, 0) |
81 } |
81 } |
82 |
82 |
83 //sysnb pipe2(p *[2]_C_int, flags int) (err error) |
83 //sysnb pipe2(p *[2]_C_int, flags int) (err error) |
|
84 |
84 func Pipe2(p []int, flags int) error { |
85 func Pipe2(p []int, flags int) error { |
85 if len(p) != 2 { |
86 if len(p) != 2 { |
86 return EINVAL |
87 return EINVAL |
87 } |
88 } |
88 var pp [2]_C_int |
89 var pp [2]_C_int |
89 err := pipe2(&pp, flags) |
90 err := pipe2(&pp, flags) |
90 p[0] = int(pp[0]) |
91 if err == nil { |
91 p[1] = int(pp[1]) |
92 p[0] = int(pp[0]) |
|
93 p[1] = int(pp[1]) |
|
94 } |
92 return err |
95 return err |
93 } |
96 } |
94 |
97 |
95 //sys Getdents(fd int, buf []byte) (n int, err error) |
98 //sys Getdents(fd int, buf []byte) (n int, err error) |
|
99 |
96 func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { |
100 func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { |
97 n, err = Getdents(fd, buf) |
101 n, err = Getdents(fd, buf) |
98 if err != nil || basep == nil { |
102 if err != nil || basep == nil { |
99 return |
103 return |
100 } |
104 } |
143 n = int(r0) |
147 n = int(r0) |
144 if e1 != 0 { |
148 if e1 != 0 { |
145 err = e1 |
149 err = e1 |
146 } |
150 } |
147 return |
151 return |
148 } |
|
149 |
|
150 func setattrlistTimes(path string, times []Timespec, flags int) error { |
|
151 // used on Darwin for UtimesNano |
|
152 return ENOSYS |
|
153 } |
152 } |
154 |
153 |
155 //sys ioctl(fd int, req uint, arg uintptr) (err error) |
154 //sys ioctl(fd int, req uint, arg uintptr) (err error) |
156 |
155 |
157 //sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL |
156 //sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL |
270 //sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) |
269 //sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) |
271 //sys Nanosleep(time *Timespec, leftover *Timespec) (err error) |
270 //sys Nanosleep(time *Timespec, leftover *Timespec) (err error) |
272 //sys Open(path string, mode int, perm uint32) (fd int, err error) |
271 //sys Open(path string, mode int, perm uint32) (fd int, err error) |
273 //sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) |
272 //sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) |
274 //sys Pathconf(path string, name int) (val int, err error) |
273 //sys Pathconf(path string, name int) (val int, err error) |
275 //sys Pread(fd int, p []byte, offset int64) (n int, err error) |
274 //sys pread(fd int, p []byte, offset int64) (n int, err error) |
276 //sys Pwrite(fd int, p []byte, offset int64) (n int, err error) |
275 //sys pwrite(fd int, p []byte, offset int64) (n int, err error) |
277 //sys read(fd int, p []byte) (n int, err error) |
276 //sys read(fd int, p []byte) (n int, err error) |
278 //sys Readlink(path string, buf []byte) (n int, err error) |
277 //sys Readlink(path string, buf []byte) (n int, err error) |
279 //sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) |
278 //sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) |
280 //sys Rename(from string, to string) (err error) |
279 //sys Rename(from string, to string) (err error) |
281 //sys Renameat(fromfd int, from string, tofd int, to string) (err error) |
280 //sys Renameat(fromfd int, from string, tofd int, to string) (err error) |