zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

termbits.h (3653B) - Raw


      1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
      2 #ifndef __ASM_GENERIC_TERMBITS_H
      3 #define __ASM_GENERIC_TERMBITS_H
      4 
      5 #include <asm-generic/termbits-common.h>
      6 
      7 typedef unsigned int	tcflag_t;
      8 
      9 #define NCCS 19
     10 struct termios {
     11 	tcflag_t c_iflag;		/* input mode flags */
     12 	tcflag_t c_oflag;		/* output mode flags */
     13 	tcflag_t c_cflag;		/* control mode flags */
     14 	tcflag_t c_lflag;		/* local mode flags */
     15 	cc_t c_line;			/* line discipline */
     16 	cc_t c_cc[NCCS];		/* control characters */
     17 };
     18 
     19 struct termios2 {
     20 	tcflag_t c_iflag;		/* input mode flags */
     21 	tcflag_t c_oflag;		/* output mode flags */
     22 	tcflag_t c_cflag;		/* control mode flags */
     23 	tcflag_t c_lflag;		/* local mode flags */
     24 	cc_t c_line;			/* line discipline */
     25 	cc_t c_cc[NCCS];		/* control characters */
     26 	speed_t c_ispeed;		/* input speed */
     27 	speed_t c_ospeed;		/* output speed */
     28 };
     29 
     30 struct ktermios {
     31 	tcflag_t c_iflag;		/* input mode flags */
     32 	tcflag_t c_oflag;		/* output mode flags */
     33 	tcflag_t c_cflag;		/* control mode flags */
     34 	tcflag_t c_lflag;		/* local mode flags */
     35 	cc_t c_line;			/* line discipline */
     36 	cc_t c_cc[NCCS];		/* control characters */
     37 	speed_t c_ispeed;		/* input speed */
     38 	speed_t c_ospeed;		/* output speed */
     39 };
     40 
     41 /* c_cc characters */
     42 #define VINTR		 0
     43 #define VQUIT		 1
     44 #define VERASE		 2
     45 #define VKILL		 3
     46 #define VEOF		 4
     47 #define VTIME		 5
     48 #define VMIN		 6
     49 #define VSWTC		 7
     50 #define VSTART		 8
     51 #define VSTOP		 9
     52 #define VSUSP		10
     53 #define VEOL		11
     54 #define VREPRINT	12
     55 #define VDISCARD	13
     56 #define VWERASE		14
     57 #define VLNEXT		15
     58 #define VEOL2		16
     59 
     60 /* c_iflag bits */
     61 #define IUCLC	0x0200
     62 #define IXON	0x0400
     63 #define IXOFF	0x1000
     64 #define IMAXBEL	0x2000
     65 #define IUTF8	0x4000
     66 
     67 /* c_oflag bits */
     68 #define OLCUC	0x00002
     69 #define ONLCR	0x00004
     70 #define NLDLY	0x00100
     71 #define   NL0	0x00000
     72 #define   NL1	0x00100
     73 #define CRDLY	0x00600
     74 #define   CR0	0x00000
     75 #define   CR1	0x00200
     76 #define   CR2	0x00400
     77 #define   CR3	0x00600
     78 #define TABDLY	0x01800
     79 #define   TAB0	0x00000
     80 #define   TAB1	0x00800
     81 #define   TAB2	0x01000
     82 #define   TAB3	0x01800
     83 #define   XTABS	0x01800
     84 #define BSDLY	0x02000
     85 #define   BS0	0x00000
     86 #define   BS1	0x02000
     87 #define VTDLY	0x04000
     88 #define   VT0	0x00000
     89 #define   VT1	0x04000
     90 #define FFDLY	0x08000
     91 #define   FF0	0x00000
     92 #define   FF1	0x08000
     93 
     94 /* c_cflag bit meaning */
     95 #define CBAUD		0x0000100f
     96 #define CSIZE		0x00000030
     97 #define   CS5		0x00000000
     98 #define   CS6		0x00000010
     99 #define   CS7		0x00000020
    100 #define   CS8		0x00000030
    101 #define CSTOPB		0x00000040
    102 #define CREAD		0x00000080
    103 #define PARENB		0x00000100
    104 #define PARODD		0x00000200
    105 #define HUPCL		0x00000400
    106 #define CLOCAL		0x00000800
    107 #define CBAUDEX		0x00001000
    108 #define BOTHER		0x00001000
    109 #define     B57600	0x00001001
    110 #define    B115200	0x00001002
    111 #define    B230400	0x00001003
    112 #define    B460800	0x00001004
    113 #define    B500000	0x00001005
    114 #define    B576000	0x00001006
    115 #define    B921600	0x00001007
    116 #define   B1000000	0x00001008
    117 #define   B1152000	0x00001009
    118 #define   B1500000	0x0000100a
    119 #define   B2000000	0x0000100b
    120 #define   B2500000	0x0000100c
    121 #define   B3000000	0x0000100d
    122 #define   B3500000	0x0000100e
    123 #define   B4000000	0x0000100f
    124 #define CIBAUD		0x100f0000	/* input baud rate */
    125 
    126 /* c_lflag bits */
    127 #define ISIG	0x00001
    128 #define ICANON	0x00002
    129 #define XCASE	0x00004
    130 #define ECHO	0x00008
    131 #define ECHOE	0x00010
    132 #define ECHOK	0x00020
    133 #define ECHONL	0x00040
    134 #define NOFLSH	0x00080
    135 #define TOSTOP	0x00100
    136 #define ECHOCTL	0x00200
    137 #define ECHOPRT	0x00400
    138 #define ECHOKE	0x00800
    139 #define FLUSHO	0x01000
    140 #define PENDIN	0x04000
    141 #define IEXTEN	0x08000
    142 #define EXTPROC	0x10000
    143 
    144 /* tcsetattr uses these */
    145 #define	TCSANOW		0
    146 #define	TCSADRAIN	1
    147 #define	TCSAFLUSH	2
    148 
    149 #endif /* __ASM_GENERIC_TERMBITS_H */