|
@@ -29,6 +29,7 @@ import (
|
|
|
//go:cgo_import_dynamic libc___major __major "libc.so"
|
|
//go:cgo_import_dynamic libc___major __major "libc.so"
|
|
|
//go:cgo_import_dynamic libc___minor __minor "libc.so"
|
|
//go:cgo_import_dynamic libc___minor __minor "libc.so"
|
|
|
//go:cgo_import_dynamic libc_ioctl ioctl "libc.so"
|
|
//go:cgo_import_dynamic libc_ioctl ioctl "libc.so"
|
|
|
|
|
+//go:cgo_import_dynamic libc_poll poll "libc.so"
|
|
|
//go:cgo_import_dynamic libc_access access "libc.so"
|
|
//go:cgo_import_dynamic libc_access access "libc.so"
|
|
|
//go:cgo_import_dynamic libc_adjtime adjtime "libc.so"
|
|
//go:cgo_import_dynamic libc_adjtime adjtime "libc.so"
|
|
|
//go:cgo_import_dynamic libc_chdir chdir "libc.so"
|
|
//go:cgo_import_dynamic libc_chdir chdir "libc.so"
|
|
@@ -153,6 +154,7 @@ import (
|
|
|
//go:linkname proc__major libc___major
|
|
//go:linkname proc__major libc___major
|
|
|
//go:linkname proc__minor libc___minor
|
|
//go:linkname proc__minor libc___minor
|
|
|
//go:linkname procioctl libc_ioctl
|
|
//go:linkname procioctl libc_ioctl
|
|
|
|
|
+//go:linkname procpoll libc_poll
|
|
|
//go:linkname procAccess libc_access
|
|
//go:linkname procAccess libc_access
|
|
|
//go:linkname procAdjtime libc_adjtime
|
|
//go:linkname procAdjtime libc_adjtime
|
|
|
//go:linkname procChdir libc_chdir
|
|
//go:linkname procChdir libc_chdir
|
|
@@ -278,6 +280,7 @@ var (
|
|
|
proc__major,
|
|
proc__major,
|
|
|
proc__minor,
|
|
proc__minor,
|
|
|
procioctl,
|
|
procioctl,
|
|
|
|
|
+ procpoll,
|
|
|
procAccess,
|
|
procAccess,
|
|
|
procAdjtime,
|
|
procAdjtime,
|
|
|
procChdir,
|
|
procChdir,
|
|
@@ -557,6 +560,15 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
|
|
|
|
|
+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procpoll)), 3, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout), 0, 0, 0)
|
|
|
|
|
+ n = int(r0)
|
|
|
|
|
+ if e1 != 0 {
|
|
|
|
|
+ err = e1
|
|
|
|
|
+ }
|
|
|
|
|
+ return
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
func Access(path string, mode uint32) (err error) {
|
|
func Access(path string, mode uint32) (err error) {
|
|
|
var _p0 *byte
|
|
var _p0 *byte
|
|
|
_p0, err = BytePtrFromString(path)
|
|
_p0, err = BytePtrFromString(path)
|