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