diff options
author | Taru Karttunen <taruti@taruti.net> | 2011-03-30 16:47:56 +0300 |
---|---|---|
committer | Taru Karttunen <taruti@taruti.net> | 2011-03-30 16:47:56 +0300 |
commit | c558a99e0be506a9abdf677f0ca4490644e05fc1 (patch) | |
tree | 17aef678ad05a32ef96ce8385703cb3fe089a5c7 /sys/include/ape/termios.h | |
parent | e5888a1ffdae813d7575f5fb02275c6bb07e5199 (diff) |
Import sources from 2011-03-30 iso image - sys/include
Diffstat (limited to 'sys/include/ape/termios.h')
-rwxr-xr-x | sys/include/ape/termios.h | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/sys/include/ape/termios.h b/sys/include/ape/termios.h new file mode 100755 index 000000000..61d48d8f2 --- /dev/null +++ b/sys/include/ape/termios.h @@ -0,0 +1,132 @@ +#pragma lib "/$M/lib/ape/libap.a" +/* input modes */ +#define BRKINT 0x001 +#define ICRNL 0x002 +#define IGNBRK 0x004 +#define IGNCR 0x008 +#define IGNPAR 0x010 +#define INLCR 0x020 +#define INPCK 0x040 +#define ISTRIP 0x080 +#define IXOFF 0x100 +#define IXON 0x200 +#define PARMRK 0x400 + +/* output modes: ONLCR, TAB3 are an extension to POSIX! */ +#define OPOST 0000001 +#define OLCUC 0000002 +#define ONLCR 0000004 +#define OCRNL 0000010 +#define ONOCR 0000020 +#define ONLRET 0000040 +#define OFILL 0000100 +#define OFDEL 0000200 +#define NLDLY 0000400 +#define NL0 0 +#define NL1 0000400 +#define CRDLY 0003000 +#define CR0 0 +#define CR1 0001000 +#define CR2 0002000 +#define CR3 0003000 +#define TABDLY 0014000 +#define TAB0 0 +#define TAB1 0004000 +#define TAB2 0010000 +#define TAB3 0014000 +#define BSDLY 0020000 +#define BS0 0 +#define BS1 0020000 +#define VTDLY 0040000 +#define VT0 0 +#define VT1 0040000 +#define FFDLY 0100000 +#define FF0 0 +#define FF1 0100000 + +/* control modes */ +#define CLOCAL 0x001 +#define CREAD 0x002 +#define CSIZE 0x01C +#define CS5 0x004 +#define CS6 0x008 +#define CS7 0x00C +#define CS8 0x010 +#define CSTOPB 0x020 +#define HUPCL 0x040 +#define PARENB 0x080 +#define PARODD 0x100 + +/* local modes */ +#define ECHO 0x001 +#define ECHOE 0x002 +#define ECHOK 0x004 +#define ECHONL 0x008 +#define ICANON 0x010 +#define IEXTEN 0x020 +#define ISIG 0x040 +#define NOFLSH 0x080 +#define TOSTOP 0x100 + +/* control characters */ +#define VEOF 0 +#define VEOL 1 +#define VERASE 2 +#define VINTR 3 +#define VKILL 4 +#define VMIN 5 +#define VQUIT 6 +#define VSUSP 7 +#define VTIME 8 +#define VSTART 9 +#define VSTOP 10 +#define NCCS 11 + +/* baud rates */ +#define B0 0 +#define B50 1 +#define B75 2 +#define B110 3 +#define B134 4 +#define B150 5 +#define B200 6 +#define B300 7 +#define B600 8 +#define B1200 9 +#define B1800 10 +#define B2400 11 +#define B4800 12 +#define B9600 13 +#define B19200 14 +#define B38400 15 + +/* optional actions for tcsetattr */ +#define TCSANOW 1 +#define TCSADRAIN 2 +#define TCSAFLUSH 3 + +typedef unsigned long tcflag_t; +typedef unsigned long speed_t; +typedef unsigned char cc_t; + +struct termios { + tcflag_t c_iflag; /* input modes */ + tcflag_t c_oflag; /* output modes */ + tcflag_t c_cflag; /* control modes */ + tcflag_t c_lflag; /* local modes */ + cc_t c_cc[NCCS]; /* control characters */ +}; + +extern speed_t cfgetospeed(const struct termios *); +extern int cfsetospeed(struct termios *, speed_t); +extern speed_t cfgetispeed(const struct termios *); +extern int cfsetispeed(struct termios *, speed_t); +extern int tcgetattr(int, struct termios *); +extern int tcsetattr(int, int, const struct termios *); +#ifdef __TYPES_H +extern pid_t tcgetpgrp(int); +extern int tcsetpgrp(int, pid_t); +#endif +extern int tcdrain(int); +extern int tcflush(int, int); +extern int tcflow(int, int); |