termios.inc 57 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793
  1. {
  2. This file is part of the Free Pascal run time library.
  3. Copyright (c) 1999-2004 by Marco van de Voort
  4. member of the Free Pascal development team
  5. ioctls constants for linux
  6. See the file COPYING.FPC, included in this distribution,
  7. for details about the copyright.
  8. This program is distributed in the hope that it will be useful,
  9. but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  11. **********************************************************************}
  12. {********************
  13. IOCtl(TermIOS)
  14. ********************}
  15. Const
  16. { Amount of Control Chars }
  17. NCCS = 32;
  18. NCC = 8;
  19. {$ifdef cpuaarch64}
  20. { from Linux 4.0, include/uapi/asm-generic/ioctls.h }
  21. { For Terminal handling }
  22. TCGETS = $5401;
  23. TCSETS = $5402;
  24. TCSETSW = $5403;
  25. TCSETSF = $5404;
  26. TCGETA = $5405;
  27. TCSETA = $5406;
  28. TCSETAW = $5407;
  29. TCSETAF = $5408;
  30. TCSBRK = $5409;
  31. TCXONC = $540A;
  32. TCFLSH = $540B;
  33. TIOCEXCL = $540C;
  34. TIOCNXCL = $540D;
  35. TIOCSCTTY = $540E;
  36. TIOCGPGRP = $540F;
  37. TIOCSPGRP = $5410;
  38. TIOCOUTQ = $5411;
  39. TIOCSTI = $5412;
  40. TIOCGWINSZ = $5413;
  41. TIOCSWINSZ = $5414;
  42. TIOCMGET = $5415;
  43. TIOCMBIS = $5416;
  44. TIOCMBIC = $5417;
  45. TIOCMSET = $5418;
  46. TIOCGSOFTCAR = $5419;
  47. TIOCSSOFTCAR = $541A;
  48. FIONREAD = $541B;
  49. TIOCINQ = FIONREAD;
  50. TIOCLINUX = $541C;
  51. TIOCCONS = $541D;
  52. TIOCGSERIAL = $541E;
  53. TIOCSSERIAL = $541F;
  54. TIOCPKT = $5420;
  55. FIONBIO = $5421;
  56. TIOCNOTTY = $5422;
  57. TIOCSETD = $5423;
  58. TIOCGETD = $5424;
  59. TCSBRKP = $5425;
  60. TIOCSBRK = $5427;
  61. TIOCCBRK = $5428;
  62. TIOCGSID = $5429;
  63. TIOCGRS485 = $542E;
  64. TIOCSRS485 = $542F;
  65. TCGETX = $5432;
  66. TCSETX = $5433;
  67. TCSETXF = $5434;
  68. TCSETXW = $5435;
  69. TIOCVHANGUP = $5437;
  70. FIONCLEX = $5450;
  71. FIOCLEX = $5451;
  72. FIOASYNC = $5452;
  73. TIOCSERCONFIG = $5453;
  74. TIOCSERGWILD = $5454;
  75. TIOCSERSWILD = $5455;
  76. TIOCGLCKTRMIOS = $5456;
  77. TIOCSLCKTRMIOS = $5457;
  78. TIOCSERGSTRUCT = $5458;
  79. TIOCSERGETLSR = $5459;
  80. TIOCSERGETMULTI = $545A;
  81. TIOCSERSETMULTI = $545B;
  82. TIOCMIWAIT = $545C;
  83. TIOCGICOUNT = $545D;
  84. FIOQSIZE = $5460;
  85. TIOCPKT_DATA = 0;
  86. TIOCPKT_FLUSHREAD = 1;
  87. TIOCPKT_FLUSHWRITE = 2;
  88. TIOCPKT_STOP = 4;
  89. TIOCPKT_START = 8;
  90. TIOCPKT_NOSTOP = 16;
  91. TIOCPKT_DOSTOP = 32;
  92. TIOCPKT_IOCTL = 64;
  93. TIOCSER_TEMT = $01;
  94. { from Linux 4.0, include/uapi/asm-generic/termbits.h }
  95. { c_cc characters }
  96. VINTR = 0;
  97. VQUIT = 1;
  98. VERASE = 2;
  99. VKILL = 3;
  100. VEOF = 4;
  101. VTIME = 5;
  102. VMIN = 6;
  103. VSWTC = 7;
  104. VSTART = 8;
  105. VSTOP = 9;
  106. VSUSP = 10;
  107. VEOL = 11;
  108. VREPRINT = 12;
  109. VDISCARD = 13;
  110. VWERASE = 14;
  111. VLNEXT = 15;
  112. VEOL2 = 16;
  113. { c_iflag bits }
  114. IGNBRK = &0000001;
  115. BRKINT = &0000002;
  116. IGNPAR = &0000004;
  117. PARMRK = &0000010;
  118. INPCK = &0000020;
  119. ISTRIP = &0000040;
  120. INLCR = &0000100;
  121. IGNCR = &0000200;
  122. ICRNL = &0000400;
  123. IUCLC = &0001000;
  124. IXON = &0002000;
  125. IXANY = &0004000;
  126. IXOFF = &0010000;
  127. IMAXBEL = &0020000;
  128. IUTF8 = &0040000;
  129. { c_oflag bits }
  130. OPOST = &0000001;
  131. OLCUC = &0000002;
  132. ONLCR = &0000004;
  133. OCRNL = &0000010;
  134. ONOCR = &0000020;
  135. ONLRET = &0000040;
  136. OFILL = &0000100;
  137. OFDEL = &0000200;
  138. NLDLY = &0000400;
  139. NL0 = &0000000;
  140. NL1 = &0000400;
  141. CRDLY = &0003000;
  142. CR0 = &0000000;
  143. CR1 = &0001000;
  144. CR2 = &0002000;
  145. CR3 = &0003000;
  146. TABDLY = &0014000;
  147. TAB0 = &0000000;
  148. TAB1 = &0004000;
  149. TAB2 = &0010000;
  150. TAB3 = &0014000;
  151. XTABS = &0014000;
  152. BSDLY = &0020000;
  153. BS0 = &0000000;
  154. BS1 = &0020000;
  155. VTDLY = &0040000;
  156. VT0 = &0000000;
  157. VT1 = &0040000;
  158. FFDLY = &0100000;
  159. FF0 = &0000000;
  160. FF1 = &0100000;
  161. { c_cflag bits }
  162. CBAUD = &0010017;
  163. B0 = &0000000;
  164. B50 = &0000001;
  165. B75 = &0000002;
  166. B110 = &0000003;
  167. B134 = &0000004;
  168. B150 = &0000005;
  169. B200 = &0000006;
  170. B300 = &0000007;
  171. B600 = &0000010;
  172. B1200 = &0000011;
  173. B1800 = &0000012;
  174. B2400 = &0000013;
  175. B4800 = &0000014;
  176. B9600 = &0000015;
  177. B19200 = &0000016;
  178. B38400 = &0000017;
  179. EXTA = B19200;
  180. EXTB = B38400;
  181. CSIZE = &0000060;
  182. CS5 = &0000000;
  183. CS6 = &0000020;
  184. CS7 = &0000040;
  185. CS8 = &0000060;
  186. CSTOPB = &0000100;
  187. CREAD = &0000200;
  188. PARENB = &0000400;
  189. PARODD = &0001000;
  190. HUPCL = &0002000;
  191. CLOCAL = &0004000;
  192. CBAUDEX = &0010000;
  193. BOTHER = &0010000;
  194. B57600 = &0010001;
  195. B115200 = &0010002;
  196. B230400 = &0010003;
  197. B460800 = &0010004;
  198. B500000 = &0010005;
  199. B576000 = &0010006;
  200. B921600 = &0010007;
  201. B1000000 = &0010010;
  202. B1152000 = &0010011;
  203. B1500000 = &0010012;
  204. B2000000 = &0010013;
  205. B2500000 = &0010014;
  206. B3000000 = &0010015;
  207. B3500000 = &0010016;
  208. B4000000 = &0010017;
  209. __MAX_BAUD = B4000000;
  210. CIBAUD = &002003600000;
  211. CMSPAR = &010000000000;
  212. CRTSCTS = &020000000000;
  213. IBSHIFT = 16;
  214. { c_lflag bits }
  215. ISIG = &0000001;
  216. ICANON = &0000002;
  217. XCASE = &0000004;
  218. ECHO = &0000010;
  219. ECHOE = &0000020;
  220. ECHOK = &0000040;
  221. ECHONL = &0000100;
  222. NOFLSH = &0000200;
  223. TOSTOP = &0000400;
  224. ECHOCTL = &0001000;
  225. ECHOPRT = &0002000;
  226. ECHOKE = &0004000;
  227. FLUSHO = &0010000;
  228. PENDIN = &0040000;
  229. IEXTEN = &0100000;
  230. EXTPROC = &0200000;
  231. { TCFlow }
  232. TCOOFF = 0;
  233. TCOON = 1;
  234. TCIOFF = 2;
  235. TCION = 3;
  236. { TCFlush }
  237. TCIFLUSH = 0;
  238. TCOFLUSH = 1;
  239. TCIOFLUSH = 2;
  240. { TCSetAttr }
  241. TCSANOW = 0;
  242. TCSADRAIN = 1;
  243. TCSAFLUSH = 2;
  244. { from Linux 4.0, include/uapi/asm-generic/termios.h }
  245. { c_line bits }
  246. TIOCM_LE = $001;
  247. TIOCM_DTR = $002;
  248. TIOCM_RTS = $004;
  249. TIOCM_ST = $008;
  250. TIOCM_SR = $010;
  251. TIOCM_CTS = $020;
  252. TIOCM_CAR = $040;
  253. TIOCM_RNG = $080;
  254. TIOCM_DSR = $100;
  255. TIOCM_CD = TIOCM_CAR;
  256. TIOCM_RI = TIOCM_RNG;
  257. TIOCM_OUT1 = $2000;
  258. TIOCM_OUT2 = $4000;
  259. TIOCM_LOOP = $8000;
  260. {$endif cpuaarch64}
  261. {$ifdef cpupowerpc}
  262. TCGETS = $402c7413;
  263. TCSETS = $802c7414;
  264. TCSETSW = $802c7415;
  265. TCSETSF = $802c7416;
  266. TCGETA = $40147417;
  267. TCSETA = $80147418;
  268. TCSETAW = $80147419;
  269. TCSETAF = $8014741c;
  270. TCSBRK = $2000741d;
  271. TCXONC = $2000741e;
  272. TCFLSH = $2000741f;
  273. TIOCEXCL = $540c;
  274. TIOCNXCL = $540d;
  275. TIOCSCTTY = $540e;
  276. TIOCGPGRP = $40047477;
  277. TIOCSPGRP = $80047476;
  278. TIOCOUTQ = $40047473;
  279. TIOCSTI = $5412;
  280. TIOCGWINSZ = $40087468;
  281. TIOCSWINSZ = $80087467;
  282. TIOCMGET = $5415;
  283. TIOCMBIS = $5416;
  284. TIOCMBIC = $5417;
  285. TIOCMSET = $5418;
  286. TIOCGSOFTCAR = $5419;
  287. TIOCSSOFTCAR = $541a;
  288. FIONREAD = $4004667f;
  289. TIOCINQ = $4004667f;
  290. TIOCLINUX = $541c;
  291. TIOCCONS = $541d;
  292. TIOCGSERIAL = $541e;
  293. TIOCSSERIAL = $541f;
  294. TIOCPKT = $5420;
  295. FIONBIO = $8004667e;
  296. TIOCNOTTY = $5422;
  297. TIOCSETD = $5423;
  298. TIOCGETD = $5424;
  299. TCSBRKP = $5425;
  300. TIOCTTYGSTRUCT = $5426;
  301. FIONCLEX = $20006602;
  302. FIOCLEX = $20006601;
  303. FIOASYNC = $8004667d;
  304. TIOCSERCONFIG = $5453;
  305. TIOCSERGWILD = $5454;
  306. TIOCSERSWILD = $5455;
  307. TIOCGLCKTRMIOS = $5456;
  308. TIOCSLCKTRMIOS = $5457;
  309. TIOCSERGSTRUCT = $5458;
  310. TIOCSERGETLSR = $5459;
  311. TIOCSERGETMULTI = $545a;
  312. TIOCSERSETMULTI = $545b;
  313. TIOCMIWAIT = $545c;
  314. TIOCGICOUNT = $545d;
  315. {c_cc characters}
  316. VINTR = 0;
  317. VQUIT = 1;
  318. VERASE = 2;
  319. VKILL = 3;
  320. VEOF = 4;
  321. VMIN = 5;
  322. VEOL = 6;
  323. VTIME = 7;
  324. VEOL2 = 8;
  325. VSWTC = 9;
  326. VWERASE = 10;
  327. VREPRINT = 11;
  328. VSUSP = 12;
  329. VSTART = 13;
  330. VSTOP = 14;
  331. VLNEXT = 15;
  332. VDISCARD = 16;
  333. { c_iflag bits }
  334. IGNBRK = &0000001;
  335. BRKINT = &0000002;
  336. IGNPAR = &0000004;
  337. PARMRK = &0000010;
  338. INPCK = &0000020;
  339. ISTRIP = &0000040;
  340. INLCR = &0000100;
  341. IGNCR = &0000200;
  342. ICRNL = &0000400;
  343. IXON = &0001000;
  344. IXOFF = &0002000;
  345. IXANY = &0004000;
  346. IUCLC = &0010000;
  347. IMAXBEL= &0020000;
  348. { c_oflag bits }
  349. OPOST = &0000001;
  350. ONLCR = &0000002;
  351. OLCUC = &0000004;
  352. OCRNL = &0000010;
  353. ONOCR = &0000020;
  354. ONLRET = &0000040;
  355. OFILL = &00000100;
  356. OFDEL = &00000200;
  357. NLDLY = &00001400;
  358. NL0 = &00000000;
  359. NL1 = &00000400;
  360. NL2 = &00001000;
  361. NL3 = &00001400;
  362. TABDLY = &00006000;
  363. TAB0 = &00000000;
  364. TAB1 = &00002000;
  365. TAB2 = &00004000;
  366. TAB3 = &00006000;
  367. CRDLY = &00030000;
  368. CR0 = &00000000;
  369. CR1 = &00010000;
  370. CR2 = &00020000;
  371. CR3 = &00030000;
  372. FFDLY = &00040000;
  373. FF0 = &00000000;
  374. FF1 = &00040000;
  375. BSDLY = &00100000;
  376. BS0 = &00000000;
  377. BS1 = &00100000;
  378. VTDLY = &00200000;
  379. VT0 = &00000000;
  380. VT1 = &00200000;
  381. XTABS = &01000000; { Hmm.. Linux/i386 considers this part of TABDLY.. }
  382. { c_cflag bit meaning }
  383. CBAUD = &0000377;
  384. B0 = &0000000; { hang up }
  385. B50 = &0000001;
  386. B75 = &0000002;
  387. B110 = &0000003;
  388. B134 = &0000004;
  389. B150 = &0000005;
  390. B200 = &0000006;
  391. B300 = &0000007;
  392. B600 = &0000010;
  393. B1200 = &0000011;
  394. B1800 = &0000012;
  395. B2400 = &0000013;
  396. B4800 = &0000014;
  397. B9600 = &0000015;
  398. B19200= &0000016;
  399. B38400= &0000017;
  400. EXTA = B19200;
  401. EXTB = B38400;
  402. CBAUDEX = &0000020;
  403. B57600 = &00020;
  404. B115200 = &00021;
  405. B230400 = &00022;
  406. B460800 = &00023;
  407. B500000 = &00024;
  408. B576000 = &00025;
  409. B921600 = &00026;
  410. B1000000 = &00027;
  411. B1152000 = &00030;
  412. B1500000 = &00031;
  413. B2000000 = &00032;
  414. B2500000 = &00033;
  415. B3000000 = &00034;
  416. B3500000 = &00035;
  417. B4000000 = &00036;
  418. __MAX_BAUD = B4000000;
  419. CSIZE = &00001400;
  420. CS5 = &00000000;
  421. CS6 = &00000400;
  422. CS7 = &00001000;
  423. CS8 = &00001400;
  424. CSTOPB = &00002000;
  425. CREAD = &00004000;
  426. PARENB = &00010000;
  427. PARODD = &00020000;
  428. HUPCL = &00040000;
  429. CLOCAL = &00100000;
  430. CRTSCTS= &020000000000; { flow control }
  431. { c_lflag bits }
  432. ISIG = $00000080;
  433. ICANON = $00000100;
  434. XCASE = $00004000;
  435. ECHO = $00000008;
  436. ECHOE = $00000002;
  437. ECHOK = $00000004;
  438. ECHONL = $00000010;
  439. NOFLSH = $80000000;
  440. TOSTOP = $00400000;
  441. ECHOCTL= $00000040;
  442. ECHOPRT= $00000020;
  443. ECHOKE = $00000001;
  444. FLUSHO = $00800000;
  445. PENDIN = $20000000;
  446. IEXTEN = $00000400;
  447. { Values for the ACTION argument to `tcflow'. }
  448. TCOOFF = 0;
  449. TCOON = 1;
  450. TCIOFF = 2;
  451. TCION = 3;
  452. { Values for the QUEUE_SELECTOR argument to `tcflush'. }
  453. TCIFLUSH = 0;
  454. TCOFLUSH = 1;
  455. TCIOFLUSH = 2;
  456. { Values for the OPTIONAL_ACTIONS argument to `tcsetattr'. }
  457. TCSANOW = 0;
  458. TCSADRAIN = 1;
  459. TCSAFLUSH = 2;
  460. { Used for packet mode }
  461. TIOCPKT_DATA = 0;
  462. TIOCPKT_FLUSHREAD = 1;
  463. TIOCPKT_FLUSHWRITE = 2;
  464. TIOCPKT_STOP = 4;
  465. TIOCPKT_START = 8;
  466. TIOCPKT_NOSTOP = 16;
  467. TIOCPKT_DOSTOP = 32;
  468. { c_cc characters }
  469. _VINTR = 0;
  470. _VQUIT = 1;
  471. _VERASE= 2;
  472. _VKILL = 3;
  473. _VEOF = 4;
  474. _VMIN = 5;
  475. _VEOL = 6;
  476. _VTIME = 7;
  477. _VEOL2 = 8;
  478. _VSWTC = 9;
  479. { modem lines }
  480. TIOCM_LE = $001;
  481. TIOCM_DTR = $002;
  482. TIOCM_RTS = $004;
  483. TIOCM_ST = $008;
  484. TIOCM_SR = $010;
  485. TIOCM_CTS = $020;
  486. TIOCM_CAR = $040;
  487. TIOCM_RNG = $080;
  488. TIOCM_DSR = $100;
  489. TIOCM_CD = TIOCM_CAR;
  490. TIOCM_RI = TIOCM_RNG;
  491. { ioctl (fd, TIOCSERGETLSR, &result) where result may be as below }
  492. TIOCSER_TEMT = $01; { Transmitter physically empty }
  493. { line disciplines }
  494. N_TTY = 0;
  495. N_SLIP = 1;
  496. N_MOUSE = 2;
  497. N_PPP = 3;
  498. N_STRIP = 4;
  499. N_AX25 = 5;
  500. N_X25 = 6; { X.25 async }
  501. N_6PACK = 7;
  502. N_MASC = 8; { Mobitex module }
  503. N_R3964 = 9; { Simatic R3964 module }
  504. N_PROFIBUS_FDL = 10; { Profibus }
  505. N_IRDA = 11; { Linux IR }
  506. N_SMSBLOCK = 12; { SMS block mode }
  507. N_HDLC = 13; { synchronous HDLC }
  508. N_SYNC_PPP = 14; { synchronous PPP }
  509. N_HCI = 15; { Bluetooth HCI UART }
  510. {$endif cpupowerpc}
  511. {$ifdef cpuriscv32}
  512. { from Linux 4.0, include/uapi/asm-generic/ioctls.h }
  513. { For Terminal handling }
  514. TCGETS = $5401;
  515. TCSETS = $5402;
  516. TCSETSW = $5403;
  517. TCSETSF = $5404;
  518. TCGETA = $5405;
  519. TCSETA = $5406;
  520. TCSETAW = $5407;
  521. TCSETAF = $5408;
  522. TCSBRK = $5409;
  523. TCXONC = $540A;
  524. TCFLSH = $540B;
  525. TIOCEXCL = $540C;
  526. TIOCNXCL = $540D;
  527. TIOCSCTTY = $540E;
  528. TIOCGPGRP = $540F;
  529. TIOCSPGRP = $5410;
  530. TIOCOUTQ = $5411;
  531. TIOCSTI = $5412;
  532. TIOCGWINSZ = $5413;
  533. TIOCSWINSZ = $5414;
  534. TIOCMGET = $5415;
  535. TIOCMBIS = $5416;
  536. TIOCMBIC = $5417;
  537. TIOCMSET = $5418;
  538. TIOCGSOFTCAR = $5419;
  539. TIOCSSOFTCAR = $541A;
  540. FIONREAD = $541B;
  541. TIOCINQ = FIONREAD;
  542. TIOCLINUX = $541C;
  543. TIOCCONS = $541D;
  544. TIOCGSERIAL = $541E;
  545. TIOCSSERIAL = $541F;
  546. TIOCPKT = $5420;
  547. FIONBIO = $5421;
  548. TIOCNOTTY = $5422;
  549. TIOCSETD = $5423;
  550. TIOCGETD = $5424;
  551. TCSBRKP = $5425;
  552. TIOCSBRK = $5427;
  553. TIOCCBRK = $5428;
  554. TIOCGSID = $5429;
  555. TIOCGRS485 = $542E;
  556. TIOCSRS485 = $542F;
  557. TCGETX = $5432;
  558. TCSETX = $5433;
  559. TCSETXF = $5434;
  560. TCSETXW = $5435;
  561. TIOCVHANGUP = $5437;
  562. FIONCLEX = $5450;
  563. FIOCLEX = $5451;
  564. FIOASYNC = $5452;
  565. TIOCSERCONFIG = $5453;
  566. TIOCSERGWILD = $5454;
  567. TIOCSERSWILD = $5455;
  568. TIOCGLCKTRMIOS = $5456;
  569. TIOCSLCKTRMIOS = $5457;
  570. TIOCSERGSTRUCT = $5458;
  571. TIOCSERGETLSR = $5459;
  572. TIOCSERGETMULTI = $545A;
  573. TIOCSERSETMULTI = $545B;
  574. TIOCMIWAIT = $545C;
  575. TIOCGICOUNT = $545D;
  576. FIOQSIZE = $5460;
  577. TIOCPKT_DATA = 0;
  578. TIOCPKT_FLUSHREAD = 1;
  579. TIOCPKT_FLUSHWRITE = 2;
  580. TIOCPKT_STOP = 4;
  581. TIOCPKT_START = 8;
  582. TIOCPKT_NOSTOP = 16;
  583. TIOCPKT_DOSTOP = 32;
  584. TIOCPKT_IOCTL = 64;
  585. TIOCSER_TEMT = $01;
  586. { from Linux 4.0, include/uapi/asm-generic/termbits.h }
  587. { c_cc characters }
  588. VINTR = 0;
  589. VQUIT = 1;
  590. VERASE = 2;
  591. VKILL = 3;
  592. VEOF = 4;
  593. VTIME = 5;
  594. VMIN = 6;
  595. VSWTC = 7;
  596. VSTART = 8;
  597. VSTOP = 9;
  598. VSUSP = 10;
  599. VEOL = 11;
  600. VREPRINT = 12;
  601. VDISCARD = 13;
  602. VWERASE = 14;
  603. VLNEXT = 15;
  604. VEOL2 = 16;
  605. { c_iflag bits }
  606. IGNBRK = &0000001;
  607. BRKINT = &0000002;
  608. IGNPAR = &0000004;
  609. PARMRK = &0000010;
  610. INPCK = &0000020;
  611. ISTRIP = &0000040;
  612. INLCR = &0000100;
  613. IGNCR = &0000200;
  614. ICRNL = &0000400;
  615. IUCLC = &0001000;
  616. IXON = &0002000;
  617. IXANY = &0004000;
  618. IXOFF = &0010000;
  619. IMAXBEL = &0020000;
  620. IUTF8 = &0040000;
  621. { c_oflag bits }
  622. OPOST = &0000001;
  623. OLCUC = &0000002;
  624. ONLCR = &0000004;
  625. OCRNL = &0000010;
  626. ONOCR = &0000020;
  627. ONLRET = &0000040;
  628. OFILL = &0000100;
  629. OFDEL = &0000200;
  630. NLDLY = &0000400;
  631. NL0 = &0000000;
  632. NL1 = &0000400;
  633. CRDLY = &0003000;
  634. CR0 = &0000000;
  635. CR1 = &0001000;
  636. CR2 = &0002000;
  637. CR3 = &0003000;
  638. TABDLY = &0014000;
  639. TAB0 = &0000000;
  640. TAB1 = &0004000;
  641. TAB2 = &0010000;
  642. TAB3 = &0014000;
  643. XTABS = &0014000;
  644. BSDLY = &0020000;
  645. BS0 = &0000000;
  646. BS1 = &0020000;
  647. VTDLY = &0040000;
  648. VT0 = &0000000;
  649. VT1 = &0040000;
  650. FFDLY = &0100000;
  651. FF0 = &0000000;
  652. FF1 = &0100000;
  653. { c_cflag bits }
  654. CBAUD = &0010017;
  655. B0 = &0000000;
  656. B50 = &0000001;
  657. B75 = &0000002;
  658. B110 = &0000003;
  659. B134 = &0000004;
  660. B150 = &0000005;
  661. B200 = &0000006;
  662. B300 = &0000007;
  663. B600 = &0000010;
  664. B1200 = &0000011;
  665. B1800 = &0000012;
  666. B2400 = &0000013;
  667. B4800 = &0000014;
  668. B9600 = &0000015;
  669. B19200 = &0000016;
  670. B38400 = &0000017;
  671. EXTA = B19200;
  672. EXTB = B38400;
  673. CSIZE = &0000060;
  674. CS5 = &0000000;
  675. CS6 = &0000020;
  676. CS7 = &0000040;
  677. CS8 = &0000060;
  678. CSTOPB = &0000100;
  679. CREAD = &0000200;
  680. PARENB = &0000400;
  681. PARODD = &0001000;
  682. HUPCL = &0002000;
  683. CLOCAL = &0004000;
  684. CBAUDEX = &0010000;
  685. BOTHER = &0010000;
  686. B57600 = &0010001;
  687. B115200 = &0010002;
  688. B230400 = &0010003;
  689. B460800 = &0010004;
  690. B500000 = &0010005;
  691. B576000 = &0010006;
  692. B921600 = &0010007;
  693. B1000000 = &0010010;
  694. B1152000 = &0010011;
  695. B1500000 = &0010012;
  696. B2000000 = &0010013;
  697. B2500000 = &0010014;
  698. B3000000 = &0010015;
  699. B3500000 = &0010016;
  700. B4000000 = &0010017;
  701. __MAX_BAUD = B4000000;
  702. CIBAUD = &002003600000;
  703. CMSPAR = &010000000000;
  704. CRTSCTS = &020000000000;
  705. IBSHIFT = 16;
  706. { c_lflag bits }
  707. ISIG = &0000001;
  708. ICANON = &0000002;
  709. XCASE = &0000004;
  710. ECHO = &0000010;
  711. ECHOE = &0000020;
  712. ECHOK = &0000040;
  713. ECHONL = &0000100;
  714. NOFLSH = &0000200;
  715. TOSTOP = &0000400;
  716. ECHOCTL = &0001000;
  717. ECHOPRT = &0002000;
  718. ECHOKE = &0004000;
  719. FLUSHO = &0010000;
  720. PENDIN = &0040000;
  721. IEXTEN = &0100000;
  722. EXTPROC = &0200000;
  723. { TCFlow }
  724. TCOOFF = 0;
  725. TCOON = 1;
  726. TCIOFF = 2;
  727. TCION = 3;
  728. { TCFlush }
  729. TCIFLUSH = 0;
  730. TCOFLUSH = 1;
  731. TCIOFLUSH = 2;
  732. { TCSetAttr }
  733. TCSANOW = 0;
  734. TCSADRAIN = 1;
  735. TCSAFLUSH = 2;
  736. { from Linux 4.0, include/uapi/asm-generic/termios.h }
  737. { c_line bits }
  738. TIOCM_LE = $001;
  739. TIOCM_DTR = $002;
  740. TIOCM_RTS = $004;
  741. TIOCM_ST = $008;
  742. TIOCM_SR = $010;
  743. TIOCM_CTS = $020;
  744. TIOCM_CAR = $040;
  745. TIOCM_RNG = $080;
  746. TIOCM_DSR = $100;
  747. TIOCM_CD = TIOCM_CAR;
  748. TIOCM_RI = TIOCM_RNG;
  749. TIOCM_OUT1 = $2000;
  750. TIOCM_OUT2 = $4000;
  751. TIOCM_LOOP = $8000;
  752. {$endif cpuriscv32}
  753. {$ifdef cpuriscv64}
  754. { from Linux 4.0, include/uapi/asm-generic/ioctls.h }
  755. { For Terminal handling }
  756. TCGETS = $5401;
  757. TCSETS = $5402;
  758. TCSETSW = $5403;
  759. TCSETSF = $5404;
  760. TCGETA = $5405;
  761. TCSETA = $5406;
  762. TCSETAW = $5407;
  763. TCSETAF = $5408;
  764. TCSBRK = $5409;
  765. TCXONC = $540A;
  766. TCFLSH = $540B;
  767. TIOCEXCL = $540C;
  768. TIOCNXCL = $540D;
  769. TIOCSCTTY = $540E;
  770. TIOCGPGRP = $540F;
  771. TIOCSPGRP = $5410;
  772. TIOCOUTQ = $5411;
  773. TIOCSTI = $5412;
  774. TIOCGWINSZ = $5413;
  775. TIOCSWINSZ = $5414;
  776. TIOCMGET = $5415;
  777. TIOCMBIS = $5416;
  778. TIOCMBIC = $5417;
  779. TIOCMSET = $5418;
  780. TIOCGSOFTCAR = $5419;
  781. TIOCSSOFTCAR = $541A;
  782. FIONREAD = $541B;
  783. TIOCINQ = FIONREAD;
  784. TIOCLINUX = $541C;
  785. TIOCCONS = $541D;
  786. TIOCGSERIAL = $541E;
  787. TIOCSSERIAL = $541F;
  788. TIOCPKT = $5420;
  789. FIONBIO = $5421;
  790. TIOCNOTTY = $5422;
  791. TIOCSETD = $5423;
  792. TIOCGETD = $5424;
  793. TCSBRKP = $5425;
  794. TIOCSBRK = $5427;
  795. TIOCCBRK = $5428;
  796. TIOCGSID = $5429;
  797. TIOCGRS485 = $542E;
  798. TIOCSRS485 = $542F;
  799. TCGETX = $5432;
  800. TCSETX = $5433;
  801. TCSETXF = $5434;
  802. TCSETXW = $5435;
  803. TIOCVHANGUP = $5437;
  804. FIONCLEX = $5450;
  805. FIOCLEX = $5451;
  806. FIOASYNC = $5452;
  807. TIOCSERCONFIG = $5453;
  808. TIOCSERGWILD = $5454;
  809. TIOCSERSWILD = $5455;
  810. TIOCGLCKTRMIOS = $5456;
  811. TIOCSLCKTRMIOS = $5457;
  812. TIOCSERGSTRUCT = $5458;
  813. TIOCSERGETLSR = $5459;
  814. TIOCSERGETMULTI = $545A;
  815. TIOCSERSETMULTI = $545B;
  816. TIOCMIWAIT = $545C;
  817. TIOCGICOUNT = $545D;
  818. FIOQSIZE = $5460;
  819. TIOCPKT_DATA = 0;
  820. TIOCPKT_FLUSHREAD = 1;
  821. TIOCPKT_FLUSHWRITE = 2;
  822. TIOCPKT_STOP = 4;
  823. TIOCPKT_START = 8;
  824. TIOCPKT_NOSTOP = 16;
  825. TIOCPKT_DOSTOP = 32;
  826. TIOCPKT_IOCTL = 64;
  827. TIOCSER_TEMT = $01;
  828. { from Linux 4.0, include/uapi/asm-generic/termbits.h }
  829. { c_cc characters }
  830. VINTR = 0;
  831. VQUIT = 1;
  832. VERASE = 2;
  833. VKILL = 3;
  834. VEOF = 4;
  835. VTIME = 5;
  836. VMIN = 6;
  837. VSWTC = 7;
  838. VSTART = 8;
  839. VSTOP = 9;
  840. VSUSP = 10;
  841. VEOL = 11;
  842. VREPRINT = 12;
  843. VDISCARD = 13;
  844. VWERASE = 14;
  845. VLNEXT = 15;
  846. VEOL2 = 16;
  847. { c_iflag bits }
  848. IGNBRK = &0000001;
  849. BRKINT = &0000002;
  850. IGNPAR = &0000004;
  851. PARMRK = &0000010;
  852. INPCK = &0000020;
  853. ISTRIP = &0000040;
  854. INLCR = &0000100;
  855. IGNCR = &0000200;
  856. ICRNL = &0000400;
  857. IUCLC = &0001000;
  858. IXON = &0002000;
  859. IXANY = &0004000;
  860. IXOFF = &0010000;
  861. IMAXBEL = &0020000;
  862. IUTF8 = &0040000;
  863. { c_oflag bits }
  864. OPOST = &0000001;
  865. OLCUC = &0000002;
  866. ONLCR = &0000004;
  867. OCRNL = &0000010;
  868. ONOCR = &0000020;
  869. ONLRET = &0000040;
  870. OFILL = &0000100;
  871. OFDEL = &0000200;
  872. NLDLY = &0000400;
  873. NL0 = &0000000;
  874. NL1 = &0000400;
  875. CRDLY = &0003000;
  876. CR0 = &0000000;
  877. CR1 = &0001000;
  878. CR2 = &0002000;
  879. CR3 = &0003000;
  880. TABDLY = &0014000;
  881. TAB0 = &0000000;
  882. TAB1 = &0004000;
  883. TAB2 = &0010000;
  884. TAB3 = &0014000;
  885. XTABS = &0014000;
  886. BSDLY = &0020000;
  887. BS0 = &0000000;
  888. BS1 = &0020000;
  889. VTDLY = &0040000;
  890. VT0 = &0000000;
  891. VT1 = &0040000;
  892. FFDLY = &0100000;
  893. FF0 = &0000000;
  894. FF1 = &0100000;
  895. { c_cflag bits }
  896. CBAUD = &0010017;
  897. B0 = &0000000;
  898. B50 = &0000001;
  899. B75 = &0000002;
  900. B110 = &0000003;
  901. B134 = &0000004;
  902. B150 = &0000005;
  903. B200 = &0000006;
  904. B300 = &0000007;
  905. B600 = &0000010;
  906. B1200 = &0000011;
  907. B1800 = &0000012;
  908. B2400 = &0000013;
  909. B4800 = &0000014;
  910. B9600 = &0000015;
  911. B19200 = &0000016;
  912. B38400 = &0000017;
  913. EXTA = B19200;
  914. EXTB = B38400;
  915. CSIZE = &0000060;
  916. CS5 = &0000000;
  917. CS6 = &0000020;
  918. CS7 = &0000040;
  919. CS8 = &0000060;
  920. CSTOPB = &0000100;
  921. CREAD = &0000200;
  922. PARENB = &0000400;
  923. PARODD = &0001000;
  924. HUPCL = &0002000;
  925. CLOCAL = &0004000;
  926. CBAUDEX = &0010000;
  927. BOTHER = &0010000;
  928. B57600 = &0010001;
  929. B115200 = &0010002;
  930. B230400 = &0010003;
  931. B460800 = &0010004;
  932. B500000 = &0010005;
  933. B576000 = &0010006;
  934. B921600 = &0010007;
  935. B1000000 = &0010010;
  936. B1152000 = &0010011;
  937. B1500000 = &0010012;
  938. B2000000 = &0010013;
  939. B2500000 = &0010014;
  940. B3000000 = &0010015;
  941. B3500000 = &0010016;
  942. B4000000 = &0010017;
  943. __MAX_BAUD = B4000000;
  944. CIBAUD = &002003600000;
  945. CMSPAR = &010000000000;
  946. CRTSCTS = &020000000000;
  947. IBSHIFT = 16;
  948. { c_lflag bits }
  949. ISIG = &0000001;
  950. ICANON = &0000002;
  951. XCASE = &0000004;
  952. ECHO = &0000010;
  953. ECHOE = &0000020;
  954. ECHOK = &0000040;
  955. ECHONL = &0000100;
  956. NOFLSH = &0000200;
  957. TOSTOP = &0000400;
  958. ECHOCTL = &0001000;
  959. ECHOPRT = &0002000;
  960. ECHOKE = &0004000;
  961. FLUSHO = &0010000;
  962. PENDIN = &0040000;
  963. IEXTEN = &0100000;
  964. EXTPROC = &0200000;
  965. { TCFlow }
  966. TCOOFF = 0;
  967. TCOON = 1;
  968. TCIOFF = 2;
  969. TCION = 3;
  970. { TCFlush }
  971. TCIFLUSH = 0;
  972. TCOFLUSH = 1;
  973. TCIOFLUSH = 2;
  974. { TCSetAttr }
  975. TCSANOW = 0;
  976. TCSADRAIN = 1;
  977. TCSAFLUSH = 2;
  978. { from Linux 4.0, include/uapi/asm-generic/termios.h }
  979. { c_line bits }
  980. TIOCM_LE = $001;
  981. TIOCM_DTR = $002;
  982. TIOCM_RTS = $004;
  983. TIOCM_ST = $008;
  984. TIOCM_SR = $010;
  985. TIOCM_CTS = $020;
  986. TIOCM_CAR = $040;
  987. TIOCM_RNG = $080;
  988. TIOCM_DSR = $100;
  989. TIOCM_CD = TIOCM_CAR;
  990. TIOCM_RI = TIOCM_RNG;
  991. TIOCM_OUT1 = $2000;
  992. TIOCM_OUT2 = $4000;
  993. TIOCM_LOOP = $8000;
  994. {$endif cpuriscv64}
  995. {$ifdef cpui386}
  996. { For Terminal handling }
  997. TCGETS = $5401;
  998. TCSETS = $5402;
  999. TCSETSW = $5403;
  1000. TCSETSF = $5404;
  1001. TCGETA = $5405;
  1002. TCSETA = $5406;
  1003. TCSETAW = $5407;
  1004. TCSETAF = $5408;
  1005. TCSBRK = $5409;
  1006. TCXONC = $540A;
  1007. TCFLSH = $540B;
  1008. TIOCEXCL = $540C;
  1009. TIOCNXCL = $540D;
  1010. TIOCSCTTY = $540E;
  1011. TIOCGPGRP = $540F;
  1012. TIOCSPGRP = $5410;
  1013. TIOCOUTQ = $5411;
  1014. TIOCSTI = $5412;
  1015. TIOCGWINSZ = $5413;
  1016. TIOCSWINSZ = $5414;
  1017. TIOCMGET = $5415;
  1018. TIOCMBIS = $5416;
  1019. TIOCMBIC = $5417;
  1020. TIOCMSET = $5418;
  1021. TIOCGSOFTCAR = $5419;
  1022. TIOCSSOFTCAR = $541A;
  1023. FIONREAD = $541B;
  1024. TIOCINQ = FIONREAD;
  1025. TIOCLINUX = $541C;
  1026. TIOCCONS = $541D;
  1027. TIOCGSERIAL = $541E;
  1028. TIOCSSERIAL = $541F;
  1029. TIOCPKT = $5420;
  1030. FIONBIO = $5421;
  1031. TIOCNOTTY = $5422;
  1032. TIOCSETD = $5423;
  1033. TIOCGETD = $5424;
  1034. TCSBRKP = $5425;
  1035. TIOCTTYGSTRUCT = $5426;
  1036. FIONCLEX = $5450;
  1037. FIOCLEX = $5451;
  1038. FIOASYNC = $5452;
  1039. TIOCSERCONFIG = $5453;
  1040. TIOCSERGWILD = $5454;
  1041. TIOCSERSWILD = $5455;
  1042. TIOCGLCKTRMIOS = $5456;
  1043. TIOCSLCKTRMIOS = $5457;
  1044. TIOCSERGSTRUCT = $5458;
  1045. TIOCSERGETLSR = $5459;
  1046. TIOCSERGETMULTI = $545A;
  1047. TIOCSERSETMULTI = $545B;
  1048. TIOCMIWAIT = $545C;
  1049. TIOCGICOUNT = $545D;
  1050. TIOCGHAYESESP = $545E;
  1051. TIOCSHAYESESP = $545F;
  1052. FIOQSIZE = $5460;
  1053. TIOCPKT_DATA = 0;
  1054. TIOCPKT_FLUSHREAD = 1;
  1055. TIOCPKT_FLUSHWRITE = 2;
  1056. TIOCPKT_STOP = 4;
  1057. TIOCPKT_START = 8;
  1058. TIOCPKT_NOSTOP = 16;
  1059. TIOCPKT_DOSTOP = 32;
  1060. {c_cc characters}
  1061. VINTR = 0;
  1062. VQUIT = 1;
  1063. VERASE = 2;
  1064. VKILL = 3;
  1065. VEOF = 4;
  1066. VTIME = 5;
  1067. VMIN = 6;
  1068. VSWTC = 7;
  1069. VSTART = 8;
  1070. VSTOP = 9;
  1071. VSUSP = 10;
  1072. VEOL = 11;
  1073. VREPRINT = 12;
  1074. VDISCARD = 13;
  1075. VWERASE = 14;
  1076. VLNEXT = 15;
  1077. VEOL2 = 16;
  1078. {c_iflag bits}
  1079. IGNBRK = $0000001;
  1080. BRKINT = $0000002;
  1081. IGNPAR = $0000004;
  1082. PARMRK = $0000008;
  1083. INPCK = $0000010;
  1084. ISTRIP = $0000020;
  1085. INLCR = $0000040;
  1086. IGNCR = $0000080;
  1087. ICRNL = $0000100;
  1088. IUCLC = $0000200;
  1089. IXON = $0000400;
  1090. IXANY = $0000800;
  1091. IXOFF = $0001000;
  1092. IMAXBEL = $0002000;
  1093. IUTF8 = $0004000;
  1094. {c_oflag bits}
  1095. OPOST = $0000001;
  1096. OLCUC = $0000002;
  1097. ONLCR = $0000004;
  1098. OCRNL = $0000008;
  1099. ONOCR = $0000010;
  1100. ONLRET = $0000020;
  1101. OFILL = $0000040;
  1102. OFDEL = $0000080;
  1103. NLDLY = $0000100;
  1104. NL0 = $0000000;
  1105. NL1 = $0000100;
  1106. CRDLY = $0000600;
  1107. CR0 = $0000000;
  1108. CR1 = $0000200;
  1109. CR2 = $0000400;
  1110. CR3 = $0000600;
  1111. TABDLY = $0001800;
  1112. TAB0 = $0000000;
  1113. TAB1 = $0000800;
  1114. TAB2 = $0001000;
  1115. TAB3 = $0001800;
  1116. XTABS = $0001800;
  1117. BSDLY = $0002000;
  1118. BS0 = $0000000;
  1119. BS1 = $0002000;
  1120. VTDLY = $0004000;
  1121. VT0 = $0000000;
  1122. VT1 = $0004000;
  1123. FFDLY = $0008000;
  1124. FF0 = $0000000;
  1125. FF1 = $0008000;
  1126. {c_cflag bits}
  1127. CBAUD = $000100F;
  1128. B0 = $0000000;
  1129. B50 = $0000001;
  1130. B75 = $0000002;
  1131. B110 = $0000003;
  1132. B134 = $0000004;
  1133. B150 = $0000005;
  1134. B200 = $0000006;
  1135. B300 = $0000007;
  1136. B600 = $0000008;
  1137. B1200 = $0000009;
  1138. B1800 = $000000A;
  1139. B2400 = $000000B;
  1140. B4800 = $000000C;
  1141. B9600 = $000000D;
  1142. B19200 = $000000E;
  1143. B38400 = $000000F;
  1144. EXTA = B19200;
  1145. EXTB = B38400;
  1146. CSIZE = $0000030;
  1147. CS5 = $0000000;
  1148. CS6 = $0000010;
  1149. CS7 = $0000020;
  1150. CS8 = $0000030;
  1151. CSTOPB = $0000040;
  1152. CREAD = $0000080;
  1153. PARENB = $0000100;
  1154. PARODD = $0000200;
  1155. HUPCL = $0000400;
  1156. CLOCAL = $0000800;
  1157. CBAUDEX = $0001000;
  1158. B57600 = $0001001;
  1159. B115200 = $0001002;
  1160. B230400 = $0001003;
  1161. B460800 = $0001004;
  1162. B500000 = $0001005;
  1163. B576000 = $0001006;
  1164. B921600 = $0001007;
  1165. B1000000= $0001008;
  1166. B1152000= $0001009;
  1167. B1500000= $000100A;
  1168. B2000000= $000100B;
  1169. B2500000= $000100C;
  1170. B3000000= $000100D;
  1171. B3500000= $000100E;
  1172. B4000000= $000100F;
  1173. __MAX_BAUD= B4000000;
  1174. CIBAUD = $100F0000;
  1175. CMSPAR = $40000000;
  1176. CRTSCTS = $80000000;
  1177. {c_lflag bits}
  1178. ISIG = $0000001;
  1179. ICANON = $0000002;
  1180. XCASE = $0000004;
  1181. ECHO = $0000008;
  1182. ECHOE = $0000010;
  1183. ECHOK = $0000020;
  1184. ECHONL = $0000040;
  1185. NOFLSH = $0000080;
  1186. TOSTOP = $0000100;
  1187. ECHOCTL = $0000200;
  1188. ECHOPRT = $0000400;
  1189. ECHOKE = $0000800;
  1190. FLUSHO = $0001000;
  1191. PENDIN = $0004000;
  1192. IEXTEN = $0008000;
  1193. {c_line bits}
  1194. TIOCM_LE = $001;
  1195. TIOCM_DTR = $002;
  1196. TIOCM_RTS = $004;
  1197. TIOCM_ST = $008;
  1198. TIOCM_SR = $010;
  1199. TIOCM_CTS = $020;
  1200. TIOCM_CAR = $040;
  1201. TIOCM_RNG = $080;
  1202. TIOCM_DSR = $100;
  1203. TIOCM_CD = TIOCM_CAR;
  1204. TIOCM_RI = TIOCM_RNG;
  1205. TIOCM_OUT1 = $2000;
  1206. TIOCM_OUT2 = $4000;
  1207. {TCSetAttr}
  1208. TCSANOW = 0;
  1209. TCSADRAIN = 1;
  1210. TCSAFLUSH = 2;
  1211. {TCFlow}
  1212. TCOOFF = 0;
  1213. TCOON = 1;
  1214. TCIOFF = 2;
  1215. TCION = 3;
  1216. {TCFlush}
  1217. TCIFLUSH = 0;
  1218. TCOFLUSH = 1;
  1219. TCIOFLUSH = 2;
  1220. {$endif cpui386}
  1221. {$if defined(cpusparc) or defined(cpusparc64)}
  1222. TCGETA = $40125401;
  1223. TCSETA = $80125402;
  1224. TCSETAW = $80125403;
  1225. TCSETAF = $80125404;
  1226. TCSBRK = $20005405;
  1227. TCXONC = $20005406;
  1228. TCFLSH = $20005407;
  1229. TCGETS = $40245408;
  1230. TCSETS = $80245409;
  1231. TCSETSW = $8024540a;
  1232. TCSETSF = $8024540b;
  1233. TIOCGETD = $40047400;
  1234. TIOCSETD = $80047401;
  1235. TIOCEXCL = $2000740d;
  1236. TIOCNXCL = $2000740e;
  1237. TIOCCONS = $20007424;
  1238. TIOCGSOFTCAR = $40047464;
  1239. TIOCSSOFTCAR = $80047465;
  1240. TIOCSWINSZ = $80087467;
  1241. TIOCGWINSZ = $40087468;
  1242. TIOCMGET = $4004746a;
  1243. TIOCMBIC = $8004746b;
  1244. TIOCMBIS = $8004746c;
  1245. TIOCMSET = $8004746d;
  1246. TIOCSTART = $2000746e;
  1247. TIOCSTOP = $2000746f;
  1248. TIOCPKT = $80047470;
  1249. TIOCNOTTY = $20007471;
  1250. TIOCSTI = $80017472;
  1251. TIOCOUTQ = $40047473;
  1252. TIOCCBRK = $2000747a;
  1253. TIOCSBRK = $2000747b;
  1254. TIOCSPGRP = $80047482;
  1255. TIOCGPGRP = $40047483;
  1256. TIOCSCTTY = $20007484;
  1257. TIOCGSID = $40047485;
  1258. TIOCGPTN = $40047486;
  1259. TIOCSPTLCK = $80047487;
  1260. FIOCLEX = $20006601;
  1261. FIONCLEX = $20006602;
  1262. FIOASYNC = $8004667d;
  1263. FIONBIO = $8004667e;
  1264. FIONREAD = $4004667f;
  1265. TIOCINQ = $4004667f;
  1266. TIOCLINUX = $541c;
  1267. TIOCGSERIAL = $541e;
  1268. TIOCSSERIAL = $541f;
  1269. TCSBRKP = $5425;
  1270. TIOCTTYGSTRUCT = $5426;
  1271. TIOCSERCONFIG = $5453;
  1272. TIOCSERGWILD = $5454;
  1273. TIOCSERSWILD = $5455;
  1274. TIOCGLCKTRMIOS = $5456;
  1275. TIOCSLCKTRMIOS = $5457;
  1276. TIOCSERGSTRUCT = $5458;
  1277. TIOCSERGETLSR = $5459;
  1278. TIOCSERGETMULTI = $545a;
  1279. TIOCSERSETMULTI = $545b;
  1280. TIOCMIWAIT = $545c;
  1281. TIOCGICOUNT = $545d;
  1282. TIOCPKT_DATA = $0;
  1283. TIOCPKT_FLUSHREAD = $1;
  1284. TIOCPKT_FLUSHWRITE = $2;
  1285. TIOCPKT_STOP = $4;
  1286. TIOCPKT_START = $8;
  1287. TIOCPKT_NOSTOP = $10;
  1288. TIOCPKT_DOSTOP = $20;
  1289. {c_cc characters}
  1290. VINTR = 0;
  1291. VQUIT = 1;
  1292. VERASE = 2;
  1293. VKILL = 3;
  1294. VEOF = 4;
  1295. VEOL = 5;
  1296. VEOL2 = 6;
  1297. VSWTC = 7;
  1298. VSTART = 8;
  1299. VSTOP = 9;
  1300. VSUSP = 10;
  1301. VDSUSP = 11;
  1302. VREPRINT = 12;
  1303. VDISCARD = 13;
  1304. VWERASE = 14;
  1305. VLNEXT = 15;
  1306. VMIN = 4;
  1307. VTIME = 5;
  1308. {c_iflag bits}
  1309. IGNBRK = $0000001;
  1310. BRKINT = $0000002;
  1311. IGNPAR = $0000004;
  1312. PARMRK = $0000008;
  1313. INPCK = $0000010;
  1314. ISTRIP = $0000020;
  1315. INLCR = $0000040;
  1316. IGNCR = $0000080;
  1317. ICRNL = $0000100;
  1318. IUCLC = $0000200;
  1319. IXON = $0000400;
  1320. IXANY = $0000800;
  1321. IXOFF = $0001000;
  1322. IMAXBEL = $0002000;
  1323. {c_oflag bits}
  1324. OPOST = $0000001;
  1325. OLCUC = $0000002;
  1326. ONLCR = $0000004;
  1327. OCRNL = $0000008;
  1328. ONOCR = $0000010;
  1329. ONLRET = $0000020;
  1330. OFILL = $0000040;
  1331. OFDEL = $0000080;
  1332. NLDLY = $0000100;
  1333. NL0 = $0000000;
  1334. NL1 = $0000100;
  1335. CRDLY = $0000600;
  1336. CR0 = $0000000;
  1337. CR1 = $0000200;
  1338. CR2 = $0000400;
  1339. CR3 = $0000600;
  1340. TABDLY = $0001800;
  1341. TAB0 = $0000000;
  1342. TAB1 = $0000800;
  1343. TAB2 = $0001000;
  1344. TAB3 = $0001800;
  1345. XTABS = $0001800;
  1346. BSDLY = $0002000;
  1347. BS0 = $0000000;
  1348. BS1 = $0002000;
  1349. VTDLY = $0004000;
  1350. VT0 = $0000000;
  1351. VT1 = $0004000;
  1352. FFDLY = $0008000;
  1353. FF0 = $0000000;
  1354. FF1 = $0008000;
  1355. {c_cflag bits}
  1356. CBAUD = $000100F;
  1357. B0 = $0000000;
  1358. B50 = $0000001;
  1359. B75 = $0000002;
  1360. B110 = $0000003;
  1361. B134 = $0000004;
  1362. B150 = $0000005;
  1363. B200 = $0000006;
  1364. B300 = $0000007;
  1365. B600 = $0000008;
  1366. B1200 = $0000009;
  1367. B1800 = $000000A;
  1368. B2400 = $000000B;
  1369. B4800 = $000000C;
  1370. B9600 = $000000D;
  1371. B19200 = $000000E;
  1372. B38400 = $000000F;
  1373. EXTA = B19200;
  1374. EXTB = B38400;
  1375. CSIZE = $0000030;
  1376. CS5 = $0000000;
  1377. CS6 = $0000010;
  1378. CS7 = $0000020;
  1379. CS8 = $0000030;
  1380. CSTOPB = $0000040;
  1381. CREAD = $0000080;
  1382. PARENB = $0000100;
  1383. PARODD = $0000200;
  1384. HUPCL = $0000400;
  1385. CLOCAL = $0000800;
  1386. CBAUDEX = $0001000;
  1387. B57600 = $0001001;
  1388. B115200 = $0001002;
  1389. B230400 = $0001003;
  1390. B460800 = $0001004;
  1391. CIBAUD = $100F0000;
  1392. CMSPAR = $40000000;
  1393. CRTSCTS = $80000000;
  1394. {c_lflag bits}
  1395. ISIG = $0000001;
  1396. ICANON = $0000002;
  1397. XCASE = $0000004;
  1398. ECHO = $0000008;
  1399. ECHOE = $0000010;
  1400. ECHOK = $0000020;
  1401. ECHONL = $0000040;
  1402. NOFLSH = $0000080;
  1403. TOSTOP = $0000100;
  1404. ECHOCTL = $0000200;
  1405. ECHOPRT = $0000400;
  1406. ECHOKE = $0000800;
  1407. FLUSHO = $0001000;
  1408. PENDIN = $0004000;
  1409. IEXTEN = $0008000;
  1410. {c_line bits}
  1411. TIOCM_LE = $001;
  1412. TIOCM_DTR = $002;
  1413. TIOCM_RTS = $004;
  1414. TIOCM_ST = $008;
  1415. TIOCM_SR = $010;
  1416. TIOCM_CTS = $020;
  1417. TIOCM_CAR = $040;
  1418. TIOCM_RNG = $080;
  1419. TIOCM_DSR = $100;
  1420. TIOCM_CD = TIOCM_CAR;
  1421. TIOCM_RI = TIOCM_RNG;
  1422. TIOCM_OUT1 = $2000;
  1423. TIOCM_OUT2 = $4000;
  1424. {TCSetAttr}
  1425. TCSANOW = 0;
  1426. TCSADRAIN = 1;
  1427. TCSAFLUSH = 2;
  1428. {TCFlow}
  1429. TCOOFF = 0;
  1430. TCOON = 1;
  1431. TCIOFF = 2;
  1432. TCION = 3;
  1433. {TCFlush}
  1434. TCIFLUSH = 0;
  1435. TCOFLUSH = 1;
  1436. TCIOFLUSH = 2;
  1437. {$endif defined(cpusparc) or defined(cpusparc64)}
  1438. {$ifdef cpux86_64}
  1439. TCGETS = $5401;
  1440. TCSETS = $5402;
  1441. TCSETSW = $5403;
  1442. TCSETSF = $5404;
  1443. TCGETA = $5405;
  1444. TCSETA = $5406;
  1445. TCSETAW = $5407;
  1446. TCSETAF = $5408;
  1447. TCSBRK = $5409;
  1448. TCXONC = $540A;
  1449. TCFLSH = $540B;
  1450. TIOCEXCL = $540C;
  1451. TIOCNXCL = $540D;
  1452. TIOCSCTTY = $540E;
  1453. TIOCGPGRP = $540F;
  1454. TIOCSPGRP = $5410;
  1455. TIOCOUTQ = $5411;
  1456. TIOCSTI = $5412;
  1457. TIOCGWINSZ = $5413;
  1458. TIOCSWINSZ = $5414;
  1459. TIOCMGET = $5415;
  1460. TIOCMBIS = $5416;
  1461. TIOCMBIC = $5417;
  1462. TIOCMSET = $5418;
  1463. TIOCGSOFTCAR = $5419;
  1464. TIOCSSOFTCAR = $541A;
  1465. FIONREAD = $541B;
  1466. TIOCINQ = FIONREAD;
  1467. TIOCLINUX = $541C;
  1468. TIOCCONS = $541D;
  1469. TIOCGSERIAL = $541E;
  1470. TIOCSSERIAL = $541F;
  1471. TIOCPKT = $5420;
  1472. FIONBIO = $5421;
  1473. TIOCNOTTY = $5422;
  1474. TIOCSETD = $5423;
  1475. TIOCGETD = $5424;
  1476. TCSBRKP = $5425;
  1477. TIOCSBRK = $5427;
  1478. TIOCCBRK = $5428;
  1479. TIOCGSID = $5429;
  1480. FIONCLEX = $5450;
  1481. FIOCLEX = $5451;
  1482. FIOASYNC = $5452;
  1483. TIOCSERCONFIG = $5453;
  1484. TIOCSERGWILD = $5454;
  1485. TIOCSERSWILD = $5455;
  1486. TIOCGLCKTRMIOS = $5456;
  1487. TIOCSLCKTRMIOS = $5457;
  1488. TIOCSERGSTRUCT = $5458;
  1489. TIOCSERGETLSR = $5459;
  1490. TIOCSERGETMULTI = $545A;
  1491. TIOCSERSETMULTI = $545B;
  1492. TIOCMIWAIT = $545C;
  1493. TIOCGICOUNT = $545D;
  1494. TIOCGHAYESESP = $545E;
  1495. TIOCSHAYESESP = $545F;
  1496. FIOQSIZE = $5460;
  1497. TIOCPKT_DATA = 0;
  1498. TIOCPKT_FLUSHREAD = 1;
  1499. TIOCPKT_FLUSHWRITE = 2;
  1500. TIOCPKT_STOP = 4;
  1501. TIOCPKT_START = 8;
  1502. TIOCPKT_NOSTOP = 16;
  1503. TIOCPKT_DOSTOP = 32;
  1504. TIOCSER_TEMT = $01;
  1505. {c_cc characters}
  1506. VINTR = 0;
  1507. VQUIT = 1;
  1508. VERASE = 2;
  1509. VKILL = 3;
  1510. VEOF = 4;
  1511. VTIME = 5;
  1512. VMIN = 6;
  1513. VSWTC = 7;
  1514. VSTART = 8;
  1515. VSTOP = 9;
  1516. VSUSP = 10;
  1517. VEOL = 11;
  1518. VREPRINT = 12;
  1519. VDISCARD = 13;
  1520. VWERASE = 14;
  1521. VLNEXT = 15;
  1522. VEOL2 = 16;
  1523. {c_iflag bits}
  1524. IGNBRK = $0000001;
  1525. BRKINT = $0000002;
  1526. IGNPAR = $0000004;
  1527. PARMRK = $0000008;
  1528. INPCK = $0000010;
  1529. ISTRIP = $0000020;
  1530. INLCR = $0000040;
  1531. IGNCR = $0000080;
  1532. ICRNL = $0000100;
  1533. IUCLC = $0000200;
  1534. IXON = $0000400;
  1535. IXANY = $0000800;
  1536. IXOFF = $0001000;
  1537. IMAXBEL = $0002000;
  1538. {c_oflag bits}
  1539. OPOST = $0000001;
  1540. OLCUC = $0000002;
  1541. ONLCR = $0000004;
  1542. OCRNL = $0000008;
  1543. ONOCR = $0000010;
  1544. ONLRET = $0000020;
  1545. OFILL = $0000040;
  1546. OFDEL = $0000080;
  1547. NLDLY = $0000100;
  1548. NL0 = $0000000;
  1549. NL1 = $0000100;
  1550. CRDLY = $0000600;
  1551. CR0 = $0000000;
  1552. CR1 = $0000200;
  1553. CR2 = $0000400;
  1554. CR3 = $0000600;
  1555. TABDLY = $0001800;
  1556. TAB0 = $0000000;
  1557. TAB1 = $0000800;
  1558. TAB2 = $0001000;
  1559. TAB3 = $0001800;
  1560. XTABS = $0001800;
  1561. BSDLY = $0002000;
  1562. BS0 = $0000000;
  1563. BS1 = $0002000;
  1564. VTDLY = $0004000;
  1565. VT0 = $0000000;
  1566. VT1 = $0004000;
  1567. FFDLY = $0008000;
  1568. FF0 = $0000000;
  1569. FF1 = $0008000;
  1570. {c_cflag bits}
  1571. CBAUD = $000100F;
  1572. B0 = $0000000;
  1573. B50 = $0000001;
  1574. B75 = $0000002;
  1575. B110 = $0000003;
  1576. B134 = $0000004;
  1577. B150 = $0000005;
  1578. B200 = $0000006;
  1579. B300 = $0000007;
  1580. B600 = $0000008;
  1581. B1200 = $0000009;
  1582. B1800 = $000000A;
  1583. B2400 = $000000B;
  1584. B4800 = $000000C;
  1585. B9600 = $000000D;
  1586. B19200 = $000000E;
  1587. B38400 = $000000F;
  1588. EXTA = B19200;
  1589. EXTB = B38400;
  1590. CSIZE = $0000030;
  1591. CS5 = $0000000;
  1592. CS6 = $0000010;
  1593. CS7 = $0000020;
  1594. CS8 = $0000030;
  1595. CSTOPB = $0000040;
  1596. CREAD = $0000080;
  1597. PARENB = $0000100;
  1598. PARODD = $0000200;
  1599. HUPCL = $0000400;
  1600. CLOCAL = $0000800;
  1601. CBAUDEX = $0001000;
  1602. B57600 = $0001001;
  1603. B115200 = $0001002;
  1604. B230400 = $0001003;
  1605. B460800 = $0001004;
  1606. CIBAUD = $100F0000;
  1607. CMSPAR = $40000000;
  1608. CRTSCTS = $80000000;
  1609. B500000 = $0001005;
  1610. B576000 = $0001006;
  1611. B921600 = $0001007;
  1612. B1000000= $0001008;
  1613. B1152000= $0001009;
  1614. B1500000= $000100A;
  1615. B2000000= $000100B;
  1616. B2500000= $000100C;
  1617. B3000000= $000100D;
  1618. B3500000= $000100E;
  1619. B4000000= $000100F;
  1620. __MAX_BAUD= B4000000;
  1621. {c_lflag bits}
  1622. ISIG = $0000001;
  1623. ICANON = $0000002;
  1624. XCASE = $0000004;
  1625. ECHO = $0000008;
  1626. ECHOE = $0000010;
  1627. ECHOK = $0000020;
  1628. ECHONL = $0000040;
  1629. NOFLSH = $0000080;
  1630. TOSTOP = $0000100;
  1631. ECHOCTL = $0000200;
  1632. ECHOPRT = $0000400;
  1633. ECHOKE = $0000800;
  1634. FLUSHO = $0001000;
  1635. PENDIN = $0004000;
  1636. IEXTEN = $0008000;
  1637. {c_line bits}
  1638. TIOCM_LE = $001;
  1639. TIOCM_DTR = $002;
  1640. TIOCM_RTS = $004;
  1641. TIOCM_ST = $008;
  1642. TIOCM_SR = $010;
  1643. TIOCM_CTS = $020;
  1644. TIOCM_CAR = $040;
  1645. TIOCM_RNG = $080;
  1646. TIOCM_DSR = $100;
  1647. TIOCM_CD = TIOCM_CAR;
  1648. TIOCM_RI = TIOCM_RNG;
  1649. TIOCM_OUT1 = $2000;
  1650. TIOCM_OUT2 = $4000;
  1651. {TCSetAttr}
  1652. TCSANOW = 0;
  1653. TCSADRAIN = 1;
  1654. TCSAFLUSH = 2;
  1655. {TCFlow}
  1656. TCOOFF = 0;
  1657. TCOON = 1;
  1658. TCIOFF = 2;
  1659. TCION = 3;
  1660. {TCFlush}
  1661. TCIFLUSH = 0;
  1662. TCOFLUSH = 1;
  1663. TCIOFLUSH = 2;
  1664. {$endif cpux86_64}
  1665. {$ifdef cpuarm}
  1666. { For Terminal handling }
  1667. TCGETS = $5401;
  1668. TCSETS = $5402;
  1669. TCSETSW = $5403;
  1670. TCSETSF = $5404;
  1671. TCGETA = $5405;
  1672. TCSETA = $5406;
  1673. TCSETAW = $5407;
  1674. TCSETAF = $5408;
  1675. TCSBRK = $5409;
  1676. TCXONC = $540A;
  1677. TCFLSH = $540B;
  1678. TIOCEXCL = $540C;
  1679. TIOCNXCL = $540D;
  1680. TIOCSCTTY = $540E;
  1681. TIOCGPGRP = $540F;
  1682. TIOCSPGRP = $5410;
  1683. TIOCOUTQ = $5411;
  1684. TIOCSTI = $5412;
  1685. TIOCGWINSZ = $5413;
  1686. TIOCSWINSZ = $5414;
  1687. TIOCMGET = $5415;
  1688. TIOCMBIS = $5416;
  1689. TIOCMBIC = $5417;
  1690. TIOCMSET = $5418;
  1691. TIOCGSOFTCAR = $5419;
  1692. TIOCSSOFTCAR = $541A;
  1693. FIONREAD = $541B;
  1694. TIOCINQ = FIONREAD;
  1695. TIOCLINUX = $541C;
  1696. TIOCCONS = $541D;
  1697. TIOCGSERIAL = $541E;
  1698. TIOCSSERIAL = $541F;
  1699. TIOCPKT = $5420;
  1700. FIONBIO = $5421;
  1701. TIOCNOTTY = $5422;
  1702. TIOCSETD = $5423;
  1703. TIOCGETD = $5424;
  1704. TCSBRKP = $5425;
  1705. TIOCTTYGSTRUCT = $5426;
  1706. FIONCLEX = $5450;
  1707. FIOCLEX = $5451;
  1708. FIOASYNC = $5452;
  1709. TIOCSERCONFIG = $5453;
  1710. TIOCSERGWILD = $5454;
  1711. TIOCSERSWILD = $5455;
  1712. TIOCGLCKTRMIOS = $5456;
  1713. TIOCSLCKTRMIOS = $5457;
  1714. TIOCSERGSTRUCT = $5458;
  1715. TIOCSERGETLSR = $5459;
  1716. TIOCSERGETMULTI = $545A;
  1717. TIOCSERSETMULTI = $545B;
  1718. TIOCMIWAIT = $545C;
  1719. TIOCGICOUNT = $545D;
  1720. FIOQSIZE = $545E;
  1721. TIOCPKT_DATA = 0;
  1722. TIOCPKT_FLUSHREAD = 1;
  1723. TIOCPKT_FLUSHWRITE = 2;
  1724. TIOCPKT_STOP = 4;
  1725. TIOCPKT_START = 8;
  1726. TIOCPKT_NOSTOP = 16;
  1727. TIOCPKT_DOSTOP = 32;
  1728. {c_cc characters}
  1729. VINTR = 0;
  1730. VQUIT = 1;
  1731. VERASE = 2;
  1732. VKILL = 3;
  1733. VEOF = 4;
  1734. VTIME = 5;
  1735. VMIN = 6;
  1736. VSWTC = 7;
  1737. VSTART = 8;
  1738. VSTOP = 9;
  1739. VSUSP = 10;
  1740. VEOL = 11;
  1741. VREPRINT = 12;
  1742. VDISCARD = 13;
  1743. VWERASE = 14;
  1744. VLNEXT = 15;
  1745. VEOL2 = 16;
  1746. {c_iflag bits}
  1747. IGNBRK = $0000001;
  1748. BRKINT = $0000002;
  1749. IGNPAR = $0000004;
  1750. PARMRK = $0000008;
  1751. INPCK = $0000010;
  1752. ISTRIP = $0000020;
  1753. INLCR = $0000040;
  1754. IGNCR = $0000080;
  1755. ICRNL = $0000100;
  1756. IUCLC = $0000200;
  1757. IXON = $0000400;
  1758. IXANY = $0000800;
  1759. IXOFF = $0001000;
  1760. IMAXBEL = $0002000;
  1761. {c_oflag bits}
  1762. OPOST = $0000001;
  1763. OLCUC = $0000002;
  1764. ONLCR = $0000004;
  1765. OCRNL = $0000008;
  1766. ONOCR = $0000010;
  1767. ONLRET = $0000020;
  1768. OFILL = $0000040;
  1769. OFDEL = $0000080;
  1770. NLDLY = $0000100;
  1771. NL0 = $0000000;
  1772. NL1 = $0000100;
  1773. CRDLY = $0000600;
  1774. CR0 = $0000000;
  1775. CR1 = $0000200;
  1776. CR2 = $0000400;
  1777. CR3 = $0000600;
  1778. TABDLY = $0001800;
  1779. TAB0 = $0000000;
  1780. TAB1 = $0000800;
  1781. TAB2 = $0001000;
  1782. TAB3 = $0001800;
  1783. XTABS = $0001800;
  1784. BSDLY = $0002000;
  1785. BS0 = $0000000;
  1786. BS1 = $0002000;
  1787. VTDLY = $0004000;
  1788. VT0 = $0000000;
  1789. VT1 = $0004000;
  1790. FFDLY = $0008000;
  1791. FF0 = $0000000;
  1792. FF1 = $0008000;
  1793. {c_cflag bits}
  1794. CBAUD = $000100F;
  1795. B0 = $0000000;
  1796. B50 = $0000001;
  1797. B75 = $0000002;
  1798. B110 = $0000003;
  1799. B134 = $0000004;
  1800. B150 = $0000005;
  1801. B200 = $0000006;
  1802. B300 = $0000007;
  1803. B600 = $0000008;
  1804. B1200 = $0000009;
  1805. B1800 = $000000A;
  1806. B2400 = $000000B;
  1807. B4800 = $000000C;
  1808. B9600 = $000000D;
  1809. B19200 = $000000E;
  1810. B38400 = $000000F;
  1811. EXTA = B19200;
  1812. EXTB = B38400;
  1813. CSIZE = $0000030;
  1814. CS5 = $0000000;
  1815. CS6 = $0000010;
  1816. CS7 = $0000020;
  1817. CS8 = $0000030;
  1818. CSTOPB = $0000040;
  1819. CREAD = $0000080;
  1820. PARENB = $0000100;
  1821. PARODD = $0000200;
  1822. HUPCL = $0000400;
  1823. CLOCAL = $0000800;
  1824. CBAUDEX = $0001000;
  1825. B57600 = $0001001;
  1826. B115200 = $0001002;
  1827. B230400 = $0001003;
  1828. B460800 = $0001004;
  1829. B500000 = $1005;
  1830. B576000 = $1006;
  1831. B921600 = $1007;
  1832. B1000000= $1008;
  1833. B1152000= $1009;
  1834. B1500000= $100a;
  1835. B2000000= $100b;
  1836. B2500000= $100c;
  1837. B3000000= $100d;
  1838. B3500000= $100e;
  1839. B4000000= $100f;
  1840. __MAX_BAUD= B4000000;
  1841. CIBAUD = $100F0000;
  1842. CMSPAR = $40000000;
  1843. CRTSCTS = $80000000;
  1844. {c_lflag bits}
  1845. ISIG = $0000001;
  1846. ICANON = $0000002;
  1847. XCASE = $0000004;
  1848. ECHO = $0000008;
  1849. ECHOE = $0000010;
  1850. ECHOK = $0000020;
  1851. ECHONL = $0000040;
  1852. NOFLSH = $0000080;
  1853. TOSTOP = $0000100;
  1854. ECHOCTL = $0000200;
  1855. ECHOPRT = $0000400;
  1856. ECHOKE = $0000800;
  1857. FLUSHO = $0001000;
  1858. PENDIN = $0004000;
  1859. IEXTEN = $0008000;
  1860. {c_line bits}
  1861. TIOCM_LE = $001;
  1862. TIOCM_DTR = $002;
  1863. TIOCM_RTS = $004;
  1864. TIOCM_ST = $008;
  1865. TIOCM_SR = $010;
  1866. TIOCM_CTS = $020;
  1867. TIOCM_CAR = $040;
  1868. TIOCM_RNG = $080;
  1869. TIOCM_DSR = $100;
  1870. TIOCM_CD = TIOCM_CAR;
  1871. TIOCM_RI = TIOCM_RNG;
  1872. TIOCM_OUT1 = $2000;
  1873. TIOCM_OUT2 = $4000;
  1874. {TCSetAttr}
  1875. TCSANOW = 0;
  1876. TCSADRAIN = 1;
  1877. TCSAFLUSH = 2;
  1878. {TCFlow}
  1879. TCOOFF = 0;
  1880. TCOON = 1;
  1881. TCIOFF = 2;
  1882. TCION = 3;
  1883. {TCFlush}
  1884. TCIFLUSH = 0;
  1885. TCOFLUSH = 1;
  1886. TCIOFLUSH = 2;
  1887. {$endif cpuarm}
  1888. {$if defined(cpumips) or defined(cpumipsel)}
  1889. const
  1890. TCGETA = $5401;
  1891. TCSETA = $5402;
  1892. TCSETAW = $5403;
  1893. TCSETAF = $5404;
  1894. TCSBRK = $5405;
  1895. TCXONC = $5406;
  1896. TCFLSH = $5407;
  1897. TCGETS = $540d;
  1898. TCSETS = $540e;
  1899. TCSETSW = $540f;
  1900. TCSETSF = $5410;
  1901. TIOCEXCL = $740d;
  1902. TIOCNXCL = $740e;
  1903. TIOCOUTQ = $7472;
  1904. TIOCSTI = $5472;
  1905. TIOCMGET = $741d;
  1906. TIOCMBIS = $741b;
  1907. TIOCMBIC = $741c;
  1908. TIOCMSET = $741a;
  1909. TIOCPKT = $5470;
  1910. TIOCPKT_DATA = $00;
  1911. TIOCPKT_FLUSHREAD = $01;
  1912. TIOCPKT_FLUSHWRITE = $02;
  1913. TIOCPKT_STOP = $04;
  1914. TIOCPKT_START = $08;
  1915. TIOCPKT_NOSTOP = $10;
  1916. TIOCPKT_DOSTOP = $20;
  1917. TIOCPKT_IOCTL = $40;
  1918. {Values checked: TIOCGWINSZ and TIOCSWINSZ on a real mips system }
  1919. TIOCGWINSZ = $40087468;
  1920. TIOCSWINSZ = $80087467;
  1921. TIOCNOTTY = $5471;
  1922. TIOCSETD = $7401;
  1923. TIOCGETD = $7400;
  1924. FIOCLEX = $6601;
  1925. FIONCLEX = $6602;
  1926. FIOASYNC = $667d;
  1927. FIONBIO = $667e;
  1928. FIOQSIZE = $667f;
  1929. TIOCGLTC = $7474;
  1930. TIOCSLTC = $7475;
  1931. {Values checked: TIOCGPGRP and TIOCSPGRP on a real mips system }
  1932. TIOCGPGRP = $40047477;
  1933. TIOCSPGRP = $80047476;
  1934. FIONREAD = $467f;
  1935. TIOCINQ = FIONREAD;
  1936. TIOCGETP = $7408;
  1937. TIOCSETP = $7409;
  1938. TIOCSETN = $740a;
  1939. TIOCSBRK = $5427;
  1940. TIOCCBRK = $5428;
  1941. TIOCGSID = $7416;
  1942. TIOCVHANGUP = $5437;
  1943. TIOCSCTTY = $5480;
  1944. TIOCGSOFTCAR = $5481;
  1945. TIOCSSOFTCAR = $5482;
  1946. TIOCLINUX = $5483;
  1947. TIOCGSERIAL = $5484;
  1948. TIOCSSERIAL = $5485;
  1949. TCSBRKP = $5486;
  1950. TIOCSERCONFIG = $5488;
  1951. TIOCSERGWILD = $5489;
  1952. TIOCSERSWILD = $548a;
  1953. TIOCGLCKTRMIOS = $548b;
  1954. TIOCSLCKTRMIOS = $548c;
  1955. TIOCSERGSTRUCT = $548d;
  1956. TIOCSERGETLSR = $548e;
  1957. TIOCSERGETMULTI = $548f;
  1958. TIOCSERSETMULTI = $5490;
  1959. TIOCMIWAIT = $5491;
  1960. TIOCGICOUNT = $5492;
  1961. VINTR = 0;
  1962. VQUIT = 1;
  1963. VERASE = 2;
  1964. VKILL = 3;
  1965. VMIN = 4;
  1966. VTIME = 5;
  1967. VEOL2 = 6;
  1968. VSWTC = 7;
  1969. VSWTCH = VSWTC;
  1970. VSTART = 8;
  1971. VSTOP = 9;
  1972. VSUSP = 10;
  1973. VREPRINT = 12;
  1974. VDISCARD = 13;
  1975. VWERASE = 14;
  1976. VLNEXT = 15;
  1977. VEOF = 16;
  1978. VEOL = 17;
  1979. IGNBRK = &0000001;
  1980. BRKINT = &0000002;
  1981. IGNPAR = &0000004;
  1982. PARMRK = &0000010;
  1983. INPCK = &0000020;
  1984. ISTRIP = &0000040;
  1985. INLCR = &0000100;
  1986. IGNCR = &0000200;
  1987. ICRNL = &0000400;
  1988. IUCLC = &0001000;
  1989. IXON = &0002000;
  1990. IXANY = &0004000;
  1991. IXOFF = &0010000;
  1992. IMAXBEL = &0020000;
  1993. IUTF8 = &0040000;
  1994. OPOST = &0000001;
  1995. OLCUC = &0000002;
  1996. ONLCR = &0000004;
  1997. OCRNL = &0000010;
  1998. ONOCR = &0000020;
  1999. ONLRET = &0000040;
  2000. OFILL = &0000100;
  2001. OFDEL = &0000200;
  2002. NLDLY = &0000400;
  2003. NL0 = &0000000;
  2004. NL1 = &0000400;
  2005. CRDLY = &0003000;
  2006. CR0 = &0000000;
  2007. CR1 = &0001000;
  2008. CR2 = &0002000;
  2009. CR3 = &0003000;
  2010. TABDLY = &0014000;
  2011. TAB0 = &0000000;
  2012. TAB1 = &0004000;
  2013. TAB2 = &0010000;
  2014. TAB3 = &0014000;
  2015. XTABS = &0014000;
  2016. BSDLY = &0020000;
  2017. BS0 = &0000000;
  2018. BS1 = &0020000;
  2019. VTDLY = &0040000;
  2020. VT0 = &0000000;
  2021. VT1 = &0040000;
  2022. FFDLY = &0100000;
  2023. FF0 = &0000000;
  2024. FF1 = &0100000;
  2025. CBAUD = &0010017;
  2026. B0 = &0000000;
  2027. B50 = &0000001;
  2028. B75 = &0000002;
  2029. B110 = &0000003;
  2030. B134 = &0000004;
  2031. B150 = &0000005;
  2032. B200 = &0000006;
  2033. B300 = &0000007;
  2034. B600 = &0000010;
  2035. B1200 = &0000011;
  2036. B1800 = &0000012;
  2037. B2400 = &0000013;
  2038. B4800 = &0000014;
  2039. B9600 = &0000015;
  2040. B19200 = &0000016;
  2041. B38400 = &0000017;
  2042. EXTA = $B19200;
  2043. EXTB = $B38400;
  2044. CSIZE = &0000060;
  2045. CS5 = &0000000;
  2046. CS6 = &0000020;
  2047. CS7 = &0000040;
  2048. CS8 = &0000060;
  2049. CSTOPB = &0000100;
  2050. CREAD = &0000200;
  2051. PARENB = &0000400;
  2052. PARODD = &0001000;
  2053. HUPCL = &0002000;
  2054. CLOCAL = &0004000;
  2055. CBAUDEX = &0010000;
  2056. BOTHER = &0010000;
  2057. B57600 = &0010001;
  2058. B115200 = &0010002;
  2059. B230400 = &0010003;
  2060. B460800 = &0010004;
  2061. B500000 = &0010005;
  2062. B576000 = &0010006;
  2063. B921600 = &0010007;
  2064. B1000000 = &0010010;
  2065. B1152000 = &0010011;
  2066. B1500000 = &0010012;
  2067. B2000000 = &0010013;
  2068. B2500000 = &0010014;
  2069. B3000000 = &0010015;
  2070. B3500000 = &0010016;
  2071. B4000000 = &0010017;
  2072. __MAX_BAUD= B4000000;
  2073. CIBAUD = &002003600000;
  2074. CMSPAR = &010000000000;
  2075. CRTSCTS = &020000000000;
  2076. IBSHIFT = 16;
  2077. ISIG = &0000001;
  2078. ICANON = &0000002;
  2079. XCASE = &0000004;
  2080. ECHO = &0000010;
  2081. ECHOE = &0000020;
  2082. ECHOK = &0000040;
  2083. ECHONL = &0000100;
  2084. NOFLSH = &0000200;
  2085. IEXTEN = &0000400;
  2086. ECHOCTL = &0001000;
  2087. ECHOPRT = &0002000;
  2088. ECHOKE = &0004000;
  2089. FLUSHO = &0020000;
  2090. PENDIN = &0040000;
  2091. TOSTOP = &0100000;
  2092. ITOSTOP = TOSTOP;
  2093. EXTPROC = &0200000;
  2094. TIOCSER_TEMT = $01;
  2095. TCOOFF = 0;
  2096. TCOON = 1;
  2097. TCIOFF = 2;
  2098. TCION = 3;
  2099. TCIFLUSH = 0;
  2100. TCOFLUSH = 1;
  2101. TCIOFLUSH = 2;
  2102. TIOCM_LE = $001;
  2103. TIOCM_DTR = $002;
  2104. TIOCM_RTS = $004;
  2105. TIOCM_ST = $010;
  2106. TIOCM_SR = $020;
  2107. TIOCM_CTS = $040;
  2108. TIOCM_CAR = $100;
  2109. TIOCM_RNG = $200;
  2110. TIOCM_DSR = $400;
  2111. TIOCM_CD = TIOCM_CAR;
  2112. TIOCM_RI = TIOCM_RNG;
  2113. TIOCM_OUT1 = $2000;
  2114. TIOCM_OUT2 = $4000;
  2115. TIOCM_LOOP = $8000;
  2116. TCSANOW = TCSETS;
  2117. TCSADRAIN = TCSETSW;
  2118. TCSAFLUSH = TCSETSF;
  2119. {$endif CPUMIPS}
  2120. {$ifdef CPUM68K}
  2121. const
  2122. TCGETS = $5401;
  2123. TCSETS = $5402;
  2124. TCSETSW = $5403;
  2125. TCSETSF = $5404;
  2126. TCGETA = $5405;
  2127. TCSETA = $5406;
  2128. TCSETAW = $5407;
  2129. TCSETAF = $5408;
  2130. TCSBRK = $5409;
  2131. TCXONC = $540A;
  2132. TCFLSH = $540B;
  2133. TIOCEXCL = $540C;
  2134. TIOCNXCL = $540D;
  2135. TIOCSCTTY = $540E;
  2136. TIOCGPGRP = $540F;
  2137. TIOCSPGRP = $5410;
  2138. TIOCOUTQ = $5411;
  2139. TIOCSTI = $5412;
  2140. TIOCGWINSZ = $5413;
  2141. TIOCSWINSZ = $5414;
  2142. TIOCMGET = $5415;
  2143. TIOCMBIS = $5416;
  2144. TIOCMBIC = $5417;
  2145. TIOCMSET = $5418;
  2146. TIOCGSOFTCAR = $5419;
  2147. TIOCSSOFTCAR = $541A;
  2148. FIONREAD = $541B;
  2149. TIOCINQ = FIONREAD;
  2150. TIOCLINUX = $541C;
  2151. TIOCCONS = $541D;
  2152. TIOCGSERIAL = $541E;
  2153. TIOCSSERIAL = $541F;
  2154. TIOCPKT = $5420;
  2155. FIONBIO = $5421;
  2156. TIOCNOTTY = $5422;
  2157. TIOCSETD = $5423;
  2158. TIOCGETD = $5424;
  2159. TCSBRKP = $5425;
  2160. TIOCSBRK = $5427;
  2161. TIOCCBRK = $5428;
  2162. TIOCGSID = $5429;
  2163. TIOCGRS485 = $542E;
  2164. TIOCSRS485 = $542F;
  2165. TCGETX = $5432;
  2166. TCSETX = $5433;
  2167. TCSETXF = $5434;
  2168. TCSETXW = $5435;
  2169. TIOCVHANGUP = $5437;
  2170. FIONCLEX = $5450;
  2171. FIOCLEX = $5451;
  2172. FIOASYNC = $5452;
  2173. TIOCSERCONFIG = $5453;
  2174. TIOCSERGWILD = $5454;
  2175. TIOCSERSWILD = $5455;
  2176. TIOCGLCKTRMIOS = $5456;
  2177. TIOCSLCKTRMIOS = $5457;
  2178. TIOCSERGSTRUCT = $5458;
  2179. TIOCSERGETLSR = $5459;
  2180. TIOCSERGETMULTI = $545A;
  2181. TIOCSERSETMULTI = $545B;
  2182. TIOCMIWAIT = $545C;
  2183. TIOCGICOUNT = $545D;
  2184. { c_cc characters }
  2185. VINTR = 0;
  2186. VQUIT = 1;
  2187. VERASE = 2;
  2188. VKILL = 3;
  2189. VEOF = 4;
  2190. VTIME = 5;
  2191. VMIN = 6;
  2192. VSWTC = 7;
  2193. VSTART = 8;
  2194. VSTOP = 9;
  2195. VSUSP = 10;
  2196. VEOL = 11;
  2197. VREPRINT = 12;
  2198. VDISCARD = 13;
  2199. VWERASE = 14;
  2200. VLNEXT = 15;
  2201. VEOL2 = 16;
  2202. { c_iflag bits }
  2203. IGNBRK = &000001;
  2204. BRKINT = &000002;
  2205. IGNPAR = &000004;
  2206. PARMRK = &000010;
  2207. INPCK = &000020;
  2208. ISTRIP = &000040;
  2209. INLCR = &000100;
  2210. IGNCR = &000200;
  2211. ICRNL = &000400;
  2212. IUCLC = &001000;
  2213. IXON = &002000;
  2214. IXANY = &004000;
  2215. IXOFF = &010000;
  2216. IMAXBEL = &020000;
  2217. IUTF8 = &040000;
  2218. { c_oflag bits }
  2219. OPOST = &000001;
  2220. OLCUC = &000002;
  2221. ONLCR = &000004;
  2222. OCRNL = &000010;
  2223. ONOCR = &000020;
  2224. ONLRET = &000040;
  2225. OFILL = &000100;
  2226. OFDEL = &000200;
  2227. NLDLY = &000400;
  2228. NL0 = &000000;
  2229. NL1 = &000400;
  2230. CRDLY = &003000;
  2231. CR0 = &000000;
  2232. CR1 = &001000;
  2233. CR2 = &002000;
  2234. CR3 = &003000;
  2235. TABDLY = &014000;
  2236. TAB0 = &000000;
  2237. TAB1 = &004000;
  2238. TAB2 = &010000;
  2239. TAB3 = &014000;
  2240. XTABS = &014000;
  2241. BSDLY = &020000;
  2242. BS0 = &000000;
  2243. BS1 = &020000;
  2244. VTDLY = &040000;
  2245. VT0 = &000000;
  2246. VT1 = &040000;
  2247. FFDLY = &100000;
  2248. FF0 = &000000;
  2249. FF1 = &100000;
  2250. { c_cflag bit meaning }
  2251. CBAUD = &010017;
  2252. { hang up }
  2253. B0 = &000000;
  2254. B50 = &000001;
  2255. B75 = &000002;
  2256. B110 = &000003;
  2257. B134 = &000004;
  2258. B150 = &000005;
  2259. B200 = &000006;
  2260. B300 = &000007;
  2261. B600 = &000010;
  2262. B1200 = &000011;
  2263. B1800 = &000012;
  2264. B2400 = &000013;
  2265. B4800 = &000014;
  2266. B9600 = &000015;
  2267. B19200 = &000016;
  2268. B38400 = &000017;
  2269. EXTA = B19200;
  2270. EXTB = B38400;
  2271. CSIZE = &000060;
  2272. CS5 = &000000;
  2273. CS6 = &000020;
  2274. CS7 = &000040;
  2275. CS8 = &000060;
  2276. CSTOPB = &000100;
  2277. CREAD = &000200;
  2278. PARENB = &000400;
  2279. PARODD = &001000;
  2280. HUPCL = &002000;
  2281. CLOCAL = &004000;
  2282. CBAUDEX = &010000;
  2283. BOTHER = &010000;
  2284. B57600 = &010001;
  2285. B115200 = &010002;
  2286. B230400 = &010003;
  2287. B460800 = &010004;
  2288. B500000 = &010005;
  2289. B576000 = &010006;
  2290. B921600 = &010007;
  2291. B1000000 = &010010;
  2292. B1152000 = &010011;
  2293. B1500000 = &010012;
  2294. B2000000 = &010013;
  2295. B2500000 = &010014;
  2296. B3000000 = &010015;
  2297. B3500000 = &010016;
  2298. B4000000 = &010017;
  2299. __MAX_BAUD= B4000000;
  2300. CIBAUD = &02003600000;
  2301. CMSPAR = &10000000000;
  2302. CRTSCTS = &20000000000;
  2303. IBSHIFT = 16;
  2304. { c_lflag bits }
  2305. ISIG = &000001;
  2306. ICANON = &000002;
  2307. XCASE = &000004;
  2308. ECHO = &000010;
  2309. ECHOE = &000020;
  2310. ECHOK = &000040;
  2311. ECHONL = &000100;
  2312. NOFLSH = &000200;
  2313. TOSTOP = &000400;
  2314. ECHOCTL = &001000;
  2315. ECHOPRT = &002000;
  2316. ECHOKE = &004000;
  2317. FLUSHO = &010000;
  2318. PENDIN = &040000;
  2319. IEXTEN = &100000;
  2320. EXTPROC = &200000;
  2321. TCOOFF = 0;
  2322. TCOON = 1;
  2323. TCIOFF = 2;
  2324. TCION = 3;
  2325. TCIFLUSH = 0;
  2326. TCOFLUSH = 1;
  2327. TCIOFLUSH = 2;
  2328. TCSANOW = 0;
  2329. TCSADRAIN = 1;
  2330. TCSAFLUSH = 2;
  2331. { modem lines }
  2332. TIOCM_LE = $001;
  2333. TIOCM_DTR = $002;
  2334. TIOCM_RTS = $004;
  2335. TIOCM_ST = $008;
  2336. TIOCM_SR = $010;
  2337. TIOCM_CTS = $020;
  2338. TIOCM_CAR = $040;
  2339. TIOCM_RNG = $080;
  2340. TIOCM_DSR = $100;
  2341. TIOCM_CD = TIOCM_CAR;
  2342. TIOCM_RI = TIOCM_RNG;
  2343. TIOCM_OUT1 = $2000;
  2344. TIOCM_OUT2 = $4000;
  2345. TIOCM_LOOP = $8000;
  2346. {$endif CPUM68K}
  2347. {$ifdef cpuxtensa}
  2348. { For Terminal handling }
  2349. TCGETS = $5401;
  2350. TCSETS = $5402;
  2351. TCSETSW = $5403;
  2352. TCSETSF = $5404;
  2353. TCGETA = $5405;
  2354. TCSETA = $5406;
  2355. TCSETAW = $5407;
  2356. TCSETAF = $5408;
  2357. TCSBRK = $5409;
  2358. TCXONC = $540A;
  2359. TCFLSH = $540B;
  2360. TIOCEXCL = $540C;
  2361. TIOCNXCL = $540D;
  2362. TIOCSCTTY = $540E;
  2363. TIOCGPGRP = $540F;
  2364. TIOCSPGRP = $5410;
  2365. TIOCOUTQ = $5411;
  2366. TIOCSTI = $5412;
  2367. TIOCGWINSZ = $5413;
  2368. TIOCSWINSZ = $5414;
  2369. TIOCMGET = $5415;
  2370. TIOCMBIS = $5416;
  2371. TIOCMBIC = $5417;
  2372. TIOCMSET = $5418;
  2373. TIOCGSOFTCAR = $5419;
  2374. TIOCSSOFTCAR = $541A;
  2375. FIONREAD = $541B;
  2376. TIOCINQ = FIONREAD;
  2377. TIOCLINUX = $541C;
  2378. TIOCCONS = $541D;
  2379. TIOCGSERIAL = $541E;
  2380. TIOCSSERIAL = $541F;
  2381. TIOCPKT = $5420;
  2382. FIONBIO = $5421;
  2383. TIOCNOTTY = $5422;
  2384. TIOCSETD = $5423;
  2385. TIOCGETD = $5424;
  2386. TCSBRKP = $5425;
  2387. TIOCTTYGSTRUCT = $5426;
  2388. FIONCLEX = $5450;
  2389. FIOCLEX = $5451;
  2390. FIOASYNC = $5452;
  2391. TIOCSERCONFIG = $5453;
  2392. TIOCSERGWILD = $5454;
  2393. TIOCSERSWILD = $5455;
  2394. TIOCGLCKTRMIOS = $5456;
  2395. TIOCSLCKTRMIOS = $5457;
  2396. TIOCSERGSTRUCT = $5458;
  2397. TIOCSERGETLSR = $5459;
  2398. TIOCSERGETMULTI = $545A;
  2399. TIOCSERSETMULTI = $545B;
  2400. TIOCMIWAIT = $545C;
  2401. TIOCGICOUNT = $545D;
  2402. TIOCGHAYESESP = $545E;
  2403. TIOCSHAYESESP = $545F;
  2404. FIOQSIZE = $5460;
  2405. TIOCPKT_DATA = 0;
  2406. TIOCPKT_FLUSHREAD = 1;
  2407. TIOCPKT_FLUSHWRITE = 2;
  2408. TIOCPKT_STOP = 4;
  2409. TIOCPKT_START = 8;
  2410. TIOCPKT_NOSTOP = 16;
  2411. TIOCPKT_DOSTOP = 32;
  2412. {c_cc characters}
  2413. VINTR = 0;
  2414. VQUIT = 1;
  2415. VERASE = 2;
  2416. VKILL = 3;
  2417. VEOF = 4;
  2418. VTIME = 5;
  2419. VMIN = 6;
  2420. VSWTC = 7;
  2421. VSTART = 8;
  2422. VSTOP = 9;
  2423. VSUSP = 10;
  2424. VEOL = 11;
  2425. VREPRINT = 12;
  2426. VDISCARD = 13;
  2427. VWERASE = 14;
  2428. VLNEXT = 15;
  2429. VEOL2 = 16;
  2430. {c_iflag bits}
  2431. IGNBRK = $0000001;
  2432. BRKINT = $0000002;
  2433. IGNPAR = $0000004;
  2434. PARMRK = $0000008;
  2435. INPCK = $0000010;
  2436. ISTRIP = $0000020;
  2437. INLCR = $0000040;
  2438. IGNCR = $0000080;
  2439. ICRNL = $0000100;
  2440. IUCLC = $0000200;
  2441. IXON = $0000400;
  2442. IXANY = $0000800;
  2443. IXOFF = $0001000;
  2444. IMAXBEL = $0002000;
  2445. IUTF8 = $0004000;
  2446. {c_oflag bits}
  2447. OPOST = $0000001;
  2448. OLCUC = $0000002;
  2449. ONLCR = $0000004;
  2450. OCRNL = $0000008;
  2451. ONOCR = $0000010;
  2452. ONLRET = $0000020;
  2453. OFILL = $0000040;
  2454. OFDEL = $0000080;
  2455. NLDLY = $0000100;
  2456. NL0 = $0000000;
  2457. NL1 = $0000100;
  2458. CRDLY = $0000600;
  2459. CR0 = $0000000;
  2460. CR1 = $0000200;
  2461. CR2 = $0000400;
  2462. CR3 = $0000600;
  2463. TABDLY = $0001800;
  2464. TAB0 = $0000000;
  2465. TAB1 = $0000800;
  2466. TAB2 = $0001000;
  2467. TAB3 = $0001800;
  2468. XTABS = $0001800;
  2469. BSDLY = $0002000;
  2470. BS0 = $0000000;
  2471. BS1 = $0002000;
  2472. VTDLY = $0004000;
  2473. VT0 = $0000000;
  2474. VT1 = $0004000;
  2475. FFDLY = $0008000;
  2476. FF0 = $0000000;
  2477. FF1 = $0008000;
  2478. {c_cflag bits}
  2479. CBAUD = $000100F;
  2480. B0 = $0000000;
  2481. B50 = $0000001;
  2482. B75 = $0000002;
  2483. B110 = $0000003;
  2484. B134 = $0000004;
  2485. B150 = $0000005;
  2486. B200 = $0000006;
  2487. B300 = $0000007;
  2488. B600 = $0000008;
  2489. B1200 = $0000009;
  2490. B1800 = $000000A;
  2491. B2400 = $000000B;
  2492. B4800 = $000000C;
  2493. B9600 = $000000D;
  2494. B19200 = $000000E;
  2495. B38400 = $000000F;
  2496. EXTA = B19200;
  2497. EXTB = B38400;
  2498. CSIZE = $0000030;
  2499. CS5 = $0000000;
  2500. CS6 = $0000010;
  2501. CS7 = $0000020;
  2502. CS8 = $0000030;
  2503. CSTOPB = $0000040;
  2504. CREAD = $0000080;
  2505. PARENB = $0000100;
  2506. PARODD = $0000200;
  2507. HUPCL = $0000400;
  2508. CLOCAL = $0000800;
  2509. CBAUDEX = $0001000;
  2510. B57600 = $0001001;
  2511. B115200 = $0001002;
  2512. B230400 = $0001003;
  2513. B460800 = $0001004;
  2514. B500000 = $0001005;
  2515. B576000 = $0001006;
  2516. B921600 = $0001007;
  2517. B1000000= $0001008;
  2518. B1152000= $0001009;
  2519. B1500000= $000100A;
  2520. B2000000= $000100B;
  2521. B2500000= $000100C;
  2522. B3000000= $000100D;
  2523. B3500000= $000100E;
  2524. B4000000= $000100F;
  2525. __MAX_BAUD= B4000000;
  2526. CIBAUD = $100F0000;
  2527. CMSPAR = $40000000;
  2528. CRTSCTS = $80000000;
  2529. {c_lflag bits}
  2530. ISIG = $0000001;
  2531. ICANON = $0000002;
  2532. XCASE = $0000004;
  2533. ECHO = $0000008;
  2534. ECHOE = $0000010;
  2535. ECHOK = $0000020;
  2536. ECHONL = $0000040;
  2537. NOFLSH = $0000080;
  2538. TOSTOP = $0000100;
  2539. ECHOCTL = $0000200;
  2540. ECHOPRT = $0000400;
  2541. ECHOKE = $0000800;
  2542. FLUSHO = $0001000;
  2543. PENDIN = $0004000;
  2544. IEXTEN = $0008000;
  2545. {c_line bits}
  2546. TIOCM_LE = $001;
  2547. TIOCM_DTR = $002;
  2548. TIOCM_RTS = $004;
  2549. TIOCM_ST = $008;
  2550. TIOCM_SR = $010;
  2551. TIOCM_CTS = $020;
  2552. TIOCM_CAR = $040;
  2553. TIOCM_RNG = $080;
  2554. TIOCM_DSR = $100;
  2555. TIOCM_CD = TIOCM_CAR;
  2556. TIOCM_RI = TIOCM_RNG;
  2557. TIOCM_OUT1 = $2000;
  2558. TIOCM_OUT2 = $4000;
  2559. {TCSetAttr}
  2560. TCSANOW = 0;
  2561. TCSADRAIN = 1;
  2562. TCSAFLUSH = 2;
  2563. {TCFlow}
  2564. TCOOFF = 0;
  2565. TCOON = 1;
  2566. TCIOFF = 2;
  2567. TCION = 3;
  2568. {TCFlush}
  2569. TCIFLUSH = 0;
  2570. TCOFLUSH = 1;
  2571. TCIOFLUSH = 2;
  2572. {$endif cpuxtensa}
  2573. Type
  2574. winsize = record
  2575. ws_row,
  2576. ws_col,
  2577. ws_xpixel,
  2578. ws_ypixel : word;
  2579. end;
  2580. TWinSize=winsize;
  2581. {$PACKRECORDS C}
  2582. Termios = record
  2583. c_iflag,
  2584. c_oflag,
  2585. c_cflag,
  2586. c_lflag : cardinal;
  2587. c_line : char;
  2588. c_cc : array[0..NCCS-1] of byte;
  2589. c_ispeed,
  2590. c_ospeed : cardinal;
  2591. end;
  2592. TTermios=Termios;
  2593. {$PACKRECORDS Default}