17 |
17 |
18 func setTimeval(sec, usec int64) Timeval { |
18 func setTimeval(sec, usec int64) Timeval { |
19 return Timeval{Sec: int32(sec), Usec: int32(usec)} |
19 return Timeval{Sec: int32(sec), Usec: int32(usec)} |
20 } |
20 } |
21 |
21 |
22 //sysnb pipe(p *[2]_C_int) (err error) |
|
23 |
|
24 func Pipe(p []int) (err error) { |
|
25 if len(p) != 2 { |
|
26 return EINVAL |
|
27 } |
|
28 var pp [2]_C_int |
|
29 err = pipe(&pp) |
|
30 p[0] = int(pp[0]) |
|
31 p[1] = int(pp[1]) |
|
32 return |
|
33 } |
|
34 |
|
35 //sysnb pipe2(p *[2]_C_int, flags int) (err error) |
|
36 |
|
37 func Pipe2(p []int, flags int) (err error) { |
|
38 if len(p) != 2 { |
|
39 return EINVAL |
|
40 } |
|
41 var pp [2]_C_int |
|
42 err = pipe2(&pp, flags) |
|
43 p[0] = int(pp[0]) |
|
44 p[1] = int(pp[1]) |
|
45 return |
|
46 } |
|
47 |
|
48 // 64-bit file system and 32-bit uid calls |
22 // 64-bit file system and 32-bit uid calls |
49 // (386 default is 32-bit file system and 16-bit uid). |
23 // (386 default is 32-bit file system and 16-bit uid). |
50 //sys dup2(oldfd int, newfd int) (err error) |
|
51 //sysnb EpollCreate(size int) (fd int, err error) |
|
52 //sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) |
24 //sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) |
53 //sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64_64 |
25 //sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64_64 |
54 //sys Fchown(fd int, uid int, gid int) (err error) = SYS_FCHOWN32 |
26 //sys Fchown(fd int, uid int, gid int) (err error) = SYS_FCHOWN32 |
55 //sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 |
27 //sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 |
56 //sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 |
28 //sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 |
57 //sys Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64 |
29 //sys Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64 |
58 //sysnb Getegid() (egid int) = SYS_GETEGID32 |
30 //sysnb Getegid() (egid int) = SYS_GETEGID32 |
59 //sysnb Geteuid() (euid int) = SYS_GETEUID32 |
31 //sysnb Geteuid() (euid int) = SYS_GETEUID32 |
60 //sysnb Getgid() (gid int) = SYS_GETGID32 |
32 //sysnb Getgid() (gid int) = SYS_GETGID32 |
61 //sysnb Getuid() (uid int) = SYS_GETUID32 |
33 //sysnb Getuid() (uid int) = SYS_GETUID32 |
62 //sysnb InotifyInit() (fd int, err error) |
|
63 //sys Ioperm(from int, num int, on int) (err error) |
34 //sys Ioperm(from int, num int, on int) (err error) |
64 //sys Iopl(level int) (err error) |
35 //sys Iopl(level int) (err error) |
65 //sys Lchown(path string, uid int, gid int) (err error) = SYS_LCHOWN32 |
36 //sys Lchown(path string, uid int, gid int) (err error) = SYS_LCHOWN32 |
66 //sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 |
37 //sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 |
67 //sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 |
38 //sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 |
68 //sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 |
39 //sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 |
69 //sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) |
40 //sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) |
70 //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64 |
41 //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64 |
71 //sys setfsgid(gid int) (prev int, err error) = SYS_SETFSGID32 |
42 //sys setfsgid(gid int) (prev int, err error) = SYS_SETFSGID32 |
72 //sys setfsuid(uid int) (prev int, err error) = SYS_SETFSUID32 |
43 //sys setfsuid(uid int) (prev int, err error) = SYS_SETFSUID32 |
73 //sysnb Setregid(rgid int, egid int) (err error) = SYS_SETREGID32 |
44 //sysnb Setregid(rgid int, egid int) (err error) = SYS_SETREGID32 |
200 _ACCEPT4 = 18 |
171 _ACCEPT4 = 18 |
201 _RECVMMSG = 19 |
172 _RECVMMSG = 19 |
202 _SENDMMSG = 20 |
173 _SENDMMSG = 20 |
203 ) |
174 ) |
204 |
175 |
205 func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { |
|
206 fd, e := socketcall(_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) |
|
207 if e != 0 { |
|
208 err = e |
|
209 } |
|
210 return |
|
211 } |
|
212 |
|
213 func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { |
176 func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { |
214 fd, e := socketcall(_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) |
177 fd, e := socketcall(_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) |
215 if e != 0 { |
178 if e != 0 { |
216 err = e |
179 err = e |
217 } |
180 } |