1
0
mirror of https://shylinux.com/x/icebergs synced 2025-04-25 17:18:05 +08:00
icebergs/misc/xterm/winsize_unix.go
2023-04-15 00:26:30 +08:00

28 lines
434 B
Go

//go:build !windows
// +build !windows
package xterm
import (
"os"
"syscall"
"unsafe"
)
func Setsize(t *os.File, ws *Winsize) error {
return ioctl(t.Fd(), syscall.TIOCSWINSZ, uintptr(unsafe.Pointer(ws)))
}
const (
TIOCGWINSZ = syscall.TIOCGWINSZ
TIOCSWINSZ = syscall.TIOCSWINSZ
)
func ioctl(fd, cmd, ptr uintptr) error {
_, _, e := syscall.Syscall(syscall.SYS_IOCTL, fd, cmd, ptr)
if e != 0 {
return e
}
return nil
}