gitee.com/ks-custle/core-gm@v0.0.0-20230922171213-b83bdd97b62c/net/lif/syscall.go (about)

     1  // Copyright 2016 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 solaris
     6  // +build solaris
     7  
     8  package lif
     9  
    10  import (
    11  	"syscall"
    12  	"unsafe"
    13  )
    14  
    15  //go:cgo_import_dynamic libc_ioctl ioctl "libc.so"
    16  
    17  //go:linkname procIoctl libc_ioctl
    18  
    19  var procIoctl uintptr
    20  
    21  func sysvicall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (uintptr, uintptr, syscall.Errno)
    22  
    23  func ioctl(s, ioc uintptr, arg unsafe.Pointer) error {
    24  	_, _, errno := sysvicall6(uintptr(unsafe.Pointer(&procIoctl)), 3, s, ioc, uintptr(arg), 0, 0, 0)
    25  	if errno != 0 {
    26  		return error(errno)
    27  	}
    28  	return nil
    29  }