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