]> git.ipfire.org Git - thirdparty/dhcp.git/blame - includes/dhctoken.h
Add let and define.
[thirdparty/dhcp.git] / includes / dhctoken.h
CommitLineData
d7837182
TL
1/* dhctoken.h
2
3 Tokens for config file lexer and parser. */
4
5/*
f39b6e00
TL
6 * Copyright (c) 1996-1999 Internet Software Consortium.
7 * Use is subject to license terms which appear in the file named
8 * ISC-LICENSE that should have accompanied this file when you
9 * received it. If a file named ISC-LICENSE did not accompany this
10 * file, or you are not sure the one you have is correct, you may
11 * obtain an applicable copy of the license at:
d7837182 12 *
f39b6e00 13 * http://www.isc.org/isc-license-1.0.html.
d7837182 14 *
f39b6e00
TL
15 * This file is part of the ISC DHCP distribution. The documentation
16 * associated with this file is listed in the file DOCUMENTATION,
17 * included in the top-level directory of this release.
d7837182 18 *
f39b6e00
TL
19 * Support and other services are available for ISC products - see
20 * http://www.isc.org for more information.
d7837182
TL
21 */
22
983ea35c
TL
23enum dhcp_token {
24 SEMI = ';',
25 DOT = '.',
26 COLON = ':',
27 COMMA = ',',
28 SLASH = '/',
29 LBRACE = '{',
30 RBRACE = '}',
31 LPAREN = '(',
32 RPAREN = ')',
33 EQUAL = '=',
2b965a44 34 BANG = '!',
3bbe2135 35 PERCENT = '%',
d7837182 36
983ea35c
TL
37 HOST = 256,
38 FIRST_TOKEN = HOST,
39 HARDWARE = 257,
40 FILENAME = 258,
41 FIXED_ADDR = 259,
42 OPTION = 260,
43 ETHERNET = 261,
44 STRING = 262,
45 NUMBER = 263,
46 NUMBER_OR_NAME = 264,
47 NAME = 265,
48 TIMESTAMP = 266,
49 STARTS = 267,
50 ENDS = 268,
51 UID = 269,
52 CLASS = 270,
53 LEASE = 271,
54 RANGE = 272,
55 PACKET = 273,
56 CIADDR = 274,
57 YIADDR = 275,
58 SIADDR = 276,
59 GIADDR = 277,
60 SUBNET = 278,
61 NETMASK = 279,
62 DEFAULT_LEASE_TIME = 280,
63 MAX_LEASE_TIME = 281,
64 VENDOR_CLASS = 282,
65 USER_CLASS = 283,
66 SHARED_NETWORK = 284,
67 SERVER_NAME = 285,
68 DYNAMIC_BOOTP = 286,
69 SERVER_IDENTIFIER = 287,
70 DYNAMIC_BOOTP_LEASE_CUTOFF = 288,
71 DYNAMIC_BOOTP_LEASE_LENGTH = 289,
72 BOOT_UNKNOWN_CLIENTS = 290,
73 NEXT_SERVER = 291,
74 TOKEN_RING = 292,
75 GROUP = 293,
76 ONE_LEASE_PER_CLIENT = 294,
77 GET_LEASE_HOSTNAMES = 295,
78 USE_HOST_DECL_NAMES = 296,
79 SEND = 297,
80 CLIENT_IDENTIFIER = 298,
81 REQUEST = 299,
82 REQUIRE = 300,
83 TIMEOUT = 301,
84 RETRY = 302,
85 SELECT_TIMEOUT = 303,
86 SCRIPT = 304,
87 INTERFACE = 305,
88 RENEW = 306,
89 REBIND = 307,
90 EXPIRE = 308,
91 UNKNOWN_CLIENTS = 309,
92 ALLOW = 310,
93 BOOTP = 311,
94 DENY = 312,
95 BOOTING = 313,
96 DEFAULT = 314,
97 MEDIA = 315,
98 MEDIUM = 316,
99 ALIAS = 317,
100 REBOOT = 318,
101 ABANDONED = 319,
102 BACKOFF_CUTOFF = 320,
103 INITIAL_INTERVAL = 321,
104 NAMESERVER = 322,
105 DOMAIN = 323,
106 SEARCH = 324,
107 SUPERSEDE = 325,
108 APPEND = 326,
109 PREPEND = 327,
110 HOSTNAME = 328,
111 CLIENT_HOSTNAME = 329,
112 REJECT = 330,
113 USE_LEASE_ADDR_FOR_DEFAULT_ROUTE = 331,
114 MIN_LEASE_TIME = 332,
115 MIN_SECS = 333,
116 AND = 334,
117 OR = 335,
983ea35c
TL
118 SUBSTRING = 337,
119 SUFFIX = 338,
120 CHECK = 339,
121 EXTRACT_INT = 340,
122 IF = 341,
8a04c615 123 TOKEN_ADD = 342,
983ea35c
TL
124 BREAK = 343,
125 ELSE = 344,
126 ELSIF = 345,
127 SUBCLASS = 346,
128 MATCH = 347,
129 SPAWN = 348,
130 WITH = 349,
131 EXISTS = 350,
f197003d
TL
132 POOL = 351,
133 UNKNOWN = 352,
134 CLIENTS = 353,
135 KNOWN = 354,
136 AUTHENTICATED = 355,
137 UNAUTHENTICATED = 356,
138 ALL = 357,
139 DYNAMIC = 358,
140 MEMBERS = 359,
141 OF = 360,
142 PSEUDO = 361,
00a7748f
TL
143 LIMIT = 362,
144 BILLING = 363,
c66b869e
TL
145 PEER = 364,
146 FAILOVER = 365,
147 MY = 366,
148 PARTNER = 367,
149 PRIMARY = 368,
150 SECONDARY = 369,
151 IDENTIFIER = 370,
152 PORT = 371,
153 MAX_TRANSMIT_IDLE = 372,
154 MAX_RESPONSE_DELAY = 373,
155 PARTNER_DOWN = 374,
156 NORMAL = 375,
157 COMMUNICATIONS_INTERRUPTED = 376,
158 POTENTIAL_CONFLICT = 377,
159 RECOVER = 378,
6b6126fb
TL
160 FDDI = 379,
161 AUTHORITATIVE = 380,
162 TOKEN_NOT = 381,
74f45f96 163 AUTH_KEY = 382,
40d08f51
TL
164 AUTHENTICATION = 383,
165 IGNORE = 384,
166 ACCEPT = 385,
167 PREFER = 386,
168 DONT = 387,
1e382a09
TL
169 CODE = 388,
170 ARRAY = 389,
171 BOOLEAN = 390,
172 INTEGER = 391,
173 SIGNED = 392,
174 UNSIGNED = 393,
175 IP_ADDRESS = 394,
176 TEXT = 395,
177 STRING_TOKEN = 396,
6cad5838 178 SPACE = 397,
b7afba03 179 CONCAT = 398,
3cb23d09 180 ENCODE_INT = 399,
da38df14
TL
181 REVERSE = 402,
182 LEASED_ADDRESS = 403,
183 BINARY_TO_ASCII = 404,
d7d2cbe8 184 PICK = 405,
79a65726
TL
185 CONFIG_OPTION = 406,
186 HOST_DECL_NAME = 407,
187 ON = 408,
188 EXPIRY = 409,
189 RELEASE = 410,
190 COMMIT = 411,
069e9f4c
TL
191 DNS_UPDATE = 412,
192 LEASE_TIME = 413,
1c5d5731 193 STATIC = 414,
be1ee858
TL
194 NEVER = 415,
195 INFINITE = 416,
07dc11f8 196 DELETED = 417,
846d7d54 197 UPDATED_DNS_RR = 418,
337b3e52 198 DNS_DELETE = 419,
3d201338 199 DUPLICATES = 420,
679c2655
TL
200 DECLINES = 421,
201 TSTP = 422,
202 TSFP = 423,
203 OWNER = 424,
204 IS = 425,
205 HBA = 426,
206 MAX_UNACKED_UPDATES = 427,
207 MCLT = 428,
208 SPLIT = 429,
209 AT = 430,
210 NO = 431,
211 TOKEN_DELETE,
212 NS_UPDATE,
14a2c383
TL
213 UPDATE,
214 SWITCH,
215 CASE,
216 NS_FORMERR,
217 NS_NOERROR,
218 NS_NOTAUTH,
219 NS_NOTIMP,
220 NS_NOTZONE,
221 NS_NXDOMAIN,
222 NS_NXRRSET,
223 NS_REFUSED,
224 NS_SERVFAIL,
225 NS_YXDOMAIN,
226 NS_YXRRSET,
227 TOKEN_NULL,
228 TOKEN_SET,
d7d2cbe8
TL
229 DEFINED,
230 UNSET,
231 EVAL,
232 LET
983ea35c 233};
d7837182
TL
234
235#define is_identifier(x) ((x) >= FIRST_TOKEN && \
d7837182 236 (x) != STRING && \
f4e348de
TL
237 (x) != NUMBER && \
238 (x) != EOF)