Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
0002 #ifndef _ASM_POWERPC_TERMBITS_H
0003 #define _ASM_POWERPC_TERMBITS_H
0004 
0005 /*
0006  * This program is free software; you can redistribute it and/or
0007  * modify it under the terms of the GNU General Public License
0008  * as published by the Free Software Foundation; either version
0009  * 2 of the License, or (at your option) any later version.
0010  */
0011 
0012 #include <asm-generic/termbits-common.h>
0013 
0014 typedef unsigned int    tcflag_t;
0015 
0016 /*
0017  * termios type and macro definitions.  Be careful about adding stuff
0018  * to this file since it's used in GNU libc and there are strict rules
0019  * concerning namespace pollution.
0020  */
0021 
0022 #define NCCS 19
0023 struct termios {
0024     tcflag_t c_iflag;       /* input mode flags */
0025     tcflag_t c_oflag;       /* output mode flags */
0026     tcflag_t c_cflag;       /* control mode flags */
0027     tcflag_t c_lflag;       /* local mode flags */
0028     cc_t c_cc[NCCS];        /* control characters */
0029     cc_t c_line;            /* line discipline (== c_cc[19]) */
0030     speed_t c_ispeed;       /* input speed */
0031     speed_t c_ospeed;       /* output speed */
0032 };
0033 
0034 /* For PowerPC the termios and ktermios are the same */
0035 
0036 struct ktermios {
0037     tcflag_t c_iflag;       /* input mode flags */
0038     tcflag_t c_oflag;       /* output mode flags */
0039     tcflag_t c_cflag;       /* control mode flags */
0040     tcflag_t c_lflag;       /* local mode flags */
0041     cc_t c_cc[NCCS];        /* control characters */
0042     cc_t c_line;            /* line discipline (== c_cc[19]) */
0043     speed_t c_ispeed;       /* input speed */
0044     speed_t c_ospeed;       /* output speed */
0045 };
0046 
0047 /* c_cc characters */
0048 #define VINTR            0
0049 #define VQUIT            1
0050 #define VERASE           2
0051 #define VKILL            3
0052 #define VEOF             4
0053 #define VMIN             5
0054 #define VEOL             6
0055 #define VTIME            7
0056 #define VEOL2            8
0057 #define VSWTC            9
0058 #define VWERASE     10
0059 #define VREPRINT    11
0060 #define VSUSP       12
0061 #define VSTART      13
0062 #define VSTOP       14
0063 #define VLNEXT      15
0064 #define VDISCARD    16
0065 
0066 /* c_iflag bits */
0067 #define IXON    0x0200
0068 #define IXOFF   0x0400
0069 #define IUCLC   0x1000
0070 #define IMAXBEL 0x2000
0071 #define IUTF8   0x4000
0072 
0073 /* c_oflag bits */
0074 #define ONLCR   0x00002
0075 #define OLCUC   0x00004
0076 #define NLDLY   0x00300
0077 #define   NL0   0x00000
0078 #define   NL1   0x00100
0079 #define   NL2   0x00200
0080 #define   NL3   0x00300
0081 #define TABDLY  0x00c00
0082 #define   TAB0  0x00000
0083 #define   TAB1  0x00400
0084 #define   TAB2  0x00800
0085 #define   TAB3  0x00c00
0086 #define   XTABS 0x00c00     /* required by POSIX to == TAB3 */
0087 #define CRDLY   0x03000
0088 #define   CR0   0x00000
0089 #define   CR1   0x01000
0090 #define   CR2   0x02000
0091 #define   CR3   0x03000
0092 #define FFDLY   0x04000
0093 #define   FF0   0x00000
0094 #define   FF1   0x04000
0095 #define BSDLY   0x08000
0096 #define   BS0   0x00000
0097 #define   BS1   0x08000
0098 #define VTDLY   0x10000
0099 #define   VT0   0x00000
0100 #define   VT1   0x10000
0101 
0102 /* c_cflag bit meaning */
0103 #define CBAUD       0x000000ff
0104 #define CBAUDEX     0x00000000
0105 #define BOTHER      0x0000001f
0106 #define    B57600   0x00000010
0107 #define   B115200   0x00000011
0108 #define   B230400   0x00000012
0109 #define   B460800   0x00000013
0110 #define   B500000   0x00000014
0111 #define   B576000   0x00000015
0112 #define   B921600   0x00000016
0113 #define  B1000000   0x00000017
0114 #define  B1152000   0x00000018
0115 #define  B1500000   0x00000019
0116 #define  B2000000   0x0000001a
0117 #define  B2500000   0x0000001b
0118 #define  B3000000   0x0000001c
0119 #define  B3500000   0x0000001d
0120 #define  B4000000   0x0000001e
0121 #define CSIZE       0x00000300
0122 #define   CS5       0x00000000
0123 #define   CS6       0x00000100
0124 #define   CS7       0x00000200
0125 #define   CS8       0x00000300
0126 #define CSTOPB      0x00000400
0127 #define CREAD       0x00000800
0128 #define PARENB      0x00001000
0129 #define PARODD      0x00002000
0130 #define HUPCL       0x00004000
0131 #define CLOCAL      0x00008000
0132 #define CIBAUD      0x00ff0000
0133 
0134 /* c_lflag bits */
0135 #define ISIG    0x00000080
0136 #define ICANON  0x00000100
0137 #define XCASE   0x00004000
0138 #define ECHO    0x00000008
0139 #define ECHOE   0x00000002
0140 #define ECHOK   0x00000004
0141 #define ECHONL  0x00000010
0142 #define NOFLSH  0x80000000
0143 #define TOSTOP  0x00400000
0144 #define ECHOCTL 0x00000040
0145 #define ECHOPRT 0x00000020
0146 #define ECHOKE  0x00000001
0147 #define FLUSHO  0x00800000
0148 #define PENDIN  0x20000000
0149 #define IEXTEN  0x00000400
0150 #define EXTPROC 0x10000000
0151 
0152 /* Values for the OPTIONAL_ACTIONS argument to `tcsetattr'.  */
0153 #define TCSANOW     0
0154 #define TCSADRAIN   1
0155 #define TCSAFLUSH   2
0156 
0157 #endif  /* _ASM_POWERPC_TERMBITS_H */