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