home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 4 / DATAFILE_PDCD4.iso / unix / unixlib36d / clib / h / termio < prev    next >
Text File  |  1994-02-26  |  4KB  |  183 lines

  1. /* termio.h (c) Copyright 1990 H.Rogers */
  2.  
  3. #ifndef __TERMIO_H
  4. #define __TERMIO_H
  5.  
  6. #ifdef __cplusplus
  7. extern "C" {
  8. #endif
  9.  
  10. #define NCC    16
  11.  
  12. #define SSPEED    7
  13.  
  14. struct termio
  15.   {
  16.   unsigned short    c_iflag;    /* input modes */
  17.   unsigned short    c_oflag;    /* output modes */
  18.   unsigned short    c_cflag;    /* control modes */
  19.   unsigned short    c_lflag;    /* line discipline modes */
  20.   char            c_line;     /* line discipline */
  21.   unsigned char     c_cc[NCC];    /* control chars */
  22.   };
  23.  
  24. #define TCGETA        00001
  25. #define TCSETA        00002
  26. #define TCSETAW     00006
  27. #define TCSETAF     00006
  28. #define TCSBRK        00010
  29. #define TCFLSH        00004
  30. #define TCXONC        0
  31.  
  32. #define TCGETS        00001
  33. #define TCSETS        00002
  34. #define TCSETSW     00006
  35. #define TCSETSF     00006
  36. #define TCSNDBRK    00010
  37. #define TCDRAIN     00004
  38.  
  39. struct winsize
  40.   {
  41.   unsigned short    ws_row;     /* rows in characters */
  42.   unsigned short    ws_col;     /* columns in characters */
  43.   unsigned short    ws_xpixel;    /* horizontal size in pixels */
  44.   unsigned short    ws_ypixel;    /* vertical size in pixels */
  45.   };
  46.  
  47. #define TIOCGWINSZ    00100
  48. #define TIOCSWINSZ    00200
  49.  
  50. #define VINTR        0
  51. #define VQUIT        1    /* only generated from within read() */
  52. #define VERASE        2
  53. #define VKILL        3
  54. #define VEOF        4
  55. #define VEOT        4
  56. #define VMIN        4
  57. #define VEOL        5
  58. #define VTIME        5
  59. #define VEOL2        6
  60. #define VSWTCH        7
  61. #define VSTART        8    /* unimplemented */
  62. #define VSTOP        9    /* unimplemented */
  63. #define VSUSP        10    /* unimplemented */
  64. #define VREPRINT    12
  65. #define VDISCARD    13    /* unimplemented */
  66. #define VWERASE     14
  67. #define VLNEXT        15
  68.  
  69. #define CINTR        '\003'    /* ^C */
  70. #define CQUIT        '\034'    /* ^\ */
  71. #define CERASE        '\177'    /* ^? */
  72. #define CKILL        '\025'    /* ^U */
  73. #define CEOF        '\004'    /* ^D */
  74. #define CEOT        '\004'    /* ^D */
  75. #define CEOL        '\000'
  76. #define CEOL2        '\000'
  77. #define CSWTCH        '\000'
  78. #define CSTART        '\021'    /* ^Q */
  79. #define CSTOP        '\023'    /* ^S */
  80. #define CSUSP        '\032'    /* ^Z */
  81. #define CREPRINT    '\022'    /* ^R */
  82. #define CDISCARD    '\017'    /* ^O */
  83. #define CWERASE     '\027'    /* ^W */
  84. #define CLNEXT        '\026'    /* ^V */
  85.  
  86. #define IGNBRK    0x00000001
  87. #define BRKINT    0x00000002
  88. #define IGNPAR    0x00000004
  89. #define PARMRK    0x00000008
  90. #define INPCK    0x00000010
  91. #define ISTRIP    0x00000020
  92. #define INLCR    0x00000040
  93. #define IGNCR    0x00000080
  94. #define ICRNL    0x00000100
  95. #define IUCLC    0x00000200
  96. #define IXON    0x00000400
  97. #define IXANY    0x00000800
  98. #define IXOFF    0x00001000
  99. #define IMAXBEL 0x00002000
  100.  
  101. #define OPOST    0x00000001
  102. #define OLCUC    0x00000002
  103. #define ONLCR    0x00000004
  104. #define OCRNL    0x00000008
  105. #define ONOCR    0x00000010
  106. #define ONLRET    0x00000020
  107. #define OFILL    0x00000040
  108. #define OFDEL    0x00000080
  109. #define NLDLY    0x00000100
  110. #define NL0    0
  111. #define NL1    0x00000100
  112. #define CRDLY    0x00000600
  113. #define CR0    0
  114. #define CR1    0x00000200
  115. #define CR2    0x00000400
  116. #define CR3    0x00000600
  117. #define TABDLY    0x00001800
  118. #define TAB0    0
  119. #define TAB1    0x00000800
  120. #define TAB2    0x00001000
  121. #define TAB3    0x00001800
  122. #define XTABS    TAB3
  123. #define BSDLY    0x00002000
  124. #define BS0    0
  125. #define BS1    0x00002000
  126. #define VTDLY    0x00004000
  127. #define VT0    0
  128. #define VT1    0x00004000
  129. #define FFDLY    0x00008000
  130. #define FF0    0
  131. #define FF1    0x00008000
  132.  
  133. #define CBAUD    0x0000000f
  134. #define CIBAUD    0x000000f0
  135. #define IBSHIFT 4
  136.  
  137. /* impossible h/ware speed changes are ignored */
  138.  
  139. #define B0    0
  140. #define B50    0x00000001
  141. #define B75    0x00000002
  142. #define B110    0x00000003
  143. #define B134    0x00000004
  144. #define B150    0x00000005
  145. #define B200    0x00000006
  146. #define B300    0x00000007
  147. #define B600    0x00000008
  148. #define B1200    0x00000009
  149. #define B1800    0x0000000a
  150. #define B2400    0x0000000b
  151. #define B4800    0x0000000c
  152. #define B9600    0x0000000d
  153. #define B19200    0x0000000e
  154. #define B38400    0x0000000f
  155.  
  156. #define CSIZE    0x00000300
  157. #define CS5    0
  158. #define CS6    0x00000100
  159. #define CS7    0x00000200
  160. #define CS8    0x00000300
  161.  
  162. #define CSTOPB    0x00000400
  163. #define CREAD    0x00000800
  164. #define PARENB    0x00001000
  165. #define PARODD    0x00002000
  166. #define HUPCL    0x00004000
  167. #define CLOCAL    0x00008000
  168.  
  169. #define ISIG    0x00000001
  170. #define ICANON    0x00000002
  171. #define XCASE    0x00000004
  172. #define ECHO    0x00000008
  173. #define ECHOE    0x00000010
  174. #define ECHOK    0x00000020
  175. #define ECHONL    0x00000040
  176. #define NOFLSH    0x00000080
  177.  
  178. #ifdef __cplusplus
  179.     }
  180. #endif
  181.  
  182. #endif
  183.