syscall_hurd.go raw
1 // Copyright 2022 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 //go:build hurd
6
7 package unix
8
9 /*
10 #include <stdint.h>
11 int ioctl(int, unsigned long int, uintptr_t);
12 */
13 import "C"
14 import "unsafe"
15
16 func ioctl(fd int, req uint, arg uintptr) (err error) {
17 r0, er := C.ioctl(C.int(fd), C.ulong(req), C.uintptr_t(arg))
18 if r0 == -1 && er != nil {
19 err = er
20 }
21 return
22 }
23
24 func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) {
25 r0, er := C.ioctl(C.int(fd), C.ulong(req), C.uintptr_t(uintptr(arg)))
26 if r0 == -1 && er != nil {
27 err = er
28 }
29 return
30 }
31