|
@@ -104,268 +104,7 @@ const
|
|
|
F_GetOwn = 8;
|
|
|
F_SetOwn = 9;
|
|
|
|
|
|
-{********************
|
|
|
- IOCtl(TermIOS)
|
|
|
-********************}
|
|
|
-
|
|
|
-Const
|
|
|
- { Amount of Control Chars }
|
|
|
- NCCS = 19;
|
|
|
- NCC = 8;
|
|
|
-
|
|
|
- { For Terminal handling }
|
|
|
- TCGETS = $5401;
|
|
|
- TCSETS = $5402;
|
|
|
- TCSETSW = $5403;
|
|
|
- TCSETSF = $5404;
|
|
|
- TCGETA = $5405;
|
|
|
- TCSETA = $5406;
|
|
|
- TCSETAW = $5407;
|
|
|
- TCSETAF = $5408;
|
|
|
- TCSBRK = $5409;
|
|
|
- TCXONC = $540A;
|
|
|
- TCFLSH = $540B;
|
|
|
- TIOCEXCL = $540C;
|
|
|
- TIOCNXCL = $540D;
|
|
|
- TIOCSCTTY = $540E;
|
|
|
- TIOCGPGRP = $540F;
|
|
|
- TIOCSPGRP = $5410;
|
|
|
- TIOCOUTQ = $5411;
|
|
|
- TIOCSTI = $5412;
|
|
|
- TIOCGWINSZ = $5413;
|
|
|
- TIOCSWINSZ = $5414;
|
|
|
- TIOCMGET = $5415;
|
|
|
- TIOCMBIS = $5416;
|
|
|
- TIOCMBIC = $5417;
|
|
|
- TIOCMSET = $5418;
|
|
|
- TIOCGSOFTCAR = $5419;
|
|
|
- TIOCSSOFTCAR = $541A;
|
|
|
- FIONREAD = $541B;
|
|
|
- TIOCINQ = FIONREAD;
|
|
|
- TIOCLINUX = $541C;
|
|
|
- TIOCCONS = $541D;
|
|
|
- TIOCGSERIAL = $541E;
|
|
|
- TIOCSSERIAL = $541F;
|
|
|
- TIOCPKT = $5420;
|
|
|
- FIONBIO = $5421;
|
|
|
- TIOCNOTTY = $5422;
|
|
|
- TIOCSETD = $5423;
|
|
|
- TIOCGETD = $5424;
|
|
|
- TCSBRKP = $5425;
|
|
|
- TIOCTTYGSTRUCT = $5426;
|
|
|
- FIONCLEX = $5450;
|
|
|
- FIOCLEX = $5451;
|
|
|
- FIOASYNC = $5452;
|
|
|
- TIOCSERCONFIG = $5453;
|
|
|
- TIOCSERGWILD = $5454;
|
|
|
- TIOCSERSWILD = $5455;
|
|
|
- TIOCGLCKTRMIOS = $5456;
|
|
|
- TIOCSLCKTRMIOS = $5457;
|
|
|
- TIOCSERGSTRUCT = $5458;
|
|
|
- TIOCSERGETLSR = $5459;
|
|
|
- TIOCSERGETMULTI = $545A;
|
|
|
- TIOCSERSETMULTI = $545B;
|
|
|
-
|
|
|
- TIOCMIWAIT = $545C;
|
|
|
- TIOCGICOUNT = $545D;
|
|
|
- TIOCPKT_DATA = 0;
|
|
|
- TIOCPKT_FLUSHREAD = 1;
|
|
|
- TIOCPKT_FLUSHWRITE = 2;
|
|
|
- TIOCPKT_STOP = 4;
|
|
|
- TIOCPKT_START = 8;
|
|
|
- TIOCPKT_NOSTOP = 16;
|
|
|
- TIOCPKT_DOSTOP = 32;
|
|
|
-
|
|
|
-
|
|
|
-Type
|
|
|
- winsize = packed record
|
|
|
- ws_row,
|
|
|
- ws_col,
|
|
|
- ws_xpixel,
|
|
|
- ws_ypixel : word;
|
|
|
- end;
|
|
|
- TWinSize=winsize;
|
|
|
-
|
|
|
- Termio = packed record
|
|
|
- c_iflag, { input mode flags }
|
|
|
- c_oflag, { output mode flags }
|
|
|
- c_cflag, { control mode flags }
|
|
|
- c_lflag : Word; { local mode flags }
|
|
|
- c_line : Word; { line discipline - careful, only High byte in use}
|
|
|
- c_cc : array [0..NCC-1] of char;{ control characters }
|
|
|
- end;
|
|
|
- TTermio=Termio;
|
|
|
-
|
|
|
- Termios = packed record
|
|
|
- c_iflag,
|
|
|
- c_oflag,
|
|
|
- c_cflag,
|
|
|
- c_lflag : longint;
|
|
|
- c_line : char;
|
|
|
- c_cc : array[0..NCCS-1] of byte;
|
|
|
- end;
|
|
|
- TTermios=Termios;
|
|
|
-
|
|
|
-const
|
|
|
- InitCC:array[0..NCCS-1] of byte=(3,34,177,25,4,0,1,0,21,23,32,0,22,17,27,26,0,0,0);
|
|
|
-
|
|
|
-const
|
|
|
-{c_cc characters}
|
|
|
- VINTR = 0;
|
|
|
- VQUIT = 1;
|
|
|
- VERASE = 2;
|
|
|
- VKILL = 3;
|
|
|
- VEOF = 4;
|
|
|
- VTIME = 5;
|
|
|
- VMIN = 6;
|
|
|
- VSWTC = 7;
|
|
|
- VSTART = 8;
|
|
|
- VSTOP = 9;
|
|
|
- VSUSP = 10;
|
|
|
- VEOL = 11;
|
|
|
- VREPRINT = 12;
|
|
|
- VDISCARD = 13;
|
|
|
- VWERASE = 14;
|
|
|
- VLNEXT = 15;
|
|
|
- VEOL2 = 16;
|
|
|
-
|
|
|
-{c_iflag bits}
|
|
|
- IGNBRK = $0000001;
|
|
|
- BRKINT = $0000002;
|
|
|
- IGNPAR = $0000004;
|
|
|
- PARMRK = $0000008;
|
|
|
- INPCK = $0000010;
|
|
|
- ISTRIP = $0000020;
|
|
|
- INLCR = $0000040;
|
|
|
- IGNCR = $0000080;
|
|
|
- ICRNL = $0000100;
|
|
|
- IUCLC = $0000200;
|
|
|
- IXON = $0000400;
|
|
|
- IXANY = $0000800;
|
|
|
- IXOFF = $0001000;
|
|
|
- IMAXBEL = $0002000;
|
|
|
-
|
|
|
-{c_oflag bits}
|
|
|
- OPOST = $0000001;
|
|
|
- OLCUC = $0000002;
|
|
|
- ONLCR = $0000004;
|
|
|
- OCRNL = $0000008;
|
|
|
- ONOCR = $0000010;
|
|
|
- ONLRET = $0000020;
|
|
|
- OFILL = $0000040;
|
|
|
- OFDEL = $0000080;
|
|
|
- NLDLY = $0000100;
|
|
|
- NL0 = $0000000;
|
|
|
- NL1 = $0000100;
|
|
|
- CRDLY = $0000600;
|
|
|
- CR0 = $0000000;
|
|
|
- CR1 = $0000200;
|
|
|
- CR2 = $0000400;
|
|
|
- CR3 = $0000600;
|
|
|
- TABDLY = $0001800;
|
|
|
- TAB0 = $0000000;
|
|
|
- TAB1 = $0000800;
|
|
|
- TAB2 = $0001000;
|
|
|
- TAB3 = $0001800;
|
|
|
- XTABS = $0001800;
|
|
|
- BSDLY = $0002000;
|
|
|
- BS0 = $0000000;
|
|
|
- BS1 = $0002000;
|
|
|
- VTDLY = $0004000;
|
|
|
- VT0 = $0000000;
|
|
|
- VT1 = $0004000;
|
|
|
- FFDLY = $0008000;
|
|
|
- FF0 = $0000000;
|
|
|
- FF1 = $0008000;
|
|
|
-
|
|
|
-{c_cflag bits}
|
|
|
- CBAUD = $000100F;
|
|
|
- B0 = $0000000;
|
|
|
- B50 = $0000001;
|
|
|
- B75 = $0000002;
|
|
|
- B110 = $0000003;
|
|
|
- B134 = $0000004;
|
|
|
- B150 = $0000005;
|
|
|
- B200 = $0000006;
|
|
|
- B300 = $0000007;
|
|
|
- B600 = $0000008;
|
|
|
- B1200 = $0000009;
|
|
|
- B1800 = $000000A;
|
|
|
- B2400 = $000000B;
|
|
|
- B4800 = $000000C;
|
|
|
- B9600 = $000000D;
|
|
|
- B19200 = $000000E;
|
|
|
- B38400 = $000000F;
|
|
|
- EXTA = B19200;
|
|
|
- EXTB = B38400;
|
|
|
- CSIZE = $0000030;
|
|
|
- CS5 = $0000000;
|
|
|
- CS6 = $0000010;
|
|
|
- CS7 = $0000020;
|
|
|
- CS8 = $0000030;
|
|
|
- CSTOPB = $0000040;
|
|
|
- CREAD = $0000080;
|
|
|
- PARENB = $0000100;
|
|
|
- PARODD = $0000200;
|
|
|
- HUPCL = $0000400;
|
|
|
- CLOCAL = $0000800;
|
|
|
- CBAUDEX = $0001000;
|
|
|
- B57600 = $0001001;
|
|
|
- B115200 = $0001002;
|
|
|
- B230400 = $0001003;
|
|
|
- B460800 = $0001004;
|
|
|
- CIBAUD = $100F0000;
|
|
|
- CMSPAR = $40000000;
|
|
|
- CRTSCTS = $80000000;
|
|
|
-
|
|
|
-{c_lflag bits}
|
|
|
- ISIG = $0000001;
|
|
|
- ICANON = $0000002;
|
|
|
- XCASE = $0000004;
|
|
|
- ECHO = $0000008;
|
|
|
- ECHOE = $0000010;
|
|
|
- ECHOK = $0000020;
|
|
|
- ECHONL = $0000040;
|
|
|
- NOFLSH = $0000080;
|
|
|
- TOSTOP = $0000100;
|
|
|
- ECHOCTL = $0000200;
|
|
|
- ECHOPRT = $0000400;
|
|
|
- ECHOKE = $0000800;
|
|
|
- FLUSHO = $0001000;
|
|
|
- PENDIN = $0004000;
|
|
|
- IEXTEN = $0008000;
|
|
|
-
|
|
|
-{c_line bits}
|
|
|
- TIOCM_LE = $001;
|
|
|
- TIOCM_DTR = $002;
|
|
|
- TIOCM_RTS = $004;
|
|
|
- TIOCM_ST = $008;
|
|
|
- TIOCM_SR = $010;
|
|
|
- TIOCM_CTS = $020;
|
|
|
- TIOCM_CAR = $040;
|
|
|
- TIOCM_RNG = $080;
|
|
|
- TIOCM_DSR = $100;
|
|
|
- TIOCM_CD = TIOCM_CAR;
|
|
|
- TIOCM_RI = TIOCM_RNG;
|
|
|
- TIOCM_OUT1 = $2000;
|
|
|
- TIOCM_OUT2 = $4000;
|
|
|
-
|
|
|
-{TCSetAttr}
|
|
|
- TCSANOW = 0;
|
|
|
- TCSADRAIN = 1;
|
|
|
- TCSAFLUSH = 2;
|
|
|
-
|
|
|
-{TCFlow}
|
|
|
- TCOOFF = 0;
|
|
|
- TCOON = 1;
|
|
|
- TCIOFF = 2;
|
|
|
- TCION = 3;
|
|
|
-
|
|
|
-{TCFlush}
|
|
|
- TCIFLUSH = 0;
|
|
|
- TCOFLUSH = 1;
|
|
|
- TCIOFLUSH = 2;
|
|
|
-
|
|
|
+{$I termios.inc}
|
|
|
|
|
|
{********************
|
|
|
Info
|
|
@@ -2799,7 +2538,11 @@ End.
|
|
|
|
|
|
{
|
|
|
$Log$
|
|
|
- Revision 1.2 2000-09-18 13:14:50 marco
|
|
|
+ Revision 1.3 2000-10-10 12:02:35 marco
|
|
|
+ * Terminal stuff of Linux moved to separate file. I think it is too
|
|
|
+ much to do with ifdefs.
|
|
|
+
|
|
|
+ Revision 1.2 2000/09/18 13:14:50 marco
|
|
|
* Global Linux +bsd to (rtl/freebsd rtl/unix rtl/linux structure)
|
|
|
|
|
|
Revision 1.7 2000/09/12 08:51:43 marco
|