]>
Commit | Line | Data |
---|---|---|
d7837182 TL |
1 | /* dhctoken.h |
2 | ||
3 | Tokens for config file lexer and parser. */ | |
4 | ||
5 | /* | |
a47d6336 | 6 | * Copyright (c) 2004,2007-2009 by Internet Systems Consortium, Inc. ("ISC") |
98311e4b | 7 | * Copyright (c) 1996-2003 by Internet Software Consortium |
d7837182 | 8 | * |
98311e4b DH |
9 | * Permission to use, copy, modify, and distribute this software for any |
10 | * purpose with or without fee is hereby granted, provided that the above | |
11 | * copyright notice and this permission notice appear in all copies. | |
d7837182 | 12 | * |
98311e4b DH |
13 | * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES |
14 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
15 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR | |
16 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
17 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
18 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT | |
19 | * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
d7837182 | 20 | * |
98311e4b DH |
21 | * Internet Systems Consortium, Inc. |
22 | * 950 Charter Street | |
23 | * Redwood City, CA 94063 | |
24 | * <info@isc.org> | |
2c85ac9b | 25 | * https://www.isc.org/ |
49733f31 | 26 | * |
98311e4b | 27 | * This software has been written for Internet Systems Consortium |
49733f31 | 28 | * by Ted Lemon in cooperation with Vixie Enterprises and Nominum, Inc. |
98311e4b | 29 | * To learn more about Internet Systems Consortium, see |
2c85ac9b | 30 | * ``https://www.isc.org/''. To learn more about Vixie Enterprises, |
49733f31 TL |
31 | * see ``http://www.vix.com''. To learn more about Nominum, Inc., see |
32 | * ``http://www.nominum.com''. | |
d7837182 TL |
33 | */ |
34 | ||
983ea35c TL |
35 | enum dhcp_token { |
36 | SEMI = ';', | |
37 | DOT = '.', | |
38 | COLON = ':', | |
39 | COMMA = ',', | |
40 | SLASH = '/', | |
41 | LBRACE = '{', | |
42 | RBRACE = '}', | |
43 | LPAREN = '(', | |
44 | RPAREN = ')', | |
45 | EQUAL = '=', | |
dd328225 | 46 | TILDE = '~', |
2b965a44 | 47 | BANG = '!', |
3bbe2135 | 48 | PERCENT = '%', |
811e0e67 TL |
49 | PLUS = '+', |
50 | MINUS = '-', | |
51 | ASTERISK = '*', | |
3c98e80b DN |
52 | AMPERSAND = '&', |
53 | PIPE = '|', | |
54 | CARET = '^', | |
d7837182 | 55 | |
983ea35c TL |
56 | HOST = 256, |
57 | FIRST_TOKEN = HOST, | |
58 | HARDWARE = 257, | |
59 | FILENAME = 258, | |
60 | FIXED_ADDR = 259, | |
61 | OPTION = 260, | |
62 | ETHERNET = 261, | |
63 | STRING = 262, | |
64 | NUMBER = 263, | |
65 | NUMBER_OR_NAME = 264, | |
66 | NAME = 265, | |
67 | TIMESTAMP = 266, | |
68 | STARTS = 267, | |
69 | ENDS = 268, | |
70 | UID = 269, | |
71 | CLASS = 270, | |
72 | LEASE = 271, | |
73 | RANGE = 272, | |
74 | PACKET = 273, | |
75 | CIADDR = 274, | |
76 | YIADDR = 275, | |
77 | SIADDR = 276, | |
78 | GIADDR = 277, | |
79 | SUBNET = 278, | |
80 | NETMASK = 279, | |
81 | DEFAULT_LEASE_TIME = 280, | |
82 | MAX_LEASE_TIME = 281, | |
83 | VENDOR_CLASS = 282, | |
84 | USER_CLASS = 283, | |
85 | SHARED_NETWORK = 284, | |
86 | SERVER_NAME = 285, | |
87 | DYNAMIC_BOOTP = 286, | |
88 | SERVER_IDENTIFIER = 287, | |
89 | DYNAMIC_BOOTP_LEASE_CUTOFF = 288, | |
90 | DYNAMIC_BOOTP_LEASE_LENGTH = 289, | |
91 | BOOT_UNKNOWN_CLIENTS = 290, | |
92 | NEXT_SERVER = 291, | |
93 | TOKEN_RING = 292, | |
94 | GROUP = 293, | |
95 | ONE_LEASE_PER_CLIENT = 294, | |
96 | GET_LEASE_HOSTNAMES = 295, | |
97 | USE_HOST_DECL_NAMES = 296, | |
98 | SEND = 297, | |
99 | CLIENT_IDENTIFIER = 298, | |
100 | REQUEST = 299, | |
101 | REQUIRE = 300, | |
102 | TIMEOUT = 301, | |
103 | RETRY = 302, | |
104 | SELECT_TIMEOUT = 303, | |
105 | SCRIPT = 304, | |
106 | INTERFACE = 305, | |
107 | RENEW = 306, | |
108 | REBIND = 307, | |
109 | EXPIRE = 308, | |
110 | UNKNOWN_CLIENTS = 309, | |
111 | ALLOW = 310, | |
983ea35c TL |
112 | DENY = 312, |
113 | BOOTING = 313, | |
114 | DEFAULT = 314, | |
115 | MEDIA = 315, | |
116 | MEDIUM = 316, | |
117 | ALIAS = 317, | |
118 | REBOOT = 318, | |
007e3ee4 | 119 | TOKEN_ABANDONED = 319, |
983ea35c TL |
120 | BACKOFF_CUTOFF = 320, |
121 | INITIAL_INTERVAL = 321, | |
122 | NAMESERVER = 322, | |
123 | DOMAIN = 323, | |
124 | SEARCH = 324, | |
125 | SUPERSEDE = 325, | |
126 | APPEND = 326, | |
127 | PREPEND = 327, | |
128 | HOSTNAME = 328, | |
129 | CLIENT_HOSTNAME = 329, | |
130 | REJECT = 330, | |
131 | USE_LEASE_ADDR_FOR_DEFAULT_ROUTE = 331, | |
132 | MIN_LEASE_TIME = 332, | |
133 | MIN_SECS = 333, | |
134 | AND = 334, | |
135 | OR = 335, | |
983ea35c TL |
136 | SUBSTRING = 337, |
137 | SUFFIX = 338, | |
138 | CHECK = 339, | |
139 | EXTRACT_INT = 340, | |
140 | IF = 341, | |
8a04c615 | 141 | TOKEN_ADD = 342, |
983ea35c TL |
142 | BREAK = 343, |
143 | ELSE = 344, | |
144 | ELSIF = 345, | |
145 | SUBCLASS = 346, | |
146 | MATCH = 347, | |
147 | SPAWN = 348, | |
148 | WITH = 349, | |
149 | EXISTS = 350, | |
f197003d TL |
150 | POOL = 351, |
151 | UNKNOWN = 352, | |
152 | CLIENTS = 353, | |
153 | KNOWN = 354, | |
154 | AUTHENTICATED = 355, | |
155 | UNAUTHENTICATED = 356, | |
156 | ALL = 357, | |
157 | DYNAMIC = 358, | |
158 | MEMBERS = 359, | |
159 | OF = 360, | |
160 | PSEUDO = 361, | |
00a7748f TL |
161 | LIMIT = 362, |
162 | BILLING = 363, | |
c66b869e TL |
163 | PEER = 364, |
164 | FAILOVER = 365, | |
165 | MY = 366, | |
166 | PARTNER = 367, | |
167 | PRIMARY = 368, | |
168 | SECONDARY = 369, | |
169 | IDENTIFIER = 370, | |
170 | PORT = 371, | |
171 | MAX_TRANSMIT_IDLE = 372, | |
172 | MAX_RESPONSE_DELAY = 373, | |
173 | PARTNER_DOWN = 374, | |
174 | NORMAL = 375, | |
175 | COMMUNICATIONS_INTERRUPTED = 376, | |
176 | POTENTIAL_CONFLICT = 377, | |
177 | RECOVER = 378, | |
219a65eb | 178 | TOKEN_FDDI = 379, |
6b6126fb TL |
179 | AUTHORITATIVE = 380, |
180 | TOKEN_NOT = 381, | |
40d08f51 TL |
181 | AUTHENTICATION = 383, |
182 | IGNORE = 384, | |
183 | ACCEPT = 385, | |
184 | PREFER = 386, | |
185 | DONT = 387, | |
1e382a09 TL |
186 | CODE = 388, |
187 | ARRAY = 389, | |
188 | BOOLEAN = 390, | |
189 | INTEGER = 391, | |
190 | SIGNED = 392, | |
191 | UNSIGNED = 393, | |
192 | IP_ADDRESS = 394, | |
193 | TEXT = 395, | |
194 | STRING_TOKEN = 396, | |
6cad5838 | 195 | SPACE = 397, |
b7afba03 | 196 | CONCAT = 398, |
3cb23d09 | 197 | ENCODE_INT = 399, |
da38df14 TL |
198 | REVERSE = 402, |
199 | LEASED_ADDRESS = 403, | |
200 | BINARY_TO_ASCII = 404, | |
d7d2cbe8 | 201 | PICK = 405, |
79a65726 TL |
202 | CONFIG_OPTION = 406, |
203 | HOST_DECL_NAME = 407, | |
204 | ON = 408, | |
205 | EXPIRY = 409, | |
206 | RELEASE = 410, | |
207 | COMMIT = 411, | |
069e9f4c TL |
208 | DNS_UPDATE = 412, |
209 | LEASE_TIME = 413, | |
1c5d5731 | 210 | STATIC = 414, |
be1ee858 TL |
211 | NEVER = 415, |
212 | INFINITE = 416, | |
007e3ee4 | 213 | TOKEN_DELETED = 417, |
846d7d54 | 214 | UPDATED_DNS_RR = 418, |
337b3e52 | 215 | DNS_DELETE = 419, |
3d201338 | 216 | DUPLICATES = 420, |
679c2655 TL |
217 | DECLINES = 421, |
218 | TSTP = 422, | |
219 | TSFP = 423, | |
220 | OWNER = 424, | |
221 | IS = 425, | |
222 | HBA = 426, | |
223 | MAX_UNACKED_UPDATES = 427, | |
224 | MCLT = 428, | |
225 | SPLIT = 429, | |
226 | AT = 430, | |
8da06bb1 | 227 | TOKEN_NO = 431, |
375841eb TL |
228 | TOKEN_DELETE = 432, |
229 | NS_UPDATE = 433, | |
230 | UPDATE = 434, | |
231 | SWITCH = 435, | |
232 | CASE = 436, | |
233 | NS_FORMERR = 437, | |
234 | NS_NOERROR = 438, | |
235 | NS_NOTAUTH = 439, | |
236 | NS_NOTIMP = 440, | |
237 | NS_NOTZONE = 441, | |
238 | NS_NXDOMAIN = 442, | |
239 | NS_NXRRSET = 443, | |
240 | NS_REFUSED = 444, | |
241 | NS_SERVFAIL = 445, | |
242 | NS_YXDOMAIN = 446, | |
243 | NS_YXRRSET = 447, | |
244 | TOKEN_NULL = 448, | |
245 | TOKEN_SET = 449, | |
246 | DEFINED = 450, | |
247 | UNSET = 451, | |
248 | EVAL = 452, | |
249 | LET = 453, | |
250 | FUNCTION = 454, | |
251 | DEFINE = 455, | |
252 | ZONE = 456, | |
253 | KEY = 457, | |
254 | SECRET = 458, | |
34bc835a TL |
255 | ALGORITHM = 459, |
256 | LOAD = 460, | |
257 | BALANCE = 461, | |
258 | TOKEN_MAX = 462, | |
259 | SECONDS = 463, | |
822e866a | 260 | ADDRESS = 464, |
5965f2a0 | 261 | RESOLUTION_INTERRUPTED = 465, |
822e866a | 262 | STATE = 466, |
8c8e27c5 | 263 | UNKNOWN_STATE = 567, |
20916cae | 264 | CLTT = 568, |
007e3ee4 TL |
265 | INCLUDE = 569, |
266 | BINDING = 570, | |
267 | TOKEN_FREE = 571, | |
268 | TOKEN_ACTIVE = 572, | |
269 | TOKEN_EXPIRED = 573, | |
270 | TOKEN_RELEASED = 574, | |
271 | TOKEN_RESET = 575, | |
272 | TOKEN_BACKUP = 576, | |
273 | TOKEN_RESERVED = 577, | |
274 | TOKEN_BOOTP = 578, | |
275 | TOKEN_NEXT = 579, | |
e7a9c293 DN |
276 | OMAPI = 580, |
277 | LOG = 581, | |
278 | FATAL = 582, | |
279 | ERROR = 583, | |
280 | TOKEN_DEBUG = 584, | |
1b234d44 | 281 | INFO = 585, |
b4095545 TL |
282 | RETURN = 586, |
283 | PAUSED = 587, | |
284 | RECOVER_DONE = 588, | |
285 | SHUTDOWN = 589, | |
b3b9cca0 TL |
286 | STARTUP = 590, |
287 | ENCAPSULATE = 591, | |
2076acbe TL |
288 | VENDOR = 592, |
289 | CLIENT_STATE = 593, | |
290 | INIT_REBOOT = 594, | |
291 | TOKEN_INIT = 595, | |
2165f83f TL |
292 | SELECT = 596, |
293 | BOUND = 597, | |
294 | RENEWING = 598, | |
295 | REBINDING = 599, | |
5a2bee23 | 296 | RECONTACT_INTERVAL = 600, |
5ec697e6 | 297 | CLIENT_UPDATES = 601, |
1687c64b | 298 | TOKEN_NEW = 601, |
9345f3cc DN |
299 | TRANSMISSION = 602, |
300 | TOKEN_CLOSE = 603, | |
301 | TOKEN_CREATE = 604, | |
302 | TOKEN_OPEN = 605, | |
0b69dcc8 | 303 | TOKEN_HELP = 606, |
3417f5cf | 304 | END_OF_FILE = 607, |
e448718d | 305 | RECOVER_WAIT = 608, |
8da06bb1 | 306 | TOKEN_SERVER = 609, |
31bbee78 | 307 | CONNECT = 610, |
d758ad8c TL |
308 | REMOVE = 611, |
309 | REFRESH = 612, | |
98311e4b DH |
310 | DOMAIN_NAME = 613, |
311 | DO_FORWARD_UPDATE = 614, | |
88cd8aca | 312 | KNOWN_CLIENTS = 615, |
2727c1cf DH |
313 | ATSFP = 616, |
314 | LCASE = 617, | |
e1e1a05f | 315 | UCASE = 618, |
f7fdb216 DH |
316 | WIDTH = 619, |
317 | LENGTH = 620, | |
318 | HASH = 621, | |
5e864416 DH |
319 | SIZE = 622, |
320 | EPOCH = 623, | |
321 | DB_TIME_FORMAT = 624, | |
2426234f DH |
322 | LOCAL = 625, |
323 | MAX_LEASE_MISBALANCE = 626, | |
324 | MAX_LEASE_OWNERSHIP = 627, | |
325 | MAX_BALANCE = 628, | |
dba5803b | 326 | MIN_BALANCE = 629, |
6d103865 | 327 | DOMAIN_LIST = 630, |
b543fea9 | 328 | LEASEQUERY = 631, |
98bd7ca0 DH |
329 | EXECUTE = 632, |
330 | IP6_ADDRESS = 633, | |
331 | FIXED_ADDR6 = 634, | |
332 | COMPRESSED = 635, | |
333 | SUBNET6 = 636, | |
334 | HOST_IDENTIFIER = 637, | |
335 | IA_NA = 638, | |
1d9774ab FD |
336 | IA_TA = 639, |
337 | IA_PD = 640, | |
338 | IAADDR = 641, | |
339 | IAPREFIX = 642, | |
340 | LEASE6 = 643, | |
341 | PREFERRED_LIFE = 644, | |
342 | MAX_LIFE = 645, | |
343 | DEFAULT_DUID = 646, | |
344 | SERVER_DUID = 647, | |
345 | LLT = 648, | |
346 | EN = 649, | |
347 | LL = 650, | |
348 | RANGE6 = 651, | |
349 | WHITESPACE = 652, | |
350 | TOKEN_ALSO = 653, | |
4cafb815 | 351 | AFTER = 654, |
80c9fdb0 FD |
352 | ZEROLEN = 655, |
353 | TEMPORARY = 656, | |
354 | PREFIX6 = 657, | |
0829d595 | 355 | FIXED_PREFIX6 = 658, |
792156a9 | 356 | ANYCAST_MAC = 659, |
9e3eb22a | 357 | CONFLICT_DONE = 660, |
33ea4622 | 358 | AUTO_PARTNER_DOWN = 661, |
fdfebedf DH |
359 | GETHOSTNAME = 662, |
360 | REWIND = 663 | |
983ea35c | 361 | }; |
d7837182 TL |
362 | |
363 | #define is_identifier(x) ((x) >= FIRST_TOKEN && \ | |
d7837182 | 364 | (x) != STRING && \ |
f4e348de | 365 | (x) != NUMBER && \ |
98311e4b | 366 | (x) != END_OF_FILE) |