syscall_hurd.go

 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
 7package unix
 8
 9/*
10#include <stdint.h>
11int ioctl(int, unsigned long int, uintptr_t);
12*/
13import "C"
14import "unsafe"
15
16func 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
24func 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}