ISC DHCP  4.3.3
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) 2011-2015 by Internet Systems Consortium, Inc. ("ISC")
7  * Copyright (c) 2004,2007-2009 by Internet Systems Consortium, Inc. ("ISC")
8  * Copyright (c) 1996-2003 by Internet Software Consortium
9  *
10  * Permission to use, copy, modify, and distribute this software for any
11  * purpose with or without fee is hereby granted, provided that the above
12  * copyright notice and this permission notice appear in all copies.
13  *
14  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
15  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
16  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR
17  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
18  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
19  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
20  * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
21  *
22  * Internet Systems Consortium, Inc.
23  * 950 Charter Street
24  * Redwood City, CA 94063
25  * <info@isc.org>
26  * https://www.isc.org/
27  *
28  */
29 
30 /*
31  * The following tokens have been deprecated and aren't in use anymore.
32  * They have been left in place to avoid disturbing the code.
33  * DNS_UPDATE, DNS_DELETE, NS_UPDATE, UPDATED_DNS_RR
34  */
35 enum dhcp_token {
36  SEMI = ';',
37  DOT = '.',
38  COLON = ':',
39  COMMA = ',',
40  SLASH = '/',
41  LBRACE = '{',
42  RBRACE = '}',
43  LPAREN = '(',
44  RPAREN = ')',
45  EQUAL = '=',
46  TILDE = '~',
47  BANG = '!',
48  PERCENT = '%',
49  PLUS = '+',
50  MINUS = '-',
51  ASTERISK = '*',
52  AMPERSAND = '&',
53  PIPE = '|',
54  CARET = '^',
55  ENDOFLINE = '\n',
56  QUESTIONMARK = '?',
57 
58  HOST = 256,
60  HARDWARE = 257,
61  FILENAME = 258,
62  FIXED_ADDR = 259,
63  OPTION = 260,
64  ETHERNET = 261,
65  STRING = 262,
66  NUMBER = 263,
68  NAME = 265,
69  TIMESTAMP = 266,
70  STARTS = 267,
71  ENDS = 268,
72  UID = 269,
73  CLASS = 270,
74  LEASE = 271,
75  RANGE = 272,
76  PACKET = 273,
77  CIADDR = 274,
78  YIADDR = 275,
79  SIADDR = 276,
80  GIADDR = 277,
81  SUBNET = 278,
82  NETMASK = 279,
85  VENDOR_CLASS = 282,
86  USER_CLASS = 283,
88  SERVER_NAME = 285,
94  NEXT_SERVER = 291,
95  TOKEN_RING = 292,
96  GROUP = 293,
100  SEND = 297,
102  REQUEST = 299,
103  REQUIRE = 300,
104  TIMEOUT = 301,
105  RETRY = 302,
107  SCRIPT = 304,
108  INTERFACE = 305,
109  RENEW = 306,
110  REBIND = 307,
111  EXPIRE = 308,
113  ALLOW = 310,
114  DENY = 312,
115  BOOTING = 313,
116  DEFAULT = 314,
117  MEDIA = 315,
118  MEDIUM = 316,
119  ALIAS = 317,
120  REBOOT = 318,
124  NAMESERVER = 322,
125  DOMAIN = 323,
126  SEARCH = 324,
127  SUPERSEDE = 325,
128  APPEND = 326,
129  PREPEND = 327,
130  HOSTNAME = 328,
132  REJECT = 330,
135  MIN_SECS = 333,
136  AND = 334,
137  OR = 335,
138  SUBSTRING = 337,
139  SUFFIX = 338,
140  CHECK = 339,
141  EXTRACT_INT = 340,
142  IF = 341,
143  TOKEN_ADD = 342,
144  BREAK = 343,
145  ELSE = 344,
146  ELSIF = 345,
147  SUBCLASS = 346,
148  MATCH = 347,
149  SPAWN = 348,
150  WITH = 349,
151  EXISTS = 350,
152  POOL = 351,
153  UNKNOWN = 352,
154  CLIENTS = 353,
155  KNOWN = 354,
158  ALL = 357,
159  DYNAMIC = 358,
160  MEMBERS = 359,
161  OF = 360,
162  PSEUDO = 361,
163  LIMIT = 362,
164  BILLING = 363,
165  PEER = 364,
166  FAILOVER = 365,
167  MY = 366,
168  PARTNER = 367,
169  PRIMARY = 368,
170  SECONDARY = 369,
171  IDENTIFIER = 370,
172  PORT = 371,
176  NORMAL = 375,
179  RECOVER = 378,
180  TOKEN_FDDI = 379,
182  TOKEN_NOT = 381,
184  IGNORE = 384,
185  ACCEPT = 385,
186  PREFER = 386,
187  DONT = 387,
188  CODE = 388,
189  ARRAY = 389,
190  BOOLEAN = 390,
191  INTEGER = 391,
192  SIGNED = 392,
193  UNSIGNED = 393,
194  IP_ADDRESS = 394,
195  TEXT = 395,
197  SPACE = 397,
198  CONCAT = 398,
199  ENCODE_INT = 399,
200  REVERSE = 402,
203  PICK = 405,
206  ON = 408,
207  EXPIRY = 409,
208  RELEASE = 410,
209  COMMIT = 411,
210  DNS_UPDATE = 412,
211  LEASE_TIME = 413,
212  STATIC = 414,
213  NEVER = 415,
214  INFINITE = 416,
217  DNS_DELETE = 419,
218  DUPLICATES = 420,
219  DECLINES = 421,
220  TSTP = 422,
221  TSFP = 423,
222  OWNER = 424,
223  IS = 425,
224  HBA = 426,
226  MCLT = 428,
227  SPLIT = 429,
228  AT = 430,
229  TOKEN_NO = 431,
231  NS_UPDATE = 433,
232  UPDATE = 434,
233  SWITCH = 435,
234  CASE = 436,
235  NS_FORMERR = 437,
236  NS_NOERROR = 438,
237  NS_NOTAUTH = 439,
238  NS_NOTIMP = 440,
239  NS_NOTZONE = 441,
240  NS_NXDOMAIN = 442,
241  NS_NXRRSET = 443,
242  NS_REFUSED = 444,
243  NS_SERVFAIL = 445,
244  NS_YXDOMAIN = 446,
245  NS_YXRRSET = 447,
246  TOKEN_NULL = 448,
247  TOKEN_SET = 449,
248  DEFINED = 450,
249  UNSET = 451,
250  EVAL = 452,
251  LET = 453,
252  FUNCTION = 454,
253  DEFINE = 455,
254  ZONE = 456,
255  KEY = 457,
256  SECRET = 458,
257  ALGORITHM = 459,
258  LOAD = 460,
259  BALANCE = 461,
260  TOKEN_MAX = 462,
261  SECONDS = 463,
262  ADDRESS = 464,
264  STATE = 466,
266  CLTT = 568,
267  INCLUDE = 569,
268  BINDING = 570,
269  TOKEN_FREE = 571,
273  TOKEN_RESET = 575,
276  TOKEN_BOOTP = 578,
277  TOKEN_NEXT = 579,
278  OMAPI = 580,
279  LOG = 581,
280  FATAL = 582,
281  ERROR = 583,
282  TOKEN_DEBUG = 584,
283  INFO = 585,
284  RETURN = 586,
285  PAUSED = 587,
287  SHUTDOWN = 589,
288  STARTUP = 590,
289  ENCAPSULATE = 591,
290  VENDOR = 592,
292  INIT_REBOOT = 594,
293  TOKEN_INIT = 595,
294  SELECT = 596,
295  BOUND = 597,
296  RENEWING = 598,
297  REBINDING = 599,
300  TOKEN_NEW = 601,
302  TOKEN_CLOSE = 603,
304  TOKEN_OPEN = 605,
305  TOKEN_HELP = 606,
306  END_OF_FILE = 607,
309  CONNECT = 610,
310  REMOVE = 611,
311  REFRESH = 612,
312  DOMAIN_NAME = 613,
315  ATSFP = 616,
316  LCASE = 617,
317  UCASE = 618,
318  WIDTH = 619,
319  LENGTH = 620,
320  HASH = 621,
321  SIZE = 622,
322  EPOCH = 623,
324  LOCAL = 625,
327  MAX_BALANCE = 628,
328  MIN_BALANCE = 629,
329  DOMAIN_LIST = 630,
330  LEASEQUERY = 631,
331  EXECUTE = 632,
332  IP6_ADDRESS = 633,
333  FIXED_ADDR6 = 634,
334  COMPRESSED = 635,
335  SUBNET6 = 636,
337  IA_NA = 638,
338  IA_TA = 639,
339  IA_PD = 640,
340  IAADDR = 641,
341  IAPREFIX = 642,
342  LEASE6 = 643,
344  MAX_LIFE = 645,
346  SERVER_DUID = 647,
347  LLT = 648,
348  EN = 649,
349  LL = 650,
350  RANGE6 = 651,
351  WHITESPACE = 652,
352  TOKEN_ALSO = 653,
353  AFTER = 654,
354  ZEROLEN = 655,
355  TEMPORARY = 656,
356  PREFIX6 = 657,
358  ANYCAST_MAC = 659,
361  GETHOSTNAME = 662,
362  REWIND = 663,
365  PRIMARY6 = 666,
366  SECONDARY6 = 667,
368  POOL6 = 669,
369  V6RELAY = 670,
370  V6RELOPT = 671,
374 };
375 
376 #define is_identifier(x) ((x) >= FIRST_TOKEN && \
377  (x) != STRING && \
378  (x) != NUMBER && \
379  (x) != END_OF_FILE)
Definition: dhctoken.h:100
Definition: dhctoken.h:96
Definition: dhctoken.h:266
Definition: dhctoken.h:250
Definition: dhctoken.h:150
Definition: dhctoken.h:75
Definition: dhctoken.h:58
Definition: dhctoken.h:72
Definition: dhctoken.h:71
Definition: dhctoken.h:152
Definition: dhctoken.h:47
Definition: dhctoken.h:54
Definition: dhctoken.h:137
Definition: dhctoken.h:349
Definition: dhctoken.h:195
Definition: dhctoken.h:251
Definition: dhctoken.h:68
Definition: dhctoken.h:50
Definition: dhctoken.h:114
Definition: dhctoken.h:36
Definition: dhctoken.h:46
Definition: dhctoken.h:321
Definition: dhctoken.h:165
Definition: dhctoken.h:258
Definition: dhctoken.h:221
Definition: dhctoken.h:228
Definition: dhctoken.h:223
Definition: dhctoken.h:187
Definition: dhctoken.h:38
Definition: dhctoken.h:348
Definition: dhctoken.h:40
Definition: dhctoken.h:188
Definition: dhctoken.h:203
Definition: dhctoken.h:39
dhcp_token
Definition: dhctoken.h:35
Definition: dhctoken.h:234
Definition: dhctoken.h:136
Definition: dhctoken.h:220
Definition: dhctoken.h:347
Definition: dhctoken.h:167
Definition: dhctoken.h:45
Definition: dhctoken.h:158
Definition: dhctoken.h:161
Definition: dhctoken.h:172
Definition: dhctoken.h:255
Definition: dhctoken.h:73
Definition: dhctoken.h:49
Definition: dhctoken.h:283
Definition: dhctoken.h:226
Definition: dhctoken.h:206
Definition: dhctoken.h:74
Definition: dhctoken.h:145
Definition: dhctoken.h:254
Definition: dhctoken.h:279
Definition: dhctoken.h:37
Definition: dhctoken.h:53
Definition: dhctoken.h:142
Definition: dhctoken.h:224
Definition: dhctoken.h:320