ISC DHCP  4.4.1
A reference DHCPv4 and DHCPv6 implementation
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
dhctoken.h
Go to the documentation of this file.
1 /* dhctoken.h
2 
3  Tokens for config file lexer and parser. */
4 
5 /*
6  * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
7  * Copyright (c) 1996-2003 by Internet Software Consortium
8  *
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/.
12  *
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.
20  *
21  * Internet Systems Consortium, Inc.
22  * 950 Charter Street
23  * Redwood City, CA 94063
24  * <info@isc.org>
25  * https://www.isc.org/
26  *
27  */
28 
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  */
34 enum dhcp_token {
35  SEMI = ';',
36  DOT = '.',
37  COLON = ':',
38  COMMA = ',',
39  SLASH = '/',
40  LBRACE = '{',
41  RBRACE = '}',
42  LBRACKET = '[',
43  RBRACKET = ']',
44  LPAREN = '(',
45  RPAREN = ')',
46  EQUAL = '=',
47  TILDE = '~',
48  BANG = '!',
49  PERCENT = '%',
50  PLUS = '+',
51  MINUS = '-',
52  ASTERISK = '*',
53  AMPERSAND = '&',
54  PIPE = '|',
55  CARET = '^',
56  ENDOFLINE = '\n',
57  QUESTIONMARK = '?',
58 
59  HOST = 256,
61  HARDWARE = 257,
62  FILENAME = 258,
63  FIXED_ADDR = 259,
64  OPTION = 260,
65  ETHERNET = 261,
66  STRING = 262,
67  NUMBER = 263,
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,
86  VENDOR_CLASS = 282,
87  USER_CLASS = 283,
89  SERVER_NAME = 285,
95  NEXT_SERVER = 291,
96  TOKEN_RING = 292,
97  GROUP = 293,
101  SEND = 297,
103  REQUEST = 299,
104  REQUIRE = 300,
105  TIMEOUT = 301,
106  RETRY = 302,
108  SCRIPT = 304,
109  INTERFACE = 305,
110  RENEW = 306,
111  REBIND = 307,
112  EXPIRE = 308,
114  ALLOW = 310,
115  DENY = 312,
116  BOOTING = 313,
117  DEFAULT = 314,
118  MEDIA = 315,
119  MEDIUM = 316,
120  ALIAS = 317,
121  REBOOT = 318,
125  NAMESERVER = 322,
126  DOMAIN = 323,
127  SEARCH = 324,
128  SUPERSEDE = 325,
129  APPEND = 326,
130  PREPEND = 327,
131  HOSTNAME = 328,
133  REJECT = 330,
136  MIN_SECS = 333,
137  AND = 334,
138  OR = 335,
139  SUBSTRING = 337,
140  SUFFIX = 338,
141  CHECK = 339,
142  EXTRACT_INT = 340,
143  IF = 341,
144  TOKEN_ADD = 342,
145  BREAK = 343,
146  ELSE = 344,
147  ELSIF = 345,
148  SUBCLASS = 346,
149  MATCH = 347,
150  SPAWN = 348,
151  WITH = 349,
152  EXISTS = 350,
153  POOL = 351,
154  UNKNOWN = 352,
155  CLIENTS = 353,
156  KNOWN = 354,
159  ALL = 357,
160  DYNAMIC = 358,
161  MEMBERS = 359,
162  OF = 360,
163  PSEUDO = 361,
164  LIMIT = 362,
165  BILLING = 363,
166  PEER = 364,
167  FAILOVER = 365,
168  MY = 366,
169  PARTNER = 367,
170  PRIMARY = 368,
171  SECONDARY = 369,
172  IDENTIFIER = 370,
173  PORT = 371,
177  NORMAL = 375,
180  RECOVER = 378,
181  TOKEN_FDDI = 379,
183  TOKEN_NOT = 381,
185  IGNORE = 384,
186  ACCEPT = 385,
187  PREFER = 386,
188  DONT = 387,
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,
198  SPACE = 397,
199  CONCAT = 398,
200  ENCODE_INT = 399,
201  REVERSE = 402,
204  PICK = 405,
207  ON = 408,
208  EXPIRY = 409,
209  RELEASE = 410,
210  COMMIT = 411,
211  DNS_UPDATE = 412,
212  LEASE_TIME = 413,
213  STATIC = 414,
214  NEVER = 415,
215  INFINITE = 416,
218  DNS_DELETE = 419,
219  DUPLICATES = 420,
220  DECLINES = 421,
221  TSTP = 422,
222  TSFP = 423,
223  OWNER = 424,
224  IS = 425,
225  HBA = 426,
227  MCLT = 428,
228  SPLIT = 429,
229  AT = 430,
230  TOKEN_NO = 431,
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,
258  ALGORITHM = 459,
259  LOAD = 460,
260  BALANCE = 461,
261  TOKEN_MAX = 462,
262  SECONDS = 463,
263  ADDRESS = 464,
265  STATE = 466,
267  CLTT = 568,
268  INCLUDE = 569,
269  BINDING = 570,
270  TOKEN_FREE = 571,
274  TOKEN_RESET = 575,
277  TOKEN_BOOTP = 578,
278  TOKEN_NEXT = 579,
279  OMAPI = 580,
280  LOG = 581,
281  FATAL = 582,
282  ERROR = 583,
283  TOKEN_DEBUG = 584,
284  INFO = 585,
285  RETURN = 586,
286  PAUSED = 587,
288  SHUTDOWN = 589,
289  STARTUP = 590,
290  ENCAPSULATE = 591,
291  VENDOR = 592,
293  INIT_REBOOT = 594,
294  TOKEN_INIT = 595,
295  SELECT = 596,
296  BOUND = 597,
297  RENEWING = 598,
298  REBINDING = 599,
301  TOKEN_NEW = 601,
303  TOKEN_CLOSE = 603,
305  TOKEN_OPEN = 605,
306  TOKEN_HELP = 606,
307  END_OF_FILE = 607,
310  CONNECT = 610,
311  REMOVE = 611,
312  REFRESH = 612,
313  DOMAIN_NAME = 613,
316  ATSFP = 616,
317  LCASE = 617,
318  UCASE = 618,
319  WIDTH = 619,
320  LENGTH = 620,
321  HASH = 621,
322  SIZE = 622,
323  EPOCH = 623,
325  LOCAL = 625,
328  MAX_BALANCE = 628,
329  MIN_BALANCE = 629,
330  DOMAIN_LIST = 630,
331  LEASEQUERY = 631,
332  EXECUTE = 632,
333  IP6_ADDRESS = 633,
334  FIXED_ADDR6 = 634,
335  COMPRESSED = 635,
336  SUBNET6 = 636,
338  IA_NA = 638,
339  IA_TA = 639,
340  IA_PD = 640,
341  IAADDR = 641,
342  IAPREFIX = 642,
343  LEASE6 = 643,
345  MAX_LIFE = 645,
347  SERVER_DUID = 647,
348  LLT = 648,
349  EN = 649,
350  LL = 650,
351  RANGE6 = 651,
352  WHITESPACE = 652,
353  TOKEN_ALSO = 653,
354  AFTER = 654,
355  ZEROLEN = 655,
356  TEMPORARY = 656,
357  PREFIX6 = 657,
359  ANYCAST_MAC = 659,
362  GETHOSTNAME = 662,
363  REWIND = 663,
366  PRIMARY6 = 666,
367  SECONDARY6 = 667,
369  POOL6 = 669,
370  V6RELAY = 670,
371  V6RELOPT = 671,
377  TOKEN_HEX = 677,
378  TOKEN_OCTAL = 678,
382 };
383 
384 #define is_identifier(x) ((x) >= FIRST_TOKEN && \
385  (x) != STRING && \
386  (x) != NUMBER && \
387  (x) != END_OF_FILE)
Definition: dhctoken.h:101
Definition: dhctoken.h:97
Definition: dhctoken.h:267
Definition: dhctoken.h:251
Definition: dhctoken.h:151
Definition: dhctoken.h:76
Definition: dhctoken.h:59
Definition: dhctoken.h:73
Definition: dhctoken.h:72
Definition: dhctoken.h:153
Definition: dhctoken.h:48
Definition: dhctoken.h:55
Definition: dhctoken.h:138
Definition: dhctoken.h:350
Definition: dhctoken.h:196
Definition: dhctoken.h:252
Definition: dhctoken.h:69
Definition: dhctoken.h:51
Definition: dhctoken.h:115
Definition: dhctoken.h:35
Definition: dhctoken.h:47
Definition: dhctoken.h:322
Definition: dhctoken.h:166
Definition: dhctoken.h:259
Definition: dhctoken.h:222
Definition: dhctoken.h:229
Definition: dhctoken.h:224
Definition: dhctoken.h:188
Definition: dhctoken.h:37
Definition: dhctoken.h:349
Definition: dhctoken.h:39
Definition: dhctoken.h:189
Definition: dhctoken.h:204
Definition: dhctoken.h:38
dhcp_token
Definition: dhctoken.h:34
Definition: dhctoken.h:235
Definition: dhctoken.h:137
Definition: dhctoken.h:221
Definition: dhctoken.h:348
Definition: dhctoken.h:168
Definition: dhctoken.h:46
Definition: dhctoken.h:159
Definition: dhctoken.h:162
Definition: dhctoken.h:173
Definition: dhctoken.h:256
Definition: dhctoken.h:74
Definition: dhctoken.h:50
Definition: dhctoken.h:284
Definition: dhctoken.h:227
Definition: dhctoken.h:207
Definition: dhctoken.h:75
Definition: dhctoken.h:146
Definition: dhctoken.h:255
Definition: dhctoken.h:280
Definition: dhctoken.h:36
Definition: dhctoken.h:54
Definition: dhctoken.h:143
Definition: dhctoken.h:225
Definition: dhctoken.h:321