|
@@ -43,6 +43,7 @@ import (
|
|
|
//go:cgo_import_dynamic libc_fchown fchown "libc.so"
|
|
//go:cgo_import_dynamic libc_fchown fchown "libc.so"
|
|
|
//go:cgo_import_dynamic libc_fchownat fchownat "libc.so"
|
|
//go:cgo_import_dynamic libc_fchownat fchownat "libc.so"
|
|
|
//go:cgo_import_dynamic libc_fdatasync fdatasync "libc.so"
|
|
//go:cgo_import_dynamic libc_fdatasync fdatasync "libc.so"
|
|
|
|
|
+//go:cgo_import_dynamic libc_flock flock "libc.so"
|
|
|
//go:cgo_import_dynamic libc_fpathconf fpathconf "libc.so"
|
|
//go:cgo_import_dynamic libc_fpathconf fpathconf "libc.so"
|
|
|
//go:cgo_import_dynamic libc_fstat fstat "libc.so"
|
|
//go:cgo_import_dynamic libc_fstat fstat "libc.so"
|
|
|
//go:cgo_import_dynamic libc_fstatvfs fstatvfs "libc.so"
|
|
//go:cgo_import_dynamic libc_fstatvfs fstatvfs "libc.so"
|
|
@@ -163,6 +164,7 @@ import (
|
|
|
//go:linkname procFchown libc_fchown
|
|
//go:linkname procFchown libc_fchown
|
|
|
//go:linkname procFchownat libc_fchownat
|
|
//go:linkname procFchownat libc_fchownat
|
|
|
//go:linkname procFdatasync libc_fdatasync
|
|
//go:linkname procFdatasync libc_fdatasync
|
|
|
|
|
+//go:linkname procFlock libc_flock
|
|
|
//go:linkname procFpathconf libc_fpathconf
|
|
//go:linkname procFpathconf libc_fpathconf
|
|
|
//go:linkname procFstat libc_fstat
|
|
//go:linkname procFstat libc_fstat
|
|
|
//go:linkname procFstatvfs libc_fstatvfs
|
|
//go:linkname procFstatvfs libc_fstatvfs
|
|
@@ -284,6 +286,7 @@ var (
|
|
|
procFchown,
|
|
procFchown,
|
|
|
procFchownat,
|
|
procFchownat,
|
|
|
procFdatasync,
|
|
procFdatasync,
|
|
|
|
|
+ procFlock,
|
|
|
procFpathconf,
|
|
procFpathconf,
|
|
|
procFstat,
|
|
procFstat,
|
|
|
procFstatvfs,
|
|
procFstatvfs,
|
|
@@ -702,6 +705,14 @@ func Fdatasync(fd int) (err error) {
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+func Flock(fd int, how int) (err error) {
|
|
|
|
|
+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFlock)), 2, uintptr(fd), uintptr(how), 0, 0, 0, 0)
|
|
|
|
|
+ if e1 != 0 {
|
|
|
|
|
+ err = e1
|
|
|
|
|
+ }
|
|
|
|
|
+ return
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
func Fpathconf(fd int, name int) (val int, err error) {
|
|
func Fpathconf(fd int, name int) (val int, err error) {
|
|
|
r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFpathconf)), 2, uintptr(fd), uintptr(name), 0, 0, 0, 0)
|
|
r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFpathconf)), 2, uintptr(fd), uintptr(name), 0, 0, 0, 0)
|
|
|
val = int(r0)
|
|
val = int(r0)
|