home *** CD-ROM | disk | FTP | other *** search
- /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */
- #ifndef __dj_include_sys_termios_h_
- #define __dj_include_sys_termios_h_
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- #ifndef __dj_ENFORCE_ANSI_FREESTANDING
-
- #ifndef __STRICT_ANSI__
-
- #define B0 0x00000000
- #define B50 0x00000001
- #define B75 0x00000002
- #define B110 0x00000003
- #define B134 0x00000004
- #define B150 0x00000005
- #define B200 0x00000006
- #define B300 0x00000007
- #define B600 0x00000008
- #define B1200 0x00000009
- #define B1800 0x0000000a
- #define B2400 0x0000000b
- #define B4800 0x0000000c
- #define B9600 0x0000000d
- #define B19200 0x0000000e
- #define B38400 0x0000000f
-
- #define BRKINT 0x00000100
- #define ICRNL 0x00000200
- #define IGNBRK 0x00000400
- #define IGNCR 0x00000800
- #define IGNPAR 0x00001000
- #define INLCR 0x00002000
- #define INPCK 0x00004000
- #define ISTRIP 0x00008000
- #define IXOFF 0x00010000
- #define IXON 0x00020000
- #define PARMRK 0x00040000
-
- #define OPOST 0x00000100
-
- #define CLOCAL 0x00000100
- #define CREAD 0x00000200
- #define CS5 0x00000000
- #define CS6 0x00000400
- #define CS7 0x00000800
- #define CS8 0x00000c00
- #define CSIZE 0x00000c00
- #define CSTOPB 0x00001000
- #define HUPCL 0x00002000
- #define PARENB 0x00004000
- #define PARODD 0x00008000
-
- #define ECHO 0x00000100
- #define ECHOE 0x00000200
- #define ECHOK 0x00000400
- #define ECHONL 0x00000800
- #define ICANON 0x00001000
- #define IEXTEN 0x00002000
- #define ISIG 0x00004000
- #define NOFLSH 0x00008000
- #define TOSTOP 0x00010000
-
- #define TCIFLUSH 1
- #define TCOFLUSH 2
- #define TCIOFLUSH 3
- #define TCOOFF 1
- #define TCOON 2
- #define TCIOFF 3
- #define TCION 4
-
- #define TCSADRAIN 1
- #define TCSAFLUSH 2
- #define TCSANOW 3
-
- #define VEOF 1
- #define VEOL 2
- #define VERASE 3
- #define VINTR 4
- #define VKILL 5
- #define VMIN 6
- #define VQUIT 7
- #define VSTART 8
- #define VSTOP 9
- #define VSUSP 10
- #define VTIME 11
- #define NCCS 12
-
- typedef unsigned cc_t;
- typedef unsigned speed_t;
- typedef unsigned tcflag_t;
-
- struct termios {
- cc_t c_cc[NCCS];
- tcflag_t c_cflag;
- tcflag_t c_iflag;
- tcflag_t c_lflag;
- tcflag_t c_oflag;
- speed_t c_ispeed;
- speed_t c_ospeed;
- };
-
- speed_t cfgetispeed(const struct termios *_termios_p);
- speed_t cfgetospeed(const struct termios *_termios_p);
- int cfsetispeed(struct termios *_termios_p, speed_t _speed);
- int cfsetospeed(struct termios *_termios_p, speed_t _speed);
- int tcdrain(int _fildes);
- int tcflow(int _fildes, int _action);
- int tcflush(int _fildes, int _queue_selector);
- int tcgetattr(int _fildes, struct termios *_termios_p);
- int tcsendbreak(int _fildes, int _duration);
- int tcsetattr(int _fildes, int _optional_actions, const struct termios *_termios_p);
-
- #ifndef _POSIX_SOURCE
-
- /* Input flags */
- #define IMAXBEL 0x01000000 /* ring bell on input queue full */
-
- /* Local flags */
- #define ECHOKE 0x01000000 /* visual erase for line kill */
- #define ECHOCTL 0x02000000 /* echo control chars as ^x */
-
- /* Output flags */
- #define ONLCR 0x00000200 /* map NL to CRNL */
- #define OCRNL 0x00000400 /* map CR to NL */
- #define ONOEOT 0x00000800 /* discard EOT's (^D) on output */
-
- /* for compatibility */
- void cfmakeraw(struct termios *_termios_p);
- int cfsetspeed(struct termios *_termios_p, speed_t _speed);
-
- #endif /* !_POSIX_SOURCE */
- #endif /* !__STRICT_ANSI__ */
- #endif /* !__dj_ENFORCE_ANSI_FREESTANDING */
-
- #ifndef __dj_ENFORCE_FUNCTION_CALLS
- #endif /* !__dj_ENFORCE_FUNCTION_CALLS */
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif /* !__dj_include_sys_termios_h_ */
-