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))
|
||
|
}
|