130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#ifndef _UAPI_ASM_GENERIC_TERMIOS_H
230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define _UAPI_ASM_GENERIC_TERMIOS_H
330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/*
430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Most architectures have straight copies of the x86 code, with
530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * varying levels of bug fixes on top. Usually it's a good idea
630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * to use this generic version instead, but be careful to avoid
730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * ABI changes.
830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * New architectures should not provide their own version.
930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng */
1030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
1130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#include <asm/termbits.h>
1230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#include <asm/ioctls.h>
1330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
1430692c65c4174412c90e79489e98ab85c1a7412fBen Chengstruct winsize {
1530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	unsigned short ws_row;
1630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	unsigned short ws_col;
1730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	unsigned short ws_xpixel;
1830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	unsigned short ws_ypixel;
1930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng};
2030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
2130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define NCC 8
2230692c65c4174412c90e79489e98ab85c1a7412fBen Chengstruct termio {
2330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	unsigned short c_iflag;		/* input mode flags */
2430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	unsigned short c_oflag;		/* output mode flags */
2530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	unsigned short c_cflag;		/* control mode flags */
2630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	unsigned short c_lflag;		/* local mode flags */
2730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	unsigned char c_line;		/* line discipline */
2830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	unsigned char c_cc[NCC];	/* control characters */
2930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng};
3030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
3130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* modem lines */
3230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TIOCM_LE	0x001
3330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TIOCM_DTR	0x002
3430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TIOCM_RTS	0x004
3530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TIOCM_ST	0x008
3630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TIOCM_SR	0x010
3730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TIOCM_CTS	0x020
3830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TIOCM_CAR	0x040
3930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TIOCM_RNG	0x080
4030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TIOCM_DSR	0x100
4130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TIOCM_CD	TIOCM_CAR
4230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TIOCM_RI	TIOCM_RNG
4330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TIOCM_OUT1	0x2000
4430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TIOCM_OUT2	0x4000
4530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define TIOCM_LOOP	0x8000
4630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
4730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
4830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
4930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
5030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#endif /* _UAPI_ASM_GENERIC_TERMIOS_H */
51