]> git.ipfire.org Git - thirdparty/dhcp.git/blame - includes/dhctoken.h
- A new failover configuration parameter has been introduced for those
[thirdparty/dhcp.git] / includes / dhctoken.h
CommitLineData
d7837182
TL
1/* dhctoken.h
2
3 Tokens for config file lexer and parser. */
4
5/*
dccb6edf 6 * Copyright (c) 2004,2007-2008 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>
25 * http://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
49733f31
TL
30 * ``http://www.isc.org/''. To learn more about Vixie Enterprises,
31 * see ``http://www.vix.com''. To learn more about Nominum, Inc., see
32 * ``http://www.nominum.com''.
d7837182
TL
33 */
34
983ea35c
TL
35enum 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
DH
357 CONFLICT_DONE = 660,
358 AUTO_PARTNER_DOWN = 661
983ea35c 359};
d7837182
TL
360
361#define is_identifier(x) ((x) >= FIRST_TOKEN && \
d7837182 362 (x) != STRING && \
f4e348de 363 (x) != NUMBER && \
98311e4b 364 (x) != END_OF_FILE)