]>
Commit | Line | Data |
---|---|---|
d7837182 TL |
1 | /* dhctoken.h |
2 | ||
3 | Tokens for config file lexer and parser. */ | |
4 | ||
5 | /* | |
f39b6e00 | 6 | * Copyright (c) 1996-1999 Internet Software Consortium. |
49733f31 | 7 | * All rights reserved. |
d7837182 | 8 | * |
49733f31 TL |
9 | * Redistribution and use in source and binary forms, with or without |
10 | * modification, are permitted provided that the following conditions | |
11 | * are met: | |
d7837182 | 12 | * |
49733f31 TL |
13 | * 1. Redistributions of source code must retain the above copyright |
14 | * notice, this list of conditions and the following disclaimer. | |
15 | * 2. Redistributions in binary form must reproduce the above copyright | |
16 | * notice, this list of conditions and the following disclaimer in the | |
17 | * documentation and/or other materials provided with the distribution. | |
18 | * 3. Neither the name of The Internet Software Consortium nor the names | |
19 | * of its contributors may be used to endorse or promote products derived | |
20 | * from this software without specific prior written permission. | |
d7837182 | 21 | * |
49733f31 TL |
22 | * THIS SOFTWARE IS PROVIDED BY THE INTERNET SOFTWARE CONSORTIUM AND |
23 | * CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, | |
24 | * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | |
25 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | |
26 | * DISCLAIMED. IN NO EVENT SHALL THE INTERNET SOFTWARE CONSORTIUM OR | |
27 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | |
28 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | |
29 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF | |
30 | * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | |
31 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | |
32 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT | |
33 | * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | |
34 | * SUCH DAMAGE. | |
35 | * | |
36 | * This software has been written for the Internet Software Consortium | |
37 | * by Ted Lemon in cooperation with Vixie Enterprises and Nominum, Inc. | |
38 | * To learn more about the Internet Software Consortium, see | |
39 | * ``http://www.isc.org/''. To learn more about Vixie Enterprises, | |
40 | * see ``http://www.vix.com''. To learn more about Nominum, Inc., see | |
41 | * ``http://www.nominum.com''. | |
d7837182 TL |
42 | */ |
43 | ||
983ea35c TL |
44 | enum dhcp_token { |
45 | SEMI = ';', | |
46 | DOT = '.', | |
47 | COLON = ':', | |
48 | COMMA = ',', | |
49 | SLASH = '/', | |
50 | LBRACE = '{', | |
51 | RBRACE = '}', | |
52 | LPAREN = '(', | |
53 | RPAREN = ')', | |
54 | EQUAL = '=', | |
2b965a44 | 55 | BANG = '!', |
3bbe2135 | 56 | PERCENT = '%', |
811e0e67 TL |
57 | PLUS = '+', |
58 | MINUS = '-', | |
59 | ASTERISK = '*', | |
d7837182 | 60 | |
983ea35c TL |
61 | HOST = 256, |
62 | FIRST_TOKEN = HOST, | |
63 | HARDWARE = 257, | |
64 | FILENAME = 258, | |
65 | FIXED_ADDR = 259, | |
66 | OPTION = 260, | |
67 | ETHERNET = 261, | |
68 | STRING = 262, | |
69 | NUMBER = 263, | |
70 | NUMBER_OR_NAME = 264, | |
71 | NAME = 265, | |
72 | TIMESTAMP = 266, | |
73 | STARTS = 267, | |
74 | ENDS = 268, | |
75 | UID = 269, | |
76 | CLASS = 270, | |
77 | LEASE = 271, | |
78 | RANGE = 272, | |
79 | PACKET = 273, | |
80 | CIADDR = 274, | |
81 | YIADDR = 275, | |
82 | SIADDR = 276, | |
83 | GIADDR = 277, | |
84 | SUBNET = 278, | |
85 | NETMASK = 279, | |
86 | DEFAULT_LEASE_TIME = 280, | |
87 | MAX_LEASE_TIME = 281, | |
88 | VENDOR_CLASS = 282, | |
89 | USER_CLASS = 283, | |
90 | SHARED_NETWORK = 284, | |
91 | SERVER_NAME = 285, | |
92 | DYNAMIC_BOOTP = 286, | |
93 | SERVER_IDENTIFIER = 287, | |
94 | DYNAMIC_BOOTP_LEASE_CUTOFF = 288, | |
95 | DYNAMIC_BOOTP_LEASE_LENGTH = 289, | |
96 | BOOT_UNKNOWN_CLIENTS = 290, | |
97 | NEXT_SERVER = 291, | |
98 | TOKEN_RING = 292, | |
99 | GROUP = 293, | |
100 | ONE_LEASE_PER_CLIENT = 294, | |
101 | GET_LEASE_HOSTNAMES = 295, | |
102 | USE_HOST_DECL_NAMES = 296, | |
103 | SEND = 297, | |
104 | CLIENT_IDENTIFIER = 298, | |
105 | REQUEST = 299, | |
106 | REQUIRE = 300, | |
107 | TIMEOUT = 301, | |
108 | RETRY = 302, | |
109 | SELECT_TIMEOUT = 303, | |
110 | SCRIPT = 304, | |
111 | INTERFACE = 305, | |
112 | RENEW = 306, | |
113 | REBIND = 307, | |
114 | EXPIRE = 308, | |
115 | UNKNOWN_CLIENTS = 309, | |
116 | ALLOW = 310, | |
983ea35c TL |
117 | DENY = 312, |
118 | BOOTING = 313, | |
119 | DEFAULT = 314, | |
120 | MEDIA = 315, | |
121 | MEDIUM = 316, | |
122 | ALIAS = 317, | |
123 | REBOOT = 318, | |
007e3ee4 | 124 | TOKEN_ABANDONED = 319, |
983ea35c TL |
125 | BACKOFF_CUTOFF = 320, |
126 | INITIAL_INTERVAL = 321, | |
127 | NAMESERVER = 322, | |
128 | DOMAIN = 323, | |
129 | SEARCH = 324, | |
130 | SUPERSEDE = 325, | |
131 | APPEND = 326, | |
132 | PREPEND = 327, | |
133 | HOSTNAME = 328, | |
134 | CLIENT_HOSTNAME = 329, | |
135 | REJECT = 330, | |
136 | USE_LEASE_ADDR_FOR_DEFAULT_ROUTE = 331, | |
137 | MIN_LEASE_TIME = 332, | |
138 | MIN_SECS = 333, | |
139 | AND = 334, | |
140 | OR = 335, | |
983ea35c TL |
141 | SUBSTRING = 337, |
142 | SUFFIX = 338, | |
143 | CHECK = 339, | |
144 | EXTRACT_INT = 340, | |
145 | IF = 341, | |
8a04c615 | 146 | TOKEN_ADD = 342, |
983ea35c TL |
147 | BREAK = 343, |
148 | ELSE = 344, | |
149 | ELSIF = 345, | |
150 | SUBCLASS = 346, | |
151 | MATCH = 347, | |
152 | SPAWN = 348, | |
153 | WITH = 349, | |
154 | EXISTS = 350, | |
f197003d TL |
155 | POOL = 351, |
156 | UNKNOWN = 352, | |
157 | CLIENTS = 353, | |
158 | KNOWN = 354, | |
159 | AUTHENTICATED = 355, | |
160 | UNAUTHENTICATED = 356, | |
161 | ALL = 357, | |
162 | DYNAMIC = 358, | |
163 | MEMBERS = 359, | |
164 | OF = 360, | |
165 | PSEUDO = 361, | |
00a7748f TL |
166 | LIMIT = 362, |
167 | BILLING = 363, | |
c66b869e TL |
168 | PEER = 364, |
169 | FAILOVER = 365, | |
170 | MY = 366, | |
171 | PARTNER = 367, | |
172 | PRIMARY = 368, | |
173 | SECONDARY = 369, | |
174 | IDENTIFIER = 370, | |
175 | PORT = 371, | |
176 | MAX_TRANSMIT_IDLE = 372, | |
177 | MAX_RESPONSE_DELAY = 373, | |
178 | PARTNER_DOWN = 374, | |
179 | NORMAL = 375, | |
180 | COMMUNICATIONS_INTERRUPTED = 376, | |
181 | POTENTIAL_CONFLICT = 377, | |
182 | RECOVER = 378, | |
6b6126fb TL |
183 | FDDI = 379, |
184 | AUTHORITATIVE = 380, | |
185 | TOKEN_NOT = 381, | |
40d08f51 TL |
186 | AUTHENTICATION = 383, |
187 | IGNORE = 384, | |
188 | ACCEPT = 385, | |
189 | PREFER = 386, | |
190 | DONT = 387, | |
1e382a09 TL |
191 | CODE = 388, |
192 | ARRAY = 389, | |
193 | BOOLEAN = 390, | |
194 | INTEGER = 391, | |
195 | SIGNED = 392, | |
196 | UNSIGNED = 393, | |
197 | IP_ADDRESS = 394, | |
198 | TEXT = 395, | |
199 | STRING_TOKEN = 396, | |
6cad5838 | 200 | SPACE = 397, |
b7afba03 | 201 | CONCAT = 398, |
3cb23d09 | 202 | ENCODE_INT = 399, |
da38df14 TL |
203 | REVERSE = 402, |
204 | LEASED_ADDRESS = 403, | |
205 | BINARY_TO_ASCII = 404, | |
d7d2cbe8 | 206 | PICK = 405, |
79a65726 TL |
207 | CONFIG_OPTION = 406, |
208 | HOST_DECL_NAME = 407, | |
209 | ON = 408, | |
210 | EXPIRY = 409, | |
211 | RELEASE = 410, | |
212 | COMMIT = 411, | |
069e9f4c TL |
213 | DNS_UPDATE = 412, |
214 | LEASE_TIME = 413, | |
1c5d5731 | 215 | STATIC = 414, |
be1ee858 TL |
216 | NEVER = 415, |
217 | INFINITE = 416, | |
007e3ee4 | 218 | TOKEN_DELETED = 417, |
846d7d54 | 219 | UPDATED_DNS_RR = 418, |
337b3e52 | 220 | DNS_DELETE = 419, |
3d201338 | 221 | DUPLICATES = 420, |
679c2655 TL |
222 | DECLINES = 421, |
223 | TSTP = 422, | |
224 | TSFP = 423, | |
225 | OWNER = 424, | |
226 | IS = 425, | |
227 | HBA = 426, | |
228 | MAX_UNACKED_UPDATES = 427, | |
229 | MCLT = 428, | |
230 | SPLIT = 429, | |
231 | AT = 430, | |
232 | NO = 431, | |
375841eb TL |
233 | TOKEN_DELETE = 432, |
234 | NS_UPDATE = 433, | |
235 | UPDATE = 434, | |
236 | SWITCH = 435, | |
237 | CASE = 436, | |
238 | NS_FORMERR = 437, | |
239 | NS_NOERROR = 438, | |
240 | NS_NOTAUTH = 439, | |
241 | NS_NOTIMP = 440, | |
242 | NS_NOTZONE = 441, | |
243 | NS_NXDOMAIN = 442, | |
244 | NS_NXRRSET = 443, | |
245 | NS_REFUSED = 444, | |
246 | NS_SERVFAIL = 445, | |
247 | NS_YXDOMAIN = 446, | |
248 | NS_YXRRSET = 447, | |
249 | TOKEN_NULL = 448, | |
250 | TOKEN_SET = 449, | |
251 | DEFINED = 450, | |
252 | UNSET = 451, | |
253 | EVAL = 452, | |
254 | LET = 453, | |
255 | FUNCTION = 454, | |
256 | DEFINE = 455, | |
257 | ZONE = 456, | |
258 | KEY = 457, | |
259 | SECRET = 458, | |
34bc835a TL |
260 | ALGORITHM = 459, |
261 | LOAD = 460, | |
262 | BALANCE = 461, | |
263 | TOKEN_MAX = 462, | |
264 | SECONDS = 463, | |
822e866a TL |
265 | ADDRESS = 464, |
266 | POTENTIAL_CONFLICT_NIC = 465, | |
267 | STATE = 466, | |
8c8e27c5 | 268 | UNKNOWN_STATE = 567, |
20916cae | 269 | CLTT = 568, |
007e3ee4 TL |
270 | INCLUDE = 569, |
271 | BINDING = 570, | |
272 | TOKEN_FREE = 571, | |
273 | TOKEN_ACTIVE = 572, | |
274 | TOKEN_EXPIRED = 573, | |
275 | TOKEN_RELEASED = 574, | |
276 | TOKEN_RESET = 575, | |
277 | TOKEN_BACKUP = 576, | |
278 | TOKEN_RESERVED = 577, | |
279 | TOKEN_BOOTP = 578, | |
280 | TOKEN_NEXT = 579, | |
9ea249af | 281 | OMAPI = 580 |
983ea35c | 282 | }; |
d7837182 TL |
283 | |
284 | #define is_identifier(x) ((x) >= FIRST_TOKEN && \ | |
d7837182 | 285 | (x) != STRING && \ |
f4e348de TL |
286 | (x) != NUMBER && \ |
287 | (x) != EOF) |