]> git.ipfire.org Git - thirdparty/dhcp.git/blame - includes/dhctoken.h
- RFC3942 compliance, site-local option spaces start at 224 now, not 128.
[thirdparty/dhcp.git] / includes / dhctoken.h
CommitLineData
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
35enum 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,
311 KNOWN_CLIENTS = 615
983ea35c 312};
d7837182
TL
313
314#define is_identifier(x) ((x) >= FIRST_TOKEN && \
d7837182 315 (x) != STRING && \
f4e348de 316 (x) != NUMBER && \
98311e4b 317 (x) != END_OF_FILE)