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 * $FreeBSD$
45 */
46
47#define SEMI ';'
48#define DOT '.'
49#define COLON ':'
50#define COMMA ','
51#define SLASH '/'
52#define LBRACE '{'
53#define RBRACE '}'
54
55#define FIRST_TOKEN	HOST
56#define HOST		256
57#define HARDWARE	257
58#define FILENAME	258
59#define FIXED_ADDR	259
60#define OPTION		260
61#define ETHERNET	261
62#define STRING		262
63#define NUMBER		263
64#define NUMBER_OR_NAME	264
65#define NAME		265
66#define TIMESTAMP	266
67#define STARTS		267
68#define ENDS		268
69#define UID		269
70#define CLASS		270
71#define LEASE		271
72#define RANGE		272
73#define PACKET		273
74#define CIADDR		274
75#define YIADDR		275
76#define SIADDR		276
77#define GIADDR		277
78#define SUBNET		278
79#define NETMASK		279
80#define DEFAULT_LEASE_TIME 280
81#define MAX_LEASE_TIME	281
82#define VENDOR_CLASS	282
83#define USER_CLASS	283
84#define SHARED_NETWORK	284
85#define SERVER_NAME	285
86#define DYNAMIC_BOOTP	286
87#define SERVER_IDENTIFIER 287
88#define DYNAMIC_BOOTP_LEASE_CUTOFF 288
89#define DYNAMIC_BOOTP_LEASE_LENGTH 289
90#define BOOT_UNKNOWN_CLIENTS 290
91#define NEXT_SERVER	291
92#define TOKEN_RING	292
93#define GROUP		293
94#define ONE_LEASE_PER_CLIENT 294
95#define GET_LEASE_HOSTNAMES 295
96#define USE_HOST_DECL_NAMES 296
97#define SEND		297
98#define CLIENT_IDENTIFIER 298
99#define REQUEST		299
100#define REQUIRE		300
101#define TIMEOUT		301
102#define RETRY		302
103#define SELECT_TIMEOUT	303
104#define SCRIPT		304
105#define INTERFACE	305
106#define RENEW		306
107#define	REBIND		307
108#define EXPIRE		308
109#define UNKNOWN_CLIENTS	309
110#define	ALLOW		310
111#define BOOTP		311
112#define DENY		312
113#define BOOTING		313
114#define DEFAULT		314
115#define MEDIA		315
116#define MEDIUM		316
117#define ALIAS		317
118#define REBOOT		318
119#define ABANDONED	319
120#define	BACKOFF_CUTOFF	320
121#define	INITIAL_INTERVAL 321
122#define NAMESERVER	322
123#define	DOMAIN		323
124#define SEARCH		324
125#define SUPERSEDE	325
126#define APPEND		326
127#define PREPEND		327
128#define HOSTNAME	328
129#define CLIENT_HOSTNAME	329
130#define REJECT		330
131#define FDDI		331
132#define USE_LEASE_ADDR_FOR_DEFAULT_ROUTE 332
133#define AUTHORITATIVE	333
134#define TOKEN_NOT	334
135#define ALWAYS_REPLY_RFC1048 335
136
137#define is_identifier(x)	((x) >= FIRST_TOKEN &&	\
138				 (x) != STRING &&	\
139				 (x) != NUMBER &&	\
140				 (x) != EOF)
141