linux_termios.h 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. /* $OpenBSD: linux_termios.h,v 1.4 2002/05/07 20:23:42 jasoni Exp $ */
  2. #define LINUX_TCGETS _LINUX_IO('T', 1)
  3. #define LINUX_TCSETS _LINUX_IO('T', 2)
  4. #define LINUX_TCSETSW _LINUX_IO('T', 3)
  5. #define LINUX_TCSETSF _LINUX_IO('T', 4)
  6. #define LINUX_TCGETA _LINUX_IO('T', 5)
  7. #define LINUX_TCSETA _LINUX_IO('T', 6)
  8. #define LINUX_TCSETAW _LINUX_IO('T', 7)
  9. #define LINUX_TCSETAF _LINUX_IO('T', 8)
  10. #define LINUX_TCSBRK _LINUX_IO('T', 9)
  11. #define LINUX_TCXONC _LINUX_IO('T', 10)
  12. #define LINUX_TCFLSH _LINUX_IO('T', 11)
  13. #define LINUX_TIOCEXCL _LINUX_IO('T', 12)
  14. #define LINUX_TIOCNXCL _LINUX_IO('T', 13)
  15. #define LINUX_TIOCSCTTY _LINUX_IO('T', 14)
  16. #define LINUX_TIOCGPGRP _LINUX_IO('T', 15)
  17. #define LINUX_TIOCSPGRP _LINUX_IO('T', 16)
  18. #define LINUX_TIOCOUTQ _LINUX_IO('T', 17)
  19. #define LINUX_TIOCSTI _LINUX_IO('T', 18)
  20. #define LINUX_TIOCGWINSZ _LINUX_IO('T', 19)
  21. #define LINUX_TIOCSWINSZ _LINUX_IO('T', 20)
  22. #define LINUX_TIOCMGET _LINUX_IO('T', 21)
  23. #define LINUX_TIOCMBIS _LINUX_IO('T', 22)
  24. #define LINUX_TIOCMBIC _LINUX_IO('T', 23)
  25. #define LINUX_TIOCMSET _LINUX_IO('T', 24)
  26. #define LINUX_TIOCGSOFTCAR _LINUX_IO('T', 25)
  27. #define LINUX_TIOCSSOFTCAR _LINUX_IO('T', 26)
  28. #define LINUX_FIONREAD _LINUX_IO('T', 27)
  29. #define LINUX_TIOCINQ LINUX_FIONREAD
  30. #define LINUX_TIOCLINUX _LINUX_IO('T', 28)
  31. #define LINUX_TIOCCONS _LINUX_IO('T', 29)
  32. #define LINUX_TIOCGSERIAL _LINUX_IO('T', 30)
  33. #define LINUX_TIOCSSERIAL _LINUX_IO('T', 31)
  34. #define LINUX_TIOCPKT _LINUX_IO('T', 32)
  35. #define LINUX_FIONBIO _LINUX_IO('T', 33)
  36. #define LINUX_TIOCNOTTY _LINUX_IO('T', 34)
  37. #define LINUX_TIOCSETD _LINUX_IO('T', 35)
  38. #define LINUX_TIOCGETD _LINUX_IO('T', 36)
  39. #define LINUX_TCSBRKP _LINUX_IO('T', 37)
  40. #define LINUX_TIOCTTYGSTRUCT _LINUX_IO('T', 38)
  41. #define LINUX_FIONCLEX _LINUX_IO('T', 80)
  42. #define LINUX_FIOCLEX _LINUX_IO('T', 81)
  43. #define LINUX_FIOASYNC _LINUX_IO('T', 82)
  44. #define LINUX_TIOCSERCONFIG _LINUX_IO('T', 83)
  45. #define LINUX_TIOCSERGWILD _LINUX_IO('T', 84)
  46. #define LINUX_TIOCSERSWILD _LINUX_IO('T', 85)
  47. #define LINUX_TIOCGLCKTRMIOS _LINUX_IO('T', 86)
  48. #define LINUX_TIOCSLCKTRMIOS _LINUX_IO('T', 87)
  49. #define LINUX_TIOCSERGSTRUCT _LINUX_IO('T', 88)
  50. #define LINUX_TIOCSERGETLSR _LINUX_IO('T', 89)
  51. #define LINUX_NCC 8
  52. struct linux_termio {
  53. unsigned short c_iflag;
  54. unsigned short c_oflag;
  55. unsigned short c_cflag;
  56. unsigned short c_lflag;
  57. unsigned char c_line;
  58. unsigned char c_cc[LINUX_NCC];
  59. };
  60. typedef unsigned char linux_cc_t;
  61. typedef unsigned long linux_tcflag_t;
  62. #define LINUX_NCCS 19
  63. struct linux_termios {
  64. linux_tcflag_t c_iflag;
  65. linux_tcflag_t c_oflag;
  66. linux_tcflag_t c_cflag;
  67. linux_tcflag_t c_lflag;
  68. linux_cc_t c_line;
  69. linux_cc_t c_cc[LINUX_NCCS];
  70. };
  71. /* Just in old style linux_termio struct */
  72. #define LINUX_VINTR 0
  73. #define LINUX_VQUIT 1
  74. #define LINUX_VERASE 2
  75. #define LINUX_VKILL 3
  76. #define LINUX_VEOF 4
  77. #define LINUX_VTIME 5
  78. #define LINUX_VMIN 6
  79. #define LINUX_VSWTC 7
  80. /* In the termios struct too */
  81. #define LINUX_VSTART 8
  82. #define LINUX_VSTOP 9
  83. #define LINUX_VSUSP 10
  84. #define LINUX_VEOL 11
  85. #define LINUX_VREPRINT 12
  86. #define LINUX_VDISCARD 13
  87. #define LINUX_VWERASE 14
  88. #define LINUX_VLNEXT 15
  89. #define LINUX_VEOL2 16
  90. /* Linux c_iflag masks */
  91. #define LINUX_IGNBRK 0x0000001
  92. #define LINUX_BRKINT 0x0000002
  93. #define LINUX_IGNPAR 0x0000004
  94. #define LINUX_PARMRK 0x0000008
  95. #define LINUX_INPCK 0x0000010
  96. #define LINUX_ISTRIP 0x0000020
  97. #define LINUX_INLCR 0x0000040
  98. #define LINUX_IGNCR 0x0000080
  99. #define LINUX_ICRNL 0x0000100
  100. #define LINUX_IUCLC 0x0000200
  101. #define LINUX_IXON 0x0000400
  102. #define LINUX_IXANY 0x0000800
  103. #define LINUX_IXOFF 0x0001000
  104. #define LINUX_IMAXBEL 0x0002000
  105. /* Linux c_oflag masks */
  106. #define LINUX_OPOST 0x0000001
  107. #define LINUX_OLCUC 0x0000002
  108. #define LINUX_ONLCR 0x0000004
  109. #define LINUX_OCRNL 0x0000008
  110. #define LINUX_ONOCR 0x0000010
  111. #define LINUX_ONLRET 0x0000020
  112. #define LINUX_OFILL 0x0000040
  113. #define LINUX_OFDEL 0x0000080
  114. #define LINUX_NLDLY 0x0000100
  115. #define LINUX_NL0 0x0000000
  116. #define LINUX_NL1 0x0000100
  117. #define LINUX_CRDLY 0x0000600
  118. #define LINUX_CR0 0x0000000
  119. #define LINUX_CR1 0x0000200
  120. #define LINUX_CR2 0x0000400
  121. #define LINUX_CR3 0x0000600
  122. #define LINUX_TABDLY 0x0001800
  123. #define LINUX_TAB0 0x0000000
  124. #define LINUX_TAB1 0x0000800
  125. #define LINUX_TAB2 0x0001000
  126. #define LINUX_TAB3 0x0001800
  127. #define LINUX_XTABS 0x0001800
  128. #define LINUX_BSDLY 0x0002000
  129. #define LINUX_BS0 0x0000000
  130. #define LINUX_BS1 0x0002000
  131. #define LINUX_VTDLY 0x0004000
  132. #define LINUX_VT0 0x0000000
  133. #define LINUX_VT1 0x0004000
  134. #define LINUX_FFDLY 0x0008000
  135. #define LINUX_FF0 0x0000000
  136. #define LINUX_FF1 0x0008000
  137. /* Linux c_cflag bit masks */
  138. #define LINUX_NSPEEDS 16
  139. #define LINUX_NXSPEEDS 2
  140. #define LINUX_CBAUD 0x0000100f
  141. #define LINUX_B0 0x00000000
  142. #define LINUX_B50 0x00000001
  143. #define LINUX_B75 0x00000002
  144. #define LINUX_B110 0x00000003
  145. #define LINUX_B134 0x00000004
  146. #define LINUX_B150 0x00000005
  147. #define LINUX_B200 0x00000006
  148. #define LINUX_B300 0x00000007
  149. #define LINUX_B600 0x00000008
  150. #define LINUX_B1200 0x00000009
  151. #define LINUX_B1800 0x0000000a
  152. #define LINUX_B2400 0x0000000b
  153. #define LINUX_B4800 0x0000000c
  154. #define LINUX_B9600 0x0000000d
  155. #define LINUX_B19200 0x0000000e
  156. #define LINUX_B38400 0x0000000f
  157. #define LINUX_EXTA LINUX_B19200
  158. #define LINUX_EXTB LINUX_B38400
  159. #define LINUX_CBAUDEX 0x00001000
  160. #define LINUX_B57600 0x00001001
  161. #define LINUX_B115200 0x00001002
  162. #define LINUX_B230400 0x00001003
  163. #define LINUX_CSIZE 0x00000030
  164. #define LINUX_CS5 0x00000000
  165. #define LINUX_CS6 0x00000010
  166. #define LINUX_CS7 0x00000020
  167. #define LINUX_CS8 0x00000030
  168. #define LINUX_CSTOPB 0x00000040
  169. #define LINUX_CREAD 0x00000080
  170. #define LINUX_PARENB 0x00000100
  171. #define LINUX_PARODD 0x00000200
  172. #define LINUX_HUPCL 0x00000400
  173. #define LINUX_CLOCAL 0x00000800
  174. #define LINUX_CRTSCTS 0x80000000
  175. /* Linux c_lflag masks */
  176. #define LINUX_ISIG 0x00000001
  177. #define LINUX_ICANON 0x00000002
  178. #define LINUX_XCASE 0x00000004
  179. #define LINUX_ECHO 0x00000008
  180. #define LINUX_ECHOE 0x00000010
  181. #define LINUX_ECHOK 0x00000020
  182. #define LINUX_ECHONL 0x00000040
  183. #define LINUX_NOFLSH 0x00000080
  184. #define LINUX_TOSTOP 0x00000100
  185. #define LINUX_ECHOCTL 0x00000200
  186. #define LINUX_ECHOPRT 0x00000400
  187. #define LINUX_ECHOKE 0x00000800
  188. #define LINUX_FLUSHO 0x00001000
  189. #define LINUX_PENDIN 0x00002000
  190. #define LINUX_IEXTEN 0x00008000
  191. /* Linux modem line defines.. not sure if they'll be used */
  192. #define LINUX_TIOCM_LE 0x0001
  193. #define LINUX_TIOCM_DTR 0x0002
  194. #define LINUX_TIOCM_RTS 0x0004
  195. #define LINUX_TIOCM_ST 0x0008
  196. #define LINUX_TIOCM_SR 0x0010
  197. #define LINUX_TIOCM_CTS 0x0020
  198. #define LINUX_TIOCM_CAR 0x0040
  199. #define LINUX_TIOCM_RNG 0x0080
  200. #define LINUX_TIOCM_DSR 0x0100
  201. #define LINUX_TIOCM_CD LINUX_TIOCM_CAR
  202. #define LINUX_TIOCM_RI LINUX_TIOCM_RNG
  203. #define LINUX_TCIFLUSH 0
  204. #define LINUX_TCOFLUSH 1
  205. #define LINUX_TCIOFLUSH 2
  206. #define LINUX_TCOOFF 0
  207. #define LINUX_TCOON 1
  208. #define LINUX_TCIOFF 2
  209. #define LINUX_TCION 3
  210. #define LINUX_TCSANOW 0
  211. #define LINUX_TCSADRAIN 1
  212. #define LINUX_TCSAFLUSH 2
  213. /* Linux line disciplines */
  214. #define LINUX_N_TTY 0
  215. #define LINUX_N_SLIP 1
  216. #define LINUX_N_MOUSE 2
  217. #define LINUX_N_PPP 3
  218. /* values passed to TIOCLINUX ioctl */
  219. #define LINUX_TIOCLINUX_COPY 2
  220. #define LINUX_TIOCLINUX_PASTE 3
  221. #define LINUX_TIOCLINUX_UNBLANK 4
  222. #define LINUX_TIOCLINUX_LOADLUT 5
  223. #define LINUX_TIOCLINUX_READSHIFT 6
  224. #define LINUX_TIOCLINUX_READMOUSE 7
  225. #define LINUX_TIOCLINUX_VESABLANK 10
  226. #define LINUX_TIOCLINUX_KERNMSG 11
  227. #define LINUX_TIOCLINUX_CURCONS 12