|
|
1.1 ! root 1: #ifndef _I386_TERMIOS_H ! 2: #define _I386_TERMIOS_H ! 3: ! 4: #include <asm/termbits.h> ! 5: #include <asm/ioctls.h> ! 6: ! 7: struct winsize { ! 8: unsigned short ws_row; ! 9: unsigned short ws_col; ! 10: unsigned short ws_xpixel; ! 11: unsigned short ws_ypixel; ! 12: }; ! 13: ! 14: #define NCC 8 ! 15: struct termio { ! 16: unsigned short c_iflag; /* input mode flags */ ! 17: unsigned short c_oflag; /* output mode flags */ ! 18: unsigned short c_cflag; /* control mode flags */ ! 19: unsigned short c_lflag; /* local mode flags */ ! 20: unsigned char c_line; /* line discipline */ ! 21: unsigned char c_cc[NCC]; /* control characters */ ! 22: }; ! 23: ! 24: #ifdef __KERNEL__ ! 25: /* intr=^C quit=^\ erase=del kill=^U ! 26: eof=^D vtime=\0 vmin=\1 sxtc=\0 ! 27: start=^Q stop=^S susp=^Z eol=\0 ! 28: reprint=^R discard=^U werase=^W lnext=^V ! 29: eol2=\0 ! 30: */ ! 31: #define INIT_C_CC "\003\034\177\025\004\0\1\0\021\023\032\0\022\017\027\026\0" ! 32: #endif ! 33: ! 34: /* modem lines */ ! 35: #define TIOCM_LE 0x001 ! 36: #define TIOCM_DTR 0x002 ! 37: #define TIOCM_RTS 0x004 ! 38: #define TIOCM_ST 0x008 ! 39: #define TIOCM_SR 0x010 ! 40: #define TIOCM_CTS 0x020 ! 41: #define TIOCM_CAR 0x040 ! 42: #define TIOCM_RNG 0x080 ! 43: #define TIOCM_DSR 0x100 ! 44: #define TIOCM_CD TIOCM_CAR ! 45: #define TIOCM_RI TIOCM_RNG ! 46: ! 47: /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */ ! 48: ! 49: /* line disciplines */ ! 50: #define N_TTY 0 ! 51: #define N_SLIP 1 ! 52: #define N_MOUSE 2 ! 53: #define N_PPP 3 ! 54: #define N_STRIP 4 ! 55: #define N_AX25 5 ! 56: ! 57: #ifdef __KERNEL__ ! 58: ! 59: #include <linux/string.h> ! 60: ! 61: /* ! 62: * Translate a "termio" structure into a "termios". Ugh. ! 63: */ ! 64: extern inline void trans_from_termio(struct termio * termio, ! 65: struct termios * termios) ! 66: { ! 67: #define SET_LOW_BITS(x,y) (*(unsigned short *)(&x) = (y)) ! 68: SET_LOW_BITS(termios->c_iflag, termio->c_iflag); ! 69: SET_LOW_BITS(termios->c_oflag, termio->c_oflag); ! 70: SET_LOW_BITS(termios->c_cflag, termio->c_cflag); ! 71: SET_LOW_BITS(termios->c_lflag, termio->c_lflag); ! 72: #undef SET_LOW_BITS ! 73: memcpy(termios->c_cc, termio->c_cc, NCC); ! 74: } ! 75: ! 76: /* ! 77: * Translate a "termios" structure into a "termio". Ugh. ! 78: */ ! 79: extern inline void trans_to_termio(struct termios * termios, ! 80: struct termio * termio) ! 81: { ! 82: termio->c_iflag = termios->c_iflag; ! 83: termio->c_oflag = termios->c_oflag; ! 84: termio->c_cflag = termios->c_cflag; ! 85: termio->c_lflag = termios->c_lflag; ! 86: termio->c_line = termios->c_line; ! 87: memcpy(termio->c_cc, termios->c_cc, NCC); ! 88: } ! 89: ! 90: #endif /* __KERNEL__ */ ! 91: ! 92: #endif /* _I386_TERMIOS_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.