]> git.ipfire.org Git - thirdparty/dhcp.git/blame - includes/dhctoken.h
New prototypes. Many data structure updates.
[thirdparty/dhcp.git] / includes / dhctoken.h
CommitLineData
d7837182
TL
1/* dhctoken.h
2
3 Tokens for config file lexer and parser. */
4
5/*
80fcef91 6 * Copyright (c) 1995, 1996, 1997, 1998 The Internet Software Consortium.
efc12bbc 7 * All rights reserved.
d7837182
TL
8 *
9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions
11 * are met:
12 *
13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 * 2. Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in the
17 * documentation and/or other materials provided with the distribution.
18 * 3. Neither the name of The Internet Software Consortium nor the names
19 * of its contributors may be used to endorse or promote products derived
20 * from this software without specific prior written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY THE INTERNET SOFTWARE CONSORTIUM AND
23 * CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
24 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
25 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
26 * DISCLAIMED. IN NO EVENT SHALL THE INTERNET SOFTWARE CONSORTIUM OR
27 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
28 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
29 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
30 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
31 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
33 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34 * SUCH DAMAGE.
35 *
36 * This software has been written for the Internet Software Consortium
37 * by Ted Lemon <mellon@fugue.com> in cooperation with Vixie
38 * Enterprises. To learn more about the Internet Software Consortium,
39 * see ``http://www.vix.com/isc''. To learn more about Vixie
40 * Enterprises, see ``http://www.vix.com''.
41 */
42
43#define SEMI ';'
44#define DOT '.'
45#define COLON ':'
46#define COMMA ','
47#define SLASH '/'
243714fc
TL
48#define LBRACE '{'
49#define RBRACE '}'
80fcef91
TL
50#define LPAREN '('
51#define RPAREN ')'
52#define EQUAL '='
d7837182
TL
53
54#define FIRST_TOKEN HOST
55#define HOST 256
56#define HARDWARE 257
57#define FILENAME 258
58#define FIXED_ADDR 259
59#define OPTION 260
60#define ETHERNET 261
61#define STRING 262
62#define NUMBER 263
7b1aa794
TL
63#define NUMBER_OR_NAME 264
64#define NAME 265
d7837182
TL
65#define TIMESTAMP 266
66#define STARTS 267
67#define ENDS 268
68#define UID 269
69#define CLASS 270
70#define LEASE 271
71#define RANGE 272
95821729 72#define PACKET 273
97ca1699
TL
73#define CIADDR 274
74#define YIADDR 275
75#define SIADDR 276
76#define GIADDR 277
685963dc
TL
77#define SUBNET 278
78#define NETMASK 279
79#define DEFAULT_LEASE_TIME 280
80#define MAX_LEASE_TIME 281
a285e681
TL
81#define VENDOR_CLASS 282
82#define USER_CLASS 283
f1fd61d3
TL
83#define SHARED_NETWORK 284
84#define SERVER_NAME 285
85#define DYNAMIC_BOOTP 286
86#define SERVER_IDENTIFIER 287
243714fc
TL
87#define DYNAMIC_BOOTP_LEASE_CUTOFF 288
88#define DYNAMIC_BOOTP_LEASE_LENGTH 289
89#define BOOT_UNKNOWN_CLIENTS 290
90#define NEXT_SERVER 291
91#define TOKEN_RING 292
92#define GROUP 293
56c7dc1d 93#define ONE_LEASE_PER_CLIENT 294
5fea7b10 94#define GET_LEASE_HOSTNAMES 295
c256bae9 95#define USE_HOST_DECL_NAMES 296
4660b519 96#define SEND 297
f71f026a
TL
97#define CLIENT_IDENTIFIER 298
98#define REQUEST 299
99#define REQUIRE 300
100#define TIMEOUT 301
101#define RETRY 302
102#define SELECT_TIMEOUT 303
103#define SCRIPT 304
104#define INTERFACE 305
105#define RENEW 306
106#define REBIND 307
107#define EXPIRE 308
4660b519
TL
108#define UNKNOWN_CLIENTS 309
109#define ALLOW 310
110#define BOOTP 311
111#define DENY 312
112#define BOOTING 313
113#define DEFAULT 314
114#define MEDIA 315
115#define MEDIUM 316
f79e49f3 116#define ALIAS 317
9fd2f2cb 117#define REBOOT 318
a803bcdc 118#define ABANDONED 319
3951e13c
TL
119#define BACKOFF_CUTOFF 320
120#define INITIAL_INTERVAL 321
9bfe462a
TL
121#define NAMESERVER 322
122#define DOMAIN 323
123#define SEARCH 324
124#define SUPERSEDE 325
125#define APPEND 326
126#define PREPEND 327
127#define HOSTNAME 328
128#define CLIENT_HOSTNAME 329
502f5df9 129#define REJECT 330
21267791
TL
130#define USE_LEASE_ADDR_FOR_DEFAULT_ROUTE 331
131#define MIN_LEASE_TIME 332
132#define MIN_SECS 333
80fcef91
TL
133#define AND 334
134#define OR 335
135#define NOT 336
136#define SUBSTRING 337
137#define SUFFIX 338
138#define CHECK 339
139#define EXTRACT_INT 340
f442d718
TL
140#define IF 341
141#define ADD 342
142#define BREAK 343
143#define ELSE 344
144#define ELSIF 345
145#define SUBCLASS 346
146#define MATCH 347
147#define SPAWN 348
148#define WITH 349
d7837182
TL
149
150#define is_identifier(x) ((x) >= FIRST_TOKEN && \
d7837182 151 (x) != STRING && \
f4e348de
TL
152 (x) != NUMBER && \
153 (x) != EOF)