require 'sys/termios.ph';
require 'sys/select.ph';
if (!defined &REAL_CLISTS) {
}
else {
}
sub t_cc { &t_termios. &c_cc;}
sub t_cflag { &t_termios. &c_cflag;}
sub t_iflag { &t_termios. &c_iflag;}
sub t_ispeed { &t_termios. &c_ispeed;}
sub t_lflag { &t_termios. &c_lflag;}
sub t_min { &t_termios. &c_min;}
sub t_oflag { &t_termios. &c_oflag;}
sub t_ospeed { &t_termios. &c_ospeed;}
sub t_time { &t_termios. &c_time;}
sub TTIPRI {25;}
sub TTOPRI {26;}
sub TTMASK {15;}
sub OBUFSIZ {100;}
sub TTYHOG {1024;}
if (defined &KERNEL) {
    eval 'sub TTMAXHIWAT { &roundup(2048,  &CBSIZE);}';
    eval 'sub TTMINHIWAT { &roundup(100,  &CBSIZE);}';
    eval 'sub TTMAXLOWAT {256;}';
    eval 'sub TTMINLOWAT {32;}';
}
sub TS_ASLEEP {0x00001;}
sub TS_ASYNC {0x00002;}
sub TS_BUSY {0x00004;}
sub TS_CARR_ON {0x00008;}
sub TS_FLUSH {0x00010;}
sub TS_ISOPEN {0x00020;}
sub TS_TBLOCK {0x00040;}
sub TS_TIMEOUT {0x00080;}
sub TS_TTSTOP {0x00100;}
sub TS_WOPEN {0x00200;}
sub TS_XCLUDE {0x00400;}
sub TS_BKSL {0x00800;}
sub TS_CNTTB {0x01000;}
sub TS_ERASE {0x02000;}
sub TS_LNCH {0x04000;}
sub TS_TYPEN {0x08000;}
sub TS_LOCAL {( &TS_BKSL |  &TS_CNTTB |  &TS_ERASE |  &TS_LNCH |  &TS_TYPEN);}
sub ORDINARY {0;}
sub CONTROL {1;}
sub BACKSPACE {2;}
sub NEWLINE {3;}
sub TAB {4;}
sub VTAB {5;}
sub RETURN {6;}
sub DMSET {0;}
sub DMBIS {1;}
sub DMBIC {2;}
sub DMGET {3;}
sub TTY_CHARMASK {0x000000ff;}
sub TTY_QUOTE {0x00000100;}
sub TTY_ERRORMASK {0xff000000;}
sub TTY_FE {0x01000000;}
sub TTY_PE {0x02000000;}
sub isctty {
    local($p, $tp) = @_;
    eval "(($p)-> &p_session == ($tp)-> &t_session && ($p)-> &p_flag &  &P_CONTROLT)";
}
sub isbackground {
    local($p, $tp) = @_;
    eval "( &isctty(($p), ($tp)) && ($p)-> &p_pgrp != ($tp)-> &t_pgrp)";
}
if (defined &KERNEL) {
}
1;
