1/*-
2 * SPDX-License-Identifier: BSD-3-Clause
3 *
4 * Copyright (c) 1983, 1993, 1994
5 *	The Regents of the University of California.  All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 * 1. Redistributions of source code must retain the above copyright
11 *    notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 *    notice, this list of conditions and the following disclaimer in the
14 *    documentation and/or other materials provided with the distribution.
15 * 3. Neither the name of the University nor the names of its contributors
16 *    may be used to endorse or promote products derived from this software
17 *    without specific prior written permission.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
20 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
23 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29 * SUCH DAMAGE.
30 */
31
32/*
33 * Getty description definitions.
34 */
35struct	gettystrs {
36	const char *field;	/* name to lookup in gettytab */
37	char	*defalt;	/* value we find by looking in defaults */
38	char	*value;		/* value that we find there */
39};
40
41struct	gettynums {
42	const char *field;	/* name to lookup */
43	long	defalt;		/* number we find in defaults */
44	long	value;		/* number we find there */
45	int	set;		/* we actually got this one */
46};
47
48struct gettyflags {
49	const char *field;	/* name to lookup */
50	char	invrt;		/* name existing in gettytab --> false */
51	char	defalt;		/* true/false in defaults */
52	char	value;		/* true/false flag */
53	char	set;		/* we found it */
54};
55
56/*
57 * String values.
58 */
59#define	NX	gettystrs[0].value
60#define	CL	gettystrs[1].value
61#define IM	gettystrs[2].value
62#define	LM	gettystrs[3].value
63#define	ER	gettystrs[4].value
64#define	KL	gettystrs[5].value
65#define	ET	gettystrs[6].value
66#define	PC	gettystrs[7].value
67#define	TT	gettystrs[8].value
68#define	EV	gettystrs[9].value
69#define	LO	gettystrs[10].value
70#define HN	gettystrs[11].value
71#define HE	gettystrs[12].value
72#define IN	gettystrs[13].value
73#define QU	gettystrs[14].value
74#define XN	gettystrs[15].value
75#define XF	gettystrs[16].value
76#define BK	gettystrs[17].value
77#define SU	gettystrs[18].value
78#define DS	gettystrs[19].value
79#define RP	gettystrs[20].value
80#define FL	gettystrs[21].value
81#define WE	gettystrs[22].value
82#define LN	gettystrs[23].value
83#define Lo	gettystrs[24].value
84#define PP	gettystrs[25].value
85#define IF	gettystrs[26].value
86#define IC	gettystrs[27].value
87#define AC	gettystrs[28].value
88#define AL	gettystrs[29].value
89#define DF	gettystrs[30].value
90#define IMP	gettystrs[31].value
91
92/*
93 * Numeric definitions.
94 */
95#define	IS	gettynums[0].value
96#define	OS	gettynums[1].value
97#define	SP	gettynums[2].value
98#define	ND	gettynums[3].value
99#define	CD	gettynums[4].value
100#define	TD	gettynums[5].value
101#define	FD	gettynums[6].value
102#define	BD	gettynums[7].value
103#define	TO	gettynums[8].value
104#define	F0	gettynums[9].value
105#define	F0set	gettynums[9].set
106#define	F1	gettynums[10].value
107#define	F1set	gettynums[10].set
108#define	F2	gettynums[11].value
109#define	F2set	gettynums[11].set
110#define	PF	gettynums[12].value
111#define	C0	gettynums[13].value
112#define	C0set	gettynums[13].set
113#define	C1	gettynums[14].value
114#define	C1set	gettynums[14].set
115#define	C2	gettynums[15].value
116#define	C2set	gettynums[15].set
117#define	I0	gettynums[16].value
118#define	I0set	gettynums[16].set
119#define	I1	gettynums[17].value
120#define	I1set	gettynums[17].set
121#define	I2	gettynums[18].value
122#define	I2set	gettynums[18].set
123#define	L0	gettynums[19].value
124#define	L0set	gettynums[19].set
125#define	L1	gettynums[20].value
126#define	L1set	gettynums[20].set
127#define	L2	gettynums[21].value
128#define	L2set	gettynums[21].set
129#define	O0	gettynums[22].value
130#define	O0set	gettynums[22].set
131#define	O1	gettynums[23].value
132#define	O1set	gettynums[23].set
133#define	O2	gettynums[24].value
134#define	O2set	gettynums[24].set
135#define	DE	gettynums[25].value
136#define RTset	gettynums[26].set
137#define RT	gettynums[26].value
138#define CT	gettynums[27].value
139#define DC	gettynums[28].value
140
141/*
142 * Boolean values.
143 */
144#define	HT	gettyflags[0].value
145#define	NL	gettyflags[1].value
146#define	EP	gettyflags[2].value
147#define	EPset	gettyflags[2].set
148#define	OP	gettyflags[3].value
149#define	OPset	gettyflags[3].set
150#define	AP	gettyflags[4].value
151#define	APset	gettyflags[4].set
152#define	EC	gettyflags[5].value
153#define	CO	gettyflags[6].value
154#define	CB	gettyflags[7].value
155#define	CK	gettyflags[8].value
156#define	CE	gettyflags[9].value
157#define	PE	gettyflags[10].value
158#define	RW	gettyflags[11].value
159#define	XC	gettyflags[12].value
160#define	LC	gettyflags[13].value
161#define	UC	gettyflags[14].value
162#define	IG	gettyflags[15].value
163#define	PS	gettyflags[16].value
164#define	HC	gettyflags[17].value
165#define UB	gettyflags[18].value
166#define AB	gettyflags[19].value
167#define DX	gettyflags[20].value
168#define	NP	gettyflags[21].value
169#define	NPset	gettyflags[21].set
170#define	MB	gettyflags[22].value
171#define	HW	gettyflags[23].value
172#define	NC	gettyflags[24].value
173#define	PL	gettyflags[25].value
174