66
|
1 // Copyright 2019 The Go Authors. All rights reserved.
|
|
2 // Use of this source code is governed by a BSD-style
|
|
3 // license that can be found in the LICENSE file.
|
|
4
|
|
5 package unix
|
|
6
|
|
7 import "unsafe"
|
|
8
|
|
9 // FcntlInt performs a fcntl syscall on fd with the provided command and argument.
|
|
10 func FcntlInt(fd uintptr, cmd, arg int) (int, error) {
|
|
11 return fcntl(int(fd), cmd, arg)
|
|
12 }
|
|
13
|
|
14 // FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command.
|
|
15 func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error {
|
|
16 _, err := fcntl(int(fd), cmd, int(uintptr(unsafe.Pointer(lk))))
|
|
17 return err
|
|
18 }
|
|
19
|
|
20 // FcntlFstore performs a fcntl syscall for the F_PREALLOCATE command.
|
|
21 func FcntlFstore(fd uintptr, cmd int, fstore *Fstore_t) error {
|
|
22 _, err := fcntl(int(fd), cmd, int(uintptr(unsafe.Pointer(fstore))))
|
|
23 return err
|
|
24 }
|