diff --git a/rtl/linux/termios.inc b/rtl/linux/termios.inc index eebee3c662..0f4d67b27f 100644 --- a/rtl/linux/termios.inc +++ b/rtl/linux/termios.inc @@ -77,13 +77,6 @@ Const TIOCSERSETMULTI = $545b; TIOCMIWAIT = $545c; TIOCGICOUNT = $545d; - TIOCPKT_DATA = $0; - TIOCPKT_FLUSHREAD = $1; - TIOCPKT_FLUSHWRITE= $2; - TIOCPKT_STOP = $4; - TIOCPKT_START = $8; - TIOCPKT_NOSTOP = $10; - TIOCPKT_DOSTOP = $20; {c_cc characters} VINTR = 0; @@ -103,6 +96,200 @@ Const VSTOP = 14; VLNEXT = 15; VDISCARD = 16; + +{ c_iflag bits } + IGNBRK = &0000001; + BRKINT = &0000002; + IGNPAR = &0000004; + PARMRK = &0000010; + INPCK = &0000020; + ISTRIP = &0000040; + INLCR = &0000100; + IGNCR = &0000200; + ICRNL = &0000400; + IXON = &0001000; + IXOFF = &0002000; + IXANY = &0004000; + IUCLC = &0010000; + IMAXBEL= &0020000; + +{ c_oflag bits } + OPOST = &0000001; + ONLCR = &0000002; + OLCUC = &0000004; + OCRNL = &0000010; + ONOCR = &0000020; + ONLRET = &0000040; + + OFILL = &00000100; + OFDEL = &00000200; + NLDLY = &00001400; + NL0 = &00000000; + NL1 = &00000400; + NL2 = &00001000; + NL3 = &00001400; + TABDLY = &00006000; + TAB0 = &00000000; + TAB1 = &00002000; + TAB2 = &00004000; + TAB3 = &00006000; + CRDLY = &00030000; + CR0 = &00000000; + CR1 = &00010000; + CR2 = &00020000; + CR3 = &00030000; + FFDLY = &00040000; + FF0 = &00000000; + FF1 = &00040000; + BSDLY = &00100000; + BS0 = &00000000; + BS1 = &00100000; + VTDLY = &00200000; + VT0 = &00000000; + VT1 = &00200000; + XTABS = &01000000; { Hmm.. Linux/i386 considers this part of TABDLY.. } + +{ c_cflag bit meaning } + CBAUD = &0000377; + B0 = &0000000; { hang up } + B50 = &0000001; + B75 = &0000002; + B110 = &0000003; + B134 = &0000004; + B150 = &0000005; + B200 = &0000006; + B300 = &0000007; + B600 = &0000010; + B1200 = &0000011; + B1800 = &0000012; + B2400 = &0000013; + B4800 = &0000014; + B9600 = &0000015; + B19200= &0000016; + B38400= &0000017; + EXTA = B19200; + EXTB = B38400; + CBAUDEX = &0000020; + B57600 = &00020; + B115200 = &00021; + B230400 = &00022; + B460800 = &00023; + B500000 = &00024; + B576000 = &00025; + B921600 = &00026; + B1000000 = &00027; + B1152000 = &00030; + B1500000 = &00031; + B2000000 = &00032; + B2500000 = &00033; + B3000000 = &00034; + B3500000 = &00035; + B4000000 = &00036; + __MAX_BAUD= B4000000; + + CSIZE = &00001400; + CS5 = &00000000; + CS6 = &00000400; + CS7 = &00001000; + CS8 = &00001400; + + CSTOPB = &00002000; + CREAD = &00004000; + PARENB = &00010000; + PARODD = &00020000; + HUPCL = &00040000; + CLOCAL = &00100000; + CRTSCTS= &020000000000; { flow control } + +{ c_lflag bits } + ISIG = $00000080; + ICANON = $00000100; + XCASE = $00004000; + ECHO = $00000008; + ECHOE = $00000002; + ECHOK = $00000004; + ECHONL = $00000010; + NOFLSH = $80000000; + TOSTOP = $00400000; + ECHOCTL= $00000040; + ECHOPRT= $00000020; + ECHOKE = $00000001; + FLUSHO = $00800000; + PENDIN = $20000000; + IEXTEN = $00000400; + +{ Values for the ACTION argument to `tcflow'. } + TCOOFF = 0; + TCOON = 1; + TCIOFF = 2; + TCION = 3; + +{ Values for the QUEUE_SELECTOR argument to `tcflush'. } + TCIFLUSH = 0; + TCOFLUSH = 1; + TCIOFLUSH = 2; + +{ Values for the OPTIONAL_ACTIONS argument to `tcsetattr'. } + TCSANOW = 0; + TCSADRAIN = 1; + TCSAFLUSH = 2; + +{ Used for packet mode } + TIOCPKT_DATA = 0; + TIOCPKT_FLUSHREAD = 1; + TIOCPKT_FLUSHWRITE = 2; + TIOCPKT_STOP = 4; + TIOCPKT_START = 8; + TIOCPKT_NOSTOP = 16; + TIOCPKT_DOSTOP = 32; + +{ c_cc characters } + _VINTR = 0; + _VQUIT = 1; + _VERASE= 2; + _VKILL = 3; + _VEOF = 4; + _VMIN = 5; + _VEOL = 6; + _VTIME = 7; + _VEOL2 = 8; + _VSWTC = 9; + +{ modem lines } + 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; + +{ ioctl (fd, TIOCSERGETLSR, &result) where result may be as below } + TIOCSER_TEMT = $01; { Transmitter physically empty } + +{ line disciplines } + N_TTY = 0; + N_SLIP = 1; + N_MOUSE = 2; + N_PPP = 3; + N_STRIP = 4; + N_AX25 = 5; + N_X25 = 6; { X.25 async } + N_6PACK = 7; + N_MASC = 8; { Mobitex module } + N_R3964 = 9; { Simatic R3964 module } + N_PROFIBUS_FDL = 10; { Profibus } + N_IRDA = 11; { Linux IR } + N_SMSBLOCK = 12; { SMS block mode } + N_HDLC = 13; { synchronous HDLC } + N_SYNC_PPP = 14; { synchronous PPP } + N_HCI = 15; { Bluetooth HCI UART } + + {$endif cpupowerpc} {$ifdef cpui386} @@ -192,296 +379,7 @@ Const VWERASE = 14; VLNEXT = 15; VEOL2 = 16; -{$endif cpui386} -{$ifdef cpusparc} - TCGETA = $40125401; - TCSETA = $80125402; - TCSETAW = $80125403; - TCSETAF = $80125404; - TCSBRK = $20005405; - TCXONC = $20005406; - TCFLSH = $20005407; - TCGETS = $40245408; - TCSETS = $80245409; - TCSETSW = $8024540a; - TCSETSF = $8024540b; - TIOCGETD = $40047400; - TIOCSETD = $80047401; - TIOCEXCL = $2000740d; - TIOCNXCL = $2000740e; - TIOCCONS = $20007424; - TIOCGSOFTCAR = $40047464; - TIOCSSOFTCAR = $80047465; - TIOCSWINSZ = $80087467; - TIOCGWINSZ = $40087468; - TIOCMGET = $4004746a; - TIOCMBIC = $8004746b; - TIOCMBIS = $8004746c; - TIOCMSET = $8004746d; - TIOCSTART = $2000746e; - TIOCSTOP = $2000746f; - TIOCPKT = $80047470; - TIOCNOTTY = $20007471; - TIOCSTI = $80017472; - TIOCOUTQ = $40047473; - TIOCCBRK = $2000747a; - TIOCSBRK = $2000747b; - TIOCSPGRP = $80047482; - TIOCGPGRP = $40047483; - TIOCSCTTY = $20007484; - TIOCGSID = $40047485; - TIOCGPTN = $40047486; - TIOCSPTLCK = $80047487; - FIOCLEX = $20006601; - FIONCLEX = $20006602; - FIOASYNC = $8004667d; - FIONBIO = $8004667e; - FIONREAD = $4004667f; - TIOCINQ = $4004667f; - TIOCLINUX = $541c; - TIOCGSERIAL = $541e; - TIOCSSERIAL = $541f; - TCSBRKP = $5425; - TIOCTTYGSTRUCT = $5426; - 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 = $10; - TIOCPKT_DOSTOP = $20; - -{c_cc characters} - VINTR = 0; - VQUIT = 1; - VERASE = 2; - VKILL = 3; - VEOF = 4; - VEOL = 5; - VEOL2 = 6; - VSWTC = 7; - VSTART = 8; - VSTOP = 9; - VSUSP = 10; - VDSUSP = 11; - VREPRINT = 12; - VDISCARD = 13; - VWERASE = 14; - VLNEXT = 15; - VMIN = 4; - VTIME = 5; -{$endif cpusparc} - -{$ifdef cpux86_64} - 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; - TIOCSBRK = $5427; - TIOCCBRK = $5428; - TIOCGSID = $5429; - 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; - TIOCGHAYESESP = $545E; - TIOCSHAYESESP = $545F; - FIOQSIZE = $5460; - TIOCPKT_DATA = 0; - TIOCPKT_FLUSHREAD = 1; - TIOCPKT_FLUSHWRITE = 2; - TIOCPKT_STOP = 4; - TIOCPKT_START = 8; - TIOCPKT_NOSTOP = 16; - TIOCPKT_DOSTOP = 32; - TIOCSER_TEMT = $01; - -{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; -{$endif cpux86_64} - -{$ifdef cpuarm} - { 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; - FIOQSIZE = $545E; - - TIOCPKT_DATA = 0; - TIOCPKT_FLUSHREAD = 1; - TIOCPKT_FLUSHWRITE = 2; - TIOCPKT_STOP = 4; - TIOCPKT_START = 8; - TIOCPKT_NOSTOP = 16; - TIOCPKT_DOSTOP = 32; - -{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; -{$endif cpuarm} - -Type - winsize = packed record - ws_row, - ws_col, - ws_xpixel, - ws_ypixel : word; - end; - TWinSize=winsize; - -{$PACKRECORDS C} - Termios = record - c_iflag, - c_oflag, - c_cflag, - c_lflag : cardinal; - c_line : char; - c_cc : array[0..NCCS-1] of byte; - c_ispeed, - c_ospeed : cardinal; - end; - TTermios=Termios; -{$PACKRECORDS Default} - -const {c_iflag bits} IGNBRK = $0000001; BRKINT = $0000002; @@ -619,9 +517,715 @@ const TCOFLUSH = 1; TCIOFLUSH = 2; +{$endif cpui386} + +{$ifdef cpusparc} + TCGETA = $40125401; + TCSETA = $80125402; + TCSETAW = $80125403; + TCSETAF = $80125404; + TCSBRK = $20005405; + TCXONC = $20005406; + TCFLSH = $20005407; + TCGETS = $40245408; + TCSETS = $80245409; + TCSETSW = $8024540a; + TCSETSF = $8024540b; + TIOCGETD = $40047400; + TIOCSETD = $80047401; + TIOCEXCL = $2000740d; + TIOCNXCL = $2000740e; + TIOCCONS = $20007424; + TIOCGSOFTCAR = $40047464; + TIOCSSOFTCAR = $80047465; + TIOCSWINSZ = $80087467; + TIOCGWINSZ = $40087468; + TIOCMGET = $4004746a; + TIOCMBIC = $8004746b; + TIOCMBIS = $8004746c; + TIOCMSET = $8004746d; + TIOCSTART = $2000746e; + TIOCSTOP = $2000746f; + TIOCPKT = $80047470; + TIOCNOTTY = $20007471; + TIOCSTI = $80017472; + TIOCOUTQ = $40047473; + TIOCCBRK = $2000747a; + TIOCSBRK = $2000747b; + TIOCSPGRP = $80047482; + TIOCGPGRP = $40047483; + TIOCSCTTY = $20007484; + TIOCGSID = $40047485; + TIOCGPTN = $40047486; + TIOCSPTLCK = $80047487; + FIOCLEX = $20006601; + FIONCLEX = $20006602; + FIOASYNC = $8004667d; + FIONBIO = $8004667e; + FIONREAD = $4004667f; + TIOCINQ = $4004667f; + TIOCLINUX = $541c; + TIOCGSERIAL = $541e; + TIOCSSERIAL = $541f; + TCSBRKP = $5425; + TIOCTTYGSTRUCT = $5426; + 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 = $10; + TIOCPKT_DOSTOP = $20; + +{c_cc characters} + VINTR = 0; + VQUIT = 1; + VERASE = 2; + VKILL = 3; + VEOF = 4; + VEOL = 5; + VEOL2 = 6; + VSWTC = 7; + VSTART = 8; + VSTOP = 9; + VSUSP = 10; + VDSUSP = 11; + VREPRINT = 12; + VDISCARD = 13; + VWERASE = 14; + VLNEXT = 15; + VMIN = 4; + VTIME = 5; + +{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; + +{$endif cpusparc} + +{$ifdef cpux86_64} + 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; + TIOCSBRK = $5427; + TIOCCBRK = $5428; + TIOCGSID = $5429; + 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; + TIOCGHAYESESP = $545E; + TIOCSHAYESESP = $545F; + FIOQSIZE = $5460; + TIOCPKT_DATA = 0; + TIOCPKT_FLUSHREAD = 1; + TIOCPKT_FLUSHWRITE = 2; + TIOCPKT_STOP = 4; + TIOCPKT_START = 8; + TIOCPKT_NOSTOP = 16; + TIOCPKT_DOSTOP = 32; + TIOCSER_TEMT = $01; + +{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; + +{$endif cpux86_64} + +{$ifdef cpuarm} + { 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; + FIOQSIZE = $545E; + + TIOCPKT_DATA = 0; + TIOCPKT_FLUSHREAD = 1; + TIOCPKT_FLUSHWRITE = 2; + TIOCPKT_STOP = 4; + TIOCPKT_START = 8; + TIOCPKT_NOSTOP = 16; + TIOCPKT_DOSTOP = 32; + +{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; + +{$endif cpuarm} + +Type + winsize = packed record + ws_row, + ws_col, + ws_xpixel, + ws_ypixel : word; + end; + TWinSize=winsize; + +{$PACKRECORDS C} + Termios = record + c_iflag, + c_oflag, + c_cflag, + c_lflag : cardinal; + c_line : char; + c_cc : array[0..NCCS-1] of byte; + c_ispeed, + c_ospeed : cardinal; + end; + TTermios=Termios; +{$PACKRECORDS Default} + { $Log$ - Revision 1.13 2005-02-14 17:13:30 peter + Revision 1.14 2005-04-25 10:26:21 marco + * most constants now arch dependant due to ppc. Other archs still have to be checked + + Revision 1.13 2005/02/14 17:13:30 peter * truncate log }