liuxiaolong
2020-09-16 4501e38ca66f09b35aaaf43fa5a316554930fcf4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// +build linux
// +build ppc64 ppc64le
 
package isatty
 
import (
    "unsafe"
 
    syscall "golang.org/x/sys/unix"
)
 
const ioctlReadTermios = syscall.TCGETS
 
// IsTerminal return true if the file descriptor is terminal.
func IsTerminal(fd uintptr) bool {
    var termios syscall.Termios
    _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0)
    return err == 0
}