xref: /freebsd/sbin/dhclient/dhctoken.h (revision f6a3b357e9be4c6423c85eff9a847163a0d307c8)
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