xref: /csrg-svn/bin/stty/modes.c (revision 50002)
1 /*-
2  * Copyright (c) 1991 The Regents of the University of California.
3  * All rights reserved.
4  *
5  * %sccs.include.redist.c%
6  */
7 
8 #ifndef lint
9 static char sccsid[] = "@(#)modes.c	5.2 (Berkeley) 06/04/91";
10 #endif /* not lint */
11 
12 #include <sys/types.h>
13 #include <stddef.h>
14 #include "stty.h"
15 
16 /*
17  * The code in optlist() depends on minus options following regular
18  * options, i.e. "foo" must immediately precede "-foo".
19  */
20 struct modes cmodes[] = {
21 	"cs5",		CS5, CSIZE,
22 	"cs6",		CS6, CSIZE,
23 	"cs7",		CS7, CSIZE,
24 	"cs8",		CS8, CSIZE,
25 	"cstopb",	CSTOPB, 0,
26 	"-cstopb",	0, CSTOPB,
27 	"cread",	CREAD, 0,
28 	"-cread",	0, CREAD,
29 	"parenb",	PARENB, 0,
30 	"-parenb",	0, PARENB,
31 	"parodd",	PARODD, 0,
32 	"-parodd",	0, PARODD,
33 	"parity",	PARENB | CS7, PARODD | CSIZE,
34 	"-parity",	CS8, PARODD | PARENB | CSIZE,
35 	"evenp",	PARENB | CS7, PARODD | CSIZE,
36 	"-evenp",	CS8, PARODD | PARENB | CSIZE,
37 	"oddp",		PARENB | CS7 | PARODD, CSIZE,
38 	"-oddp",	CS8, PARODD | PARENB | CSIZE,
39 	"pass8",	CS8, PARODD | PARENB | CSIZE,
40 	"hupcl",	HUPCL, 0,
41 	"-hupcl",	0, HUPCL,
42 	"hup",		HUPCL, 0,
43 	"-hup",		0, HUPCL,
44 	"clocal",	CLOCAL, 0,
45 	"-clocal",	0, CLOCAL,
46 	"crtscts",	CRTSCTS, 0,
47 	"-crtscts",	0, CRTSCTS,
48 	NULL
49 };
50 
51 struct modes imodes[] = {
52 	"ignbrk",	IGNBRK, 0,
53 	"-ignbrk",	0, IGNBRK,
54 	"brkint",	BRKINT, 0,
55 	"-brkint",	0, BRKINT,
56 	"ignpar",	IGNPAR, 0,
57 	"-ignpar",	0, IGNPAR,
58 	"parmrk",	PARMRK, 0,
59 	"-parmrk",	0, PARMRK,
60 	"inpck",	INPCK, 0,
61 	"-inpck",	0, INPCK,
62 	"istrip",	ISTRIP, 0,
63 	"-istrip",	0, ISTRIP,
64 	"inlcr",	INLCR, 0,
65 	"-inlcr",	0, INLCR,
66 	"igncr",	IGNCR, 0,
67 	"-igncr",	0, IGNCR,
68 	"icrnl",	ICRNL, 0,
69 	"-icrnl",	0, ICRNL,
70 	"ixon",		IXON, 0,
71 	"-ixon",	0, IXON,
72 	"flow",		IXON, 0,
73 	"-flow",	0, IXON,
74 	"ixoff",	IXOFF, 0,
75 	"-ixoff",	0, IXOFF,
76 	"tandem",	IXOFF, 0,
77 	"-tandem",	0, IXOFF,
78 	"ixany",	IXANY, 0,
79 	"-ixany",	0, IXANY,
80 	"decctlq",	0, IXANY,
81 	"-decctlq",	IXANY, 0,
82 	"imaxbel",	IMAXBEL, 0,
83 	"-imaxbel",	0, IMAXBEL,
84 	NULL
85 };
86 
87 struct modes lmodes[] = {
88 	"echo",		ECHO, 0,
89 	"-echo",	0, ECHO,
90 	"echoe",	ECHOE, 0,
91 	"-echoe",	0, ECHOE,
92 	"crterase",	ECHOE, 0,
93 	"-crterase",	0, ECHOE,
94 	"crtbs",	ECHOE, 0,   /* crtbs not supported, close enough */
95 	"-crtbs",	0, ECHOE,
96 	"echok",	ECHOK, 0,
97 	"-echok",	0, ECHOK,
98 	"echoke",	ECHOKE, 0,
99 	"-echoke",	0, ECHOKE,
100 	"crtkill",	ECHOKE, 0,
101 	"-crtkill",	0, ECHOKE,
102 	"altwerase",	ALTWERASE, 0,
103 	"-altwerase",	0, ALTWERASE,
104 	"iexten",	IEXTEN, 0,
105 	"-iexten",	0, IEXTEN,
106 	"echonl",	ECHONL, 0,
107 	"-echonl",	0, ECHONL,
108 	"echoctl",	ECHOCTL, 0,
109 	"-echoctl",	0, ECHOCTL,
110 	"ctlecho",	ECHOCTL, 0,
111 	"-ctlecho",	0, ECHOCTL,
112 	"echoprt",	ECHOPRT, 0,
113 	"-echoprt",	0, ECHOPRT,
114 	"prterase",	ECHOPRT, 0,
115 	"-prterase",	0, ECHOPRT,
116 	"isig",		ISIG, 0,
117 	"-isig",	0, ISIG,
118 	"icanon",	ICANON, 0,
119 	"-icanon",	0, ICANON,
120 	"noflsh",	NOFLSH, 0,
121 	"-noflsh",	0, NOFLSH,
122 	"tostop",	TOSTOP, 0,
123 	"-tostop",	0, TOSTOP,
124 	"mdmbuf",	MDMBUF, 0,
125 	"-mdmbuf",	0, MDMBUF,
126 	"flusho",	FLUSHO, 0,
127 	"-flusho",	0, FLUSHO,
128 	"pendin",	PENDIN, 0,
129 	"-pendin",	0, PENDIN,
130 	"crt",		ECHOE|ECHOKE|ECHOCTL, ECHOK|ECHOPRT,
131 	"-crt",		ECHOK, ECHOE|ECHOKE|ECHOCTL,
132 	"newcrt",	ECHOE|ECHOKE|ECHOCTL, ECHOK|ECHOPRT,
133 	"-newcrt",	ECHOK, ECHOE|ECHOKE|ECHOCTL,
134 	"nokerninfo",	NOKERNINFO, 0,
135 	"-nokerninfo",	0, NOKERNINFO,
136 	"kerninfo",	0, NOKERNINFO,
137 	"-kerninfo",	NOKERNINFO, 0,
138 	NULL
139 };
140 
141 struct modes omodes[] = {
142 	"opost",	OPOST, 0,
143 	"-opost",	0, OPOST,
144 	"litout",	0, OPOST,
145 	"-litout",	OPOST, 0,
146 	"onlcr",	ONLCR, 0,
147 	"-onlcr",	0, ONLCR,
148 	"tabs",		0, OXTABS,	/* "preserve" tabs */
149 	"-tabs",	OXTABS, 0,
150 	"xtabs",	OXTABS, 0,
151 	"-xtabs",	0, OXTABS,
152 	"oxtabs",	OXTABS, 0,
153 	"-oxtabs",	0, OXTABS,
154 	NULL
155 };
156