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