package sys

import "src.elv.sh/pkg/sys"

Package sys provide convenient wrappers around syscalls.

Index

Package Files

dumpstack.go fdset_unix.go ioctl_notbsd.go isatty_unix.go select_unix.go signals_unix.go sys.go tc.go termios.go termios_32bitflag.go waitforread_unix.go winsize_unix.go

Constants

const SIGWINCH = unix.SIGWINCH

SIGWINCH is the Window size change signal.

func DumpStack

func DumpStack() string

func GetWinsize

func GetWinsize(file *os.File) (row, col int)

GetWinsize queries the size of the terminal referenced by the given file.

func IsATTY

func IsATTY(file *os.File) bool

IsATTY returns true if the given file is a terminal.

func NotifySignals

func NotifySignals() chan os.Signal

func Select

func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout time.Duration) error

func Tcsetpgrp

func Tcsetpgrp(fd int, pid int) error

func WaitForRead

func WaitForRead(timeout time.Duration, files ...*os.File) (ready []bool, err error)

WaitForRead blocks until any of the given files is ready to be read or timeout. A negative timeout means no timeout. It returns a boolean array indicating which files are ready to be read and any possible error.

type FdSet

type FdSet unix.FdSet

func NewFdSet

func NewFdSet(fds ...int) *FdSet

func (*FdSet) Clear

func (fs *FdSet) Clear(fds ...int)

func (*FdSet) IsSet

func (fs *FdSet) IsSet(fd int) bool

func (*FdSet) Set

func (fs *FdSet) Set(fds ...int)

func (*FdSet) Zero

func (fs *FdSet) Zero()

type Termios

type Termios unix.Termios

Termios represents terminal attributes.

func TermiosForFd

func TermiosForFd(fd int) (*Termios, error)

TermiosForFd returns a pointer to a Termios structure if the file descriptor is open on a terminal device.

func (*Termios) ApplyToFd

func (term *Termios) ApplyToFd(fd int) error

ApplyToFd applies term to the given file descriptor.

func (*Termios) Copy

func (term *Termios) Copy() *Termios

Copy returns a copy of term.

func (*Termios) SetEcho

func (term *Termios) SetEcho(v bool)

SetEcho sets the echo flag.

func (*Termios) SetICRNL

func (term *Termios) SetICRNL(v bool)

SetICRNL sets the CRNL iflag bit

func (*Termios) SetICanon

func (term *Termios) SetICanon(v bool)

SetICanon sets the canonical flag.

func (*Termios) SetIExten

func (term *Termios) SetIExten(v bool)

SetIExten sets the iexten flag.

func (*Termios) SetVMin

func (term *Termios) SetVMin(v uint8)

SetVMin sets the minimal number of characters for noncanonical read.

func (*Termios) SetVTime

func (term *Termios) SetVTime(v uint8)

SetVTime sets the timeout in deciseconds for noncanonical read.

Package sys imports 8 packages (graph) and is imported by 4 packages. Updated 1 month ago.

.
Tools for package owners.