termios.inc 63 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059
  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. {$ifdef cpuloongarch64}
  2574. { from Linux 4.0, include/uapi/asm-generic/ioctls.h }
  2575. { For Terminal handling }
  2576. TCGETS = $5401;
  2577. TCSETS = $5402;
  2578. TCSETSW = $5403;
  2579. TCSETSF = $5404;
  2580. TCGETA = $5405;
  2581. TCSETA = $5406;
  2582. TCSETAW = $5407;
  2583. TCSETAF = $5408;
  2584. TCSBRK = $5409;
  2585. TCXONC = $540A;
  2586. TCFLSH = $540B;
  2587. TIOCEXCL = $540C;
  2588. TIOCNXCL = $540D;
  2589. TIOCSCTTY = $540E;
  2590. TIOCGPGRP = $540F;
  2591. TIOCSPGRP = $5410;
  2592. TIOCOUTQ = $5411;
  2593. TIOCSTI = $5412;
  2594. TIOCGWINSZ = $5413;
  2595. TIOCSWINSZ = $5414;
  2596. TIOCMGET = $5415;
  2597. TIOCMBIS = $5416;
  2598. TIOCMBIC = $5417;
  2599. TIOCMSET = $5418;
  2600. TIOCGSOFTCAR = $5419;
  2601. TIOCSSOFTCAR = $541A;
  2602. FIONREAD = $541B;
  2603. TIOCINQ = FIONREAD;
  2604. TIOCLINUX = $541C;
  2605. TIOCCONS = $541D;
  2606. TIOCGSERIAL = $541E;
  2607. TIOCSSERIAL = $541F;
  2608. TIOCPKT = $5420;
  2609. FIONBIO = $5421;
  2610. TIOCNOTTY = $5422;
  2611. TIOCSETD = $5423;
  2612. TIOCGETD = $5424;
  2613. TCSBRKP = $5425;
  2614. TIOCSBRK = $5427;
  2615. TIOCCBRK = $5428;
  2616. TIOCGSID = $5429;
  2617. TIOCGRS485 = $542E;
  2618. TIOCSRS485 = $542F;
  2619. TCGETX = $5432;
  2620. TCSETX = $5433;
  2621. TCSETXF = $5434;
  2622. TCSETXW = $5435;
  2623. TIOCVHANGUP = $5437;
  2624. FIONCLEX = $5450;
  2625. FIOCLEX = $5451;
  2626. FIOASYNC = $5452;
  2627. TIOCSERCONFIG = $5453;
  2628. TIOCSERGWILD = $5454;
  2629. TIOCSERSWILD = $5455;
  2630. TIOCGLCKTRMIOS = $5456;
  2631. TIOCSLCKTRMIOS = $5457;
  2632. TIOCSERGSTRUCT = $5458;
  2633. TIOCSERGETLSR = $5459;
  2634. TIOCSERGETMULTI = $545A;
  2635. TIOCSERSETMULTI = $545B;
  2636. TIOCMIWAIT = $545C;
  2637. TIOCGICOUNT = $545D;
  2638. FIOQSIZE = $5460;
  2639. TIOCPKT_DATA = 0;
  2640. TIOCPKT_FLUSHREAD = 1;
  2641. TIOCPKT_FLUSHWRITE = 2;
  2642. TIOCPKT_STOP = 4;
  2643. TIOCPKT_START = 8;
  2644. TIOCPKT_NOSTOP = 16;
  2645. TIOCPKT_DOSTOP = 32;
  2646. TIOCPKT_IOCTL = 64;
  2647. TIOCSER_TEMT = $01;
  2648. { from Linux 4.0, include/uapi/asm-generic/termbits.h }
  2649. { c_cc characters }
  2650. VINTR = 0;
  2651. VQUIT = 1;
  2652. VERASE = 2;
  2653. VKILL = 3;
  2654. VEOF = 4;
  2655. VTIME = 5;
  2656. VMIN = 6;
  2657. VSWTC = 7;
  2658. VSTART = 8;
  2659. VSTOP = 9;
  2660. VSUSP = 10;
  2661. VEOL = 11;
  2662. VREPRINT = 12;
  2663. VDISCARD = 13;
  2664. VWERASE = 14;
  2665. VLNEXT = 15;
  2666. VEOL2 = 16;
  2667. { c_iflag bits }
  2668. IGNBRK = &0000001;
  2669. BRKINT = &0000002;
  2670. IGNPAR = &0000004;
  2671. PARMRK = &0000010;
  2672. INPCK = &0000020;
  2673. ISTRIP = &0000040;
  2674. INLCR = &0000100;
  2675. IGNCR = &0000200;
  2676. ICRNL = &0000400;
  2677. IUCLC = &0001000;
  2678. IXON = &0002000;
  2679. IXANY = &0004000;
  2680. IXOFF = &0010000;
  2681. IMAXBEL = &0020000;
  2682. IUTF8 = &0040000;
  2683. { c_oflag bits }
  2684. OPOST = &0000001;
  2685. OLCUC = &0000002;
  2686. ONLCR = &0000004;
  2687. OCRNL = &0000010;
  2688. ONOCR = &0000020;
  2689. ONLRET = &0000040;
  2690. OFILL = &0000100;
  2691. OFDEL = &0000200;
  2692. NLDLY = &0000400;
  2693. NL0 = &0000000;
  2694. NL1 = &0000400;
  2695. CRDLY = &0003000;
  2696. CR0 = &0000000;
  2697. CR1 = &0001000;
  2698. CR2 = &0002000;
  2699. CR3 = &0003000;
  2700. TABDLY = &0014000;
  2701. TAB0 = &0000000;
  2702. TAB1 = &0004000;
  2703. TAB2 = &0010000;
  2704. TAB3 = &0014000;
  2705. XTABS = &0014000;
  2706. BSDLY = &0020000;
  2707. BS0 = &0000000;
  2708. BS1 = &0020000;
  2709. VTDLY = &0040000;
  2710. VT0 = &0000000;
  2711. VT1 = &0040000;
  2712. FFDLY = &0100000;
  2713. FF0 = &0000000;
  2714. FF1 = &0100000;
  2715. { c_cflag bits }
  2716. CBAUD = &0010017;
  2717. B0 = &0000000;
  2718. B50 = &0000001;
  2719. B75 = &0000002;
  2720. B110 = &0000003;
  2721. B134 = &0000004;
  2722. B150 = &0000005;
  2723. B200 = &0000006;
  2724. B300 = &0000007;
  2725. B600 = &0000010;
  2726. B1200 = &0000011;
  2727. B1800 = &0000012;
  2728. B2400 = &0000013;
  2729. B4800 = &0000014;
  2730. B9600 = &0000015;
  2731. B19200 = &0000016;
  2732. B38400 = &0000017;
  2733. EXTA = B19200;
  2734. EXTB = B38400;
  2735. CSIZE = &0000060;
  2736. CS5 = &0000000;
  2737. CS6 = &0000020;
  2738. CS7 = &0000040;
  2739. CS8 = &0000060;
  2740. CSTOPB = &0000100;
  2741. CREAD = &0000200;
  2742. PARENB = &0000400;
  2743. PARODD = &0001000;
  2744. HUPCL = &0002000;
  2745. CLOCAL = &0004000;
  2746. CBAUDEX = &0010000;
  2747. BOTHER = &0010000;
  2748. B57600 = &0010001;
  2749. B115200 = &0010002;
  2750. B230400 = &0010003;
  2751. B460800 = &0010004;
  2752. B500000 = &0010005;
  2753. B576000 = &0010006;
  2754. B921600 = &0010007;
  2755. B1000000 = &0010010;
  2756. B1152000 = &0010011;
  2757. B1500000 = &0010012;
  2758. B2000000 = &0010013;
  2759. B2500000 = &0010014;
  2760. B3000000 = &0010015;
  2761. B3500000 = &0010016;
  2762. B4000000 = &0010017;
  2763. __MAX_BAUD = B4000000;
  2764. CIBAUD = &002003600000;
  2765. CMSPAR = &010000000000;
  2766. CRTSCTS = &020000000000;
  2767. IBSHIFT = 16;
  2768. { c_lflag bits }
  2769. ISIG = &0000001;
  2770. ICANON = &0000002;
  2771. XCASE = &0000004;
  2772. ECHO = &0000010;
  2773. ECHOE = &0000020;
  2774. ECHOK = &0000040;
  2775. ECHONL = &0000100;
  2776. NOFLSH = &0000200;
  2777. TOSTOP = &0000400;
  2778. ECHOCTL = &0001000;
  2779. ECHOPRT = &0002000;
  2780. ECHOKE = &0004000;
  2781. FLUSHO = &0010000;
  2782. PENDIN = &0040000;
  2783. IEXTEN = &0100000;
  2784. EXTPROC = &0200000;
  2785. { TCFlow }
  2786. TCOOFF = 0;
  2787. TCOON = 1;
  2788. TCIOFF = 2;
  2789. TCION = 3;
  2790. { TCFlush }
  2791. TCIFLUSH = 0;
  2792. TCOFLUSH = 1;
  2793. TCIOFLUSH = 2;
  2794. { TCSetAttr }
  2795. TCSANOW = 0;
  2796. TCSADRAIN = 1;
  2797. TCSAFLUSH = 2;
  2798. { from Linux 4.0, include/uapi/asm-generic/termios.h }
  2799. { c_line bits }
  2800. TIOCM_LE = $001;
  2801. TIOCM_DTR = $002;
  2802. TIOCM_RTS = $004;
  2803. TIOCM_ST = $008;
  2804. TIOCM_SR = $010;
  2805. TIOCM_CTS = $020;
  2806. TIOCM_CAR = $040;
  2807. TIOCM_RNG = $080;
  2808. TIOCM_DSR = $100;
  2809. TIOCM_CD = TIOCM_CAR;
  2810. TIOCM_RI = TIOCM_RNG;
  2811. TIOCM_OUT1 = $2000;
  2812. TIOCM_OUT2 = $4000;
  2813. TIOCM_LOOP = $8000;
  2814. {$endif cpuloongarch64}
  2815. Type
  2816. winsize = record
  2817. ws_row,
  2818. ws_col,
  2819. ws_xpixel,
  2820. ws_ypixel : word;
  2821. end;
  2822. TWinSize=winsize;
  2823. {$PACKRECORDS C}
  2824. Termios = record
  2825. c_iflag,
  2826. c_oflag,
  2827. c_cflag,
  2828. c_lflag : cardinal;
  2829. c_line : AnsiChar;
  2830. c_cc : array[0..NCCS-1] of byte;
  2831. c_ispeed,
  2832. c_ospeed : cardinal;
  2833. end;
  2834. TTermios=Termios;
  2835. {$PACKRECORDS Default}