123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642 |
- {
- $Id$
- This file is part of the Free Pascal run time library.
- Copyright (c) 1999-2004 by Marco van de Voort
- member of the Free Pascal development team
- ioctls constants for linux
- See the file COPYING.FPC, included in this distribution,
- for details about the copyright.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- **********************************************************************}
- {********************
- IOCtl(TermIOS)
- ********************}
- Const
- { Amount of Control Chars }
- NCCS = 32;
- NCC = 8;
- {$ifdef cpupowerpc}
- TCGETS = $402c7413;
- TCSETS = $802c7414;
- TCSETSW = $802c7415;
- TCSETSF = $802c7416;
- TCGETA = $40147417;
- TCSETA = $80147418;
- TCSETAW = $80147419;
- TCSETAF = $8014741c;
- TCSBRK = $2000741d;
- TCXONC = $2000741e;
- TCFLSH = $2000741f;
- TIOCEXCL = $540c;
- TIOCNXCL = $540d;
- TIOCSCTTY = $540e;
- TIOCGPGRP = $40047477;
- TIOCSPGRP = $80047476;
- TIOCOUTQ = $40047473;
- TIOCSTI = $5412;
- TIOCGWINSZ = $40087468;
- TIOCSWINSZ = $80087467;
- TIOCMGET = $5415;
- TIOCMBIS = $5416;
- TIOCMBIC = $5417;
- TIOCMSET = $5418;
- TIOCGSOFTCAR = $5419;
- TIOCSSOFTCAR = $541a;
- FIONREAD = $4004667f;
- TIOCINQ = $4004667f;
- TIOCLINUX = $541c;
- TIOCCONS = $541d;
- TIOCGSERIAL = $541e;
- TIOCSSERIAL = $541f;
- TIOCPKT = $5420;
- FIONBIO = $8004667e;
- TIOCNOTTY = $5422;
- TIOCSETD = $5423;
- TIOCGETD = $5424;
- TCSBRKP = $5425;
- TIOCTTYGSTRUCT = $5426;
- FIONCLEX = $20006602;
- FIOCLEX = $20006601;
- FIOASYNC = $8004667d;
- 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;
- VMIN = 5;
- VEOL = 6;
- VTIME = 7;
- VEOL2 = 8;
- VSWTC = 9;
- VWERASE = 10;
- VREPRINT = 11;
- VSUSP = 12;
- VSTART = 13;
- VSTOP = 14;
- VLNEXT = 15;
- VDISCARD = 16;
- {$endif cpupowerpc}
- {$ifdef cpui386}
- { 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;
- 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;
-
- {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 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;
- 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;
- {
- $Log$
- Revision 1.12 2004-12-28 15:30:04 florian
- * fixed raw mode for non i386 targets
- * fixed some alignment issues
- Revision 1.11 2004/11/03 12:24:56 peter
- * remove comment level 2 warning
- Revision 1.10 2004/10/31 16:05:23 florian
- + added ioctl constants for arm
- Revision 1.9 2004/10/04 21:06:45 florian
- + added x84_64 ioctls
- Revision 1.8 2004/10/03 17:43:47 florian
- * fixedPreviousFramePointer on sparc
- Revision 1.7 2004/02/21 16:24:47 marco
- * ppc ioctl nr fixed
- }
|