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