1/*	$OpenBSD: dhctoken.h,v 1.2 2004/02/04 12:16:56 henning Exp $	*/
2
3/* Tokens for config file lexer and parser. */
4
5/*-
6 * SPDX-License-Identifier: BSD-3-Clause
7 *
8 * Copyright (c) 1995, 1996, 1997, 1998, 1999
9 * The Internet Software Consortium.  All rights reserved.
10 *
11 * Redistribution and use in source and binary forms, with or without
12 * modification, are permitted provided that the following conditions
13 * are met:
14 *
15 * 1. Redistributions of source code must retain the above copyright
16 *    notice, this list of conditions and the following disclaimer.
17 * 2. Redistributions in binary form must reproduce the above copyright
18 *    notice, this list of conditions and the following disclaimer in the
19 *    documentation and/or other materials provided with the distribution.
20 * 3. Neither the name of The Internet Software Consortium nor the names
21 *    of its contributors may be used to endorse or promote products derived
22 *    from this software without specific prior written permission.
23 *
24 * THIS SOFTWARE IS PROVIDED BY THE INTERNET SOFTWARE CONSORTIUM AND
25 * CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
26 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
27 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
28 * DISCLAIMED.  IN NO EVENT SHALL THE INTERNET SOFTWARE CONSORTIUM OR
29 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
30 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
31 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
32 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
33 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
34 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
35 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
36 * SUCH DAMAGE.
37 *
38 * This software has been written for the Internet Software Consortium
39 * by Ted Lemon <mellon@fugue.com> in cooperation with Vixie
40 * Enterprises.  To learn more about the Internet Software Consortium,
41 * see ``http://www.vix.com/isc''.  To learn more about Vixie
42 * Enterprises, see ``http://www.vix.com''.
43 */
44
45#define SEMI ';'
46#define DOT '.'
47#define COLON ':'
48#define COMMA ','
49#define SLASH '/'
50#define LBRACE '{'
51#define RBRACE '}'
52
53#define FIRST_TOKEN	HOST
54#define HOST		256
55#define HARDWARE	257
56#define FILENAME	258
57#define FIXED_ADDR	259
58#define OPTION		260
59#define ETHERNET	261
60#define STRING		262
61#define NUMBER		263
62#define NUMBER_OR_NAME	264
63#define NAME		265
64#define TIMESTAMP	266
65#define STARTS		267
66#define ENDS		268
67#define UID		269
68#define CLASS		270
69#define LEASE		271
70#define RANGE		272
71#define PACKET		273
72#define CIADDR		274
73#define YIADDR		275
74#define SIADDR		276
75#define GIADDR		277
76#define SUBNET		278
77#define NETMASK		279
78#define DEFAULT_LEASE_TIME 280
79#define MAX_LEASE_TIME	281
80#define VENDOR_CLASS	282
81#define USER_CLASS	283
82#define SHARED_NETWORK	284
83#define SERVER_NAME	285
84#define DYNAMIC_BOOTP	286
85#define SERVER_IDENTIFIER 287
86#define DYNAMIC_BOOTP_LEASE_CUTOFF 288
87#define DYNAMIC_BOOTP_LEASE_LENGTH 289
88#define BOOT_UNKNOWN_CLIENTS 290
89#define NEXT_SERVER	291
90#define TOKEN_RING	292
91#define GROUP		293
92#define ONE_LEASE_PER_CLIENT 294
93#define GET_LEASE_HOSTNAMES 295
94#define USE_HOST_DECL_NAMES 296
95#define SEND		297
96#define CLIENT_IDENTIFIER 298
97#define REQUEST		299
98#define REQUIRE		300
99#define TIMEOUT		301
100#define RETRY		302
101#define SELECT_TIMEOUT	303
102#define SCRIPT		304
103#define INTERFACE	305
104#define RENEW		306
105#define	REBIND		307
106#define EXPIRE		308
107#define UNKNOWN_CLIENTS	309
108#define	ALLOW		310
109#define BOOTP		311
110#define DENY		312
111#define BOOTING		313
112#define DEFAULT		314
113#define MEDIA		315
114#define MEDIUM		316
115#define ALIAS		317
116#define REBOOT		318
117#define ABANDONED	319
118#define	BACKOFF_CUTOFF	320
119#define	INITIAL_INTERVAL 321
120#define NAMESERVER	322
121#define	DOMAIN		323
122#define SEARCH		324
123#define SUPERSEDE	325
124#define APPEND		326
125#define PREPEND		327
126#define HOSTNAME	328
127#define CLIENT_HOSTNAME	329
128#define REJECT		330
129#define FDDI		331
130#define USE_LEASE_ADDR_FOR_DEFAULT_ROUTE 332
131#define AUTHORITATIVE	333
132#define TOKEN_NOT	334
133#define ALWAYS_REPLY_RFC1048 335
134#define VLAN_PCP	336
135#define IGNORE		337
136
137#define is_identifier(x)	((x) >= FIRST_TOKEN &&	\
138				 (x) != STRING &&	\
139				 (x) != NUMBER &&	\
140				 (x) != EOF)
141