]> git.ipfire.org Git - thirdparty/dhcp.git/blame - includes/dhctoken.h
Change behaviour of concat so that any null argument produces a null result.
[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 = '=',
d7837182 34
983ea35c
TL
35 HOST = 256,
36 FIRST_TOKEN = HOST,
37 HARDWARE = 257,
38 FILENAME = 258,
39 FIXED_ADDR = 259,
40 OPTION = 260,
41 ETHERNET = 261,
42 STRING = 262,
43 NUMBER = 263,
44 NUMBER_OR_NAME = 264,
45 NAME = 265,
46 TIMESTAMP = 266,
47 STARTS = 267,
48 ENDS = 268,
49 UID = 269,
50 CLASS = 270,
51 LEASE = 271,
52 RANGE = 272,
53 PACKET = 273,
54 CIADDR = 274,
55 YIADDR = 275,
56 SIADDR = 276,
57 GIADDR = 277,
58 SUBNET = 278,
59 NETMASK = 279,
60 DEFAULT_LEASE_TIME = 280,
61 MAX_LEASE_TIME = 281,
62 VENDOR_CLASS = 282,
63 USER_CLASS = 283,
64 SHARED_NETWORK = 284,
65 SERVER_NAME = 285,
66 DYNAMIC_BOOTP = 286,
67 SERVER_IDENTIFIER = 287,
68 DYNAMIC_BOOTP_LEASE_CUTOFF = 288,
69 DYNAMIC_BOOTP_LEASE_LENGTH = 289,
70 BOOT_UNKNOWN_CLIENTS = 290,
71 NEXT_SERVER = 291,
72 TOKEN_RING = 292,
73 GROUP = 293,
74 ONE_LEASE_PER_CLIENT = 294,
75 GET_LEASE_HOSTNAMES = 295,
76 USE_HOST_DECL_NAMES = 296,
77 SEND = 297,
78 CLIENT_IDENTIFIER = 298,
79 REQUEST = 299,
80 REQUIRE = 300,
81 TIMEOUT = 301,
82 RETRY = 302,
83 SELECT_TIMEOUT = 303,
84 SCRIPT = 304,
85 INTERFACE = 305,
86 RENEW = 306,
87 REBIND = 307,
88 EXPIRE = 308,
89 UNKNOWN_CLIENTS = 309,
90 ALLOW = 310,
91 BOOTP = 311,
92 DENY = 312,
93 BOOTING = 313,
94 DEFAULT = 314,
95 MEDIA = 315,
96 MEDIUM = 316,
97 ALIAS = 317,
98 REBOOT = 318,
99 ABANDONED = 319,
100 BACKOFF_CUTOFF = 320,
101 INITIAL_INTERVAL = 321,
102 NAMESERVER = 322,
103 DOMAIN = 323,
104 SEARCH = 324,
105 SUPERSEDE = 325,
106 APPEND = 326,
107 PREPEND = 327,
108 HOSTNAME = 328,
109 CLIENT_HOSTNAME = 329,
110 REJECT = 330,
111 USE_LEASE_ADDR_FOR_DEFAULT_ROUTE = 331,
112 MIN_LEASE_TIME = 332,
113 MIN_SECS = 333,
114 AND = 334,
115 OR = 335,
5e6fb153 116#if 0
983ea35c 117 NOT = 336,
5e6fb153 118#endif
983ea35c
TL
119 SUBSTRING = 337,
120 SUFFIX = 338,
121 CHECK = 339,
122 EXTRACT_INT = 340,
123 IF = 341,
8a04c615 124 TOKEN_ADD = 342,
983ea35c
TL
125 BREAK = 343,
126 ELSE = 344,
127 ELSIF = 345,
128 SUBCLASS = 346,
129 MATCH = 347,
130 SPAWN = 348,
131 WITH = 349,
132 EXISTS = 350,
f197003d
TL
133 POOL = 351,
134 UNKNOWN = 352,
135 CLIENTS = 353,
136 KNOWN = 354,
137 AUTHENTICATED = 355,
138 UNAUTHENTICATED = 356,
139 ALL = 357,
140 DYNAMIC = 358,
141 MEMBERS = 359,
142 OF = 360,
143 PSEUDO = 361,
00a7748f
TL
144 LIMIT = 362,
145 BILLING = 363,
c66b869e
TL
146 PEER = 364,
147 FAILOVER = 365,
148 MY = 366,
149 PARTNER = 367,
150 PRIMARY = 368,
151 SECONDARY = 369,
152 IDENTIFIER = 370,
153 PORT = 371,
154 MAX_TRANSMIT_IDLE = 372,
155 MAX_RESPONSE_DELAY = 373,
156 PARTNER_DOWN = 374,
157 NORMAL = 375,
158 COMMUNICATIONS_INTERRUPTED = 376,
159 POTENTIAL_CONFLICT = 377,
160 RECOVER = 378,
6b6126fb
TL
161 FDDI = 379,
162 AUTHORITATIVE = 380,
163 TOKEN_NOT = 381,
74f45f96 164 AUTH_KEY = 382,
40d08f51
TL
165 AUTHENTICATION = 383,
166 IGNORE = 384,
167 ACCEPT = 385,
168 PREFER = 386,
169 DONT = 387,
1e382a09
TL
170 CODE = 388,
171 ARRAY = 389,
172 BOOLEAN = 390,
173 INTEGER = 391,
174 SIGNED = 392,
175 UNSIGNED = 393,
176 IP_ADDRESS = 394,
177 TEXT = 395,
178 STRING_TOKEN = 396,
6cad5838 179 SPACE = 397,
b7afba03 180 CONCAT = 398,
3cb23d09 181 ENCODE_INT = 399,
8a04c615
TL
182 DDNS_FWD_NAME = 400,
183 DDNS_REV_NAME = 401,
da38df14
TL
184 REVERSE = 402,
185 LEASED_ADDRESS = 403,
186 BINARY_TO_ASCII = 404,
79a65726
TL
187 PICK_FIRST_VALUE = 405,
188 CONFIG_OPTION = 406,
189 HOST_DECL_NAME = 407,
190 ON = 408,
191 EXPIRY = 409,
192 RELEASE = 410,
193 COMMIT = 411,
069e9f4c
TL
194 DNS_UPDATE = 412,
195 LEASE_TIME = 413,
983ea35c 196};
d7837182
TL
197
198#define is_identifier(x) ((x) >= FIRST_TOKEN && \
d7837182 199 (x) != STRING && \
f4e348de
TL
200 (x) != NUMBER && \
201 (x) != EOF)