mirror of
https://github.com/AlexxIT/go2rtc.git
synced 2025-09-26 20:31:11 +08:00
27 lines
404 B
Go
27 lines
404 B
Go
package device
|
|
|
|
import (
|
|
"bytes"
|
|
"reflect"
|
|
"syscall"
|
|
)
|
|
|
|
func ioctl(fd, req uintptr, arg any) error {
|
|
var ptr uintptr
|
|
if arg != nil {
|
|
ptr = reflect.ValueOf(arg).Pointer()
|
|
}
|
|
_, _, err := syscall.Syscall(syscall.SYS_IOCTL, fd, req, ptr)
|
|
if err != 0 {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func str(b []byte) string {
|
|
if i := bytes.IndexByte(b, 0); i >= 0 {
|
|
return string(b[:i])
|
|
}
|
|
return string(b)
|
|
}
|