32 lines
628 B
Go
32 lines
628 B
Go
package pty
|
|
|
|
import (
|
|
"unsafe"
|
|
|
|
"golang.org/x/sys/unix"
|
|
)
|
|
|
|
const (
|
|
// see /usr/include/sys/stropts.h
|
|
I_PUSH = uintptr((int32('S')<<8 | 002))
|
|
I_STR = uintptr((int32('S')<<8 | 010))
|
|
I_FIND = uintptr((int32('S')<<8 | 013))
|
|
// see /usr/include/sys/ptms.h
|
|
ISPTM = (int32('P') << 8) | 1
|
|
UNLKPT = (int32('P') << 8) | 2
|
|
PTSSTTY = (int32('P') << 8) | 3
|
|
ZONEPT = (int32('P') << 8) | 4
|
|
OWNERPT = (int32('P') << 8) | 5
|
|
)
|
|
|
|
type strioctl struct {
|
|
ic_cmd int32
|
|
ic_timout int32
|
|
ic_len int32
|
|
ic_dp unsafe.Pointer
|
|
}
|
|
|
|
func ioctl(fd, cmd, ptr uintptr) error {
|
|
return unix.IoctlSetInt(int(fd), uint(cmd), int(ptr))
|
|
}
|