123456789101112131415161718192021222324252627 |
- // Based on ssh/terminal:
- // Copyright 2011 The Go Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- // +build windows
- package term
- import (
- "syscall"
- "unsafe"
- )
- var kernel32 = syscall.NewLazyDLL("kernel32.dll")
- var (
- procGetConsoleMode = kernel32.NewProc("GetConsoleMode")
- )
- // IsTty returns true if the given file descriptor is a terminal.
- func IsTty(fd uintptr) bool {
- var st uint32
- r, _, e := syscall.Syscall(procGetConsoleMode.Addr(), 2, fd, uintptr(unsafe.Pointer(&st)), 0)
- return r != 0 && e == 0
- }
|