source: trunk/src/emx/include/termios.h@ 18

Last change on this file since 18 was 18, checked in by bird, 22 years ago

Initial revision

  • Property cvs2svn:cvs-rev set to 1.1
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 3.6 KB
Line 
1/* termios.h (emx+gcc) */
2
3#ifndef _TERMIOS_H
4#define _TERMIOS_H
5
6#if defined (__cplusplus)
7extern "C" {
8#endif
9
10/* tcsetattr() */
11
12#define TCSANOW 0
13#define TCSADRAIN 1
14#define TCSAFLUSH 2
15
16/* tcflush() */
17
18#define TCIFLUSH 0
19#define TCOFLUSH 1
20#define TCIOFLUSH 2
21
22/* tcflow() */
23
24#define TCOOFF 0
25#define TCOON 1
26#define TCIOFF 2
27#define TCION 3
28
29/* c_cc indexes */
30
31#if !defined (VINTR) /* Symbols common to termio.h and termios.h */
32#define VINTR 0
33#define VQUIT 1
34#define VERASE 2
35#define VKILL 3
36#define VEOF 4
37#define VEOL 5
38#define VMIN 6
39#define VTIME 7
40#endif
41#define VSUSP 8
42#define VSTOP 9
43#define VSTART 10
44
45#define NCCS 11 /* Number of the above */
46
47/* c_iflag, emx ignores most of the following bits */
48
49#if !defined (IGNBRK) /* Symbols common to termio.h and termios.h */
50#define IGNBRK 0x0001
51#define BRKINT 0x0002
52#define IGNPAR 0x0004
53#define PARMRK 0x0008
54#define INPCK 0x0010
55#define ISTRIP 0x0020
56#define INLCR 0x0040
57#define IGNCR 0x0080
58#define ICRNL 0x0100
59#define IXON 0x0400
60#define IXOFF 0x1000
61#if !defined (_POSIX_SOURCE)
62#define IUCLC 0x0200 /* Extension */
63#define IXANY 0x0800 /* Extension */
64#define IDELETE 0x8000 /* Extension (emx) */
65#endif
66#endif
67
68/* c_oflag, emx ignores all of the following bits */
69
70#if !defined (OPOST) /* Symbols common to termio.h and termios.h */
71#define OPOST 0x0001
72#endif
73
74/* c_cflag, emx ignores all of the following bits */
75
76#if !defined (B0) /* Symbols common to termio.h and termios.h */
77#define B0 0x0000
78#define B50 0x0001
79#define B75 0x0002
80#define B110 0x0003
81#define B134 0x0004
82#define B150 0x0005
83#define B200 0x0006
84#define B300 0x0007
85#define B600 0x0008
86#define B1200 0x0009
87#define B1800 0x000a
88#define B2400 0x000b
89#define B4800 0x000c
90#define B9600 0x000d
91#define B19200 0x000e
92#define B38400 0x000f
93#define CSIZE 0x0030 /* Mask */
94#define CS5 0x0000
95#define CS6 0x0010
96#define CS7 0x0020
97#define CS8 0x0030
98#define CSTOPB 0x0040
99#define CREAD 0x0080
100#define PARENB 0x0100
101#define PARODD 0x0200
102#define HUPCL 0x0400
103#define CLOCAL 0x0800
104#if !defined (_POSIX_SOURCE)
105#define LOBLK 0x1000 /* Extension */
106#endif
107#endif
108
109/* c_lflag, emx ignores some of the following bits */
110
111#if !defined (ISIG) /* Symbols common to termio.h and termios.h */
112#define ISIG 0x0001
113#define ICANON 0x0002
114#define ECHO 0x0008
115#define ECHOE 0x0010
116#define ECHOK 0x0020
117#define ECHONL 0x0040
118#define NOFLSH 0x0080
119#if !defined (_POSIX_SOURCE)
120#define XCASE 0x0004 /* Extension */
121#endif
122#endif
123#define IEXTEN 0x0100
124#define TOSTOP 0x0200
125
126
127typedef unsigned char cc_t;
128typedef unsigned int tcflag_t;
129typedef unsigned int speed_t;
130
131struct termios
132{
133 tcflag_t c_iflag;
134 tcflag_t c_oflag;
135 tcflag_t c_cflag;
136 tcflag_t c_lflag;
137 cc_t c_cc[NCCS];
138 int c_reserved[4];
139};
140
141
142speed_t cfgetispeed (__const__ struct termios *);
143speed_t cfgetospeed (__const__ struct termios *);
144int cfsetispeed (struct termios *, speed_t);
145int cfsetospeed (struct termios *, speed_t);
146int tcdrain (int);
147int tcflow (int, int);
148int tcflush (int, int);
149int tcgetattr (int, struct termios *);
150int tcsendbreak (int, int);
151int tcsetattr (int, int, __const__ struct termios *);
152
153#if defined (__cplusplus)
154}
155#endif
156
157#endif /* not _TERMIOS_H */
Note: See TracBrowser for help on using the repository browser.