[DHCP]
[reactos.git] / reactos / base / services / dhcp / include / dhctoken.h
1 /* dhctoken.h
2
3 Tokens for config file lexer and parser. */
4
5 /*
6 * Copyright (c) 1995, 1996, 1997, 1998, 1999
7 * The Internet Software Consortium. All rights reserved.
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 '/'
48 #define LBRACE '{'
49 #define RBRACE '}'
50
51 #define FIRST_TOKEN HOST
52 #define HOST 256
53 #define HARDWARE 257
54 #define FILENAME 258
55 #define FIXED_ADDR 259
56 #define OPTION 260
57 #define ETHERNET 261
58 #define STRING 262
59 #define NUMBER 263
60 #define NUMBER_OR_NAME 264
61 #define NAME 265
62 #define TIMESTAMP 266
63 #define STARTS 267
64 #define ENDS 268
65 #define UID 269
66 #define CLASS 270
67 #define LEASE 271
68 #define RANGE 272
69 #define PACKET 273
70 #define CIADDR 274
71 #define YIADDR 275
72 #define SIADDR 276
73 #define GIADDR 277
74 #define SUBNET 278
75 #define NETMASK 279
76 #define DEFAULT_LEASE_TIME 280
77 #define MAX_LEASE_TIME 281
78 #define VENDOR_CLASS 282
79 #define USER_CLASS 283
80 #define SHARED_NETWORK 284
81 #define SERVER_NAME 285
82 #define DYNAMIC_BOOTP 286
83 #define SERVER_IDENTIFIER 287
84 #define DYNAMIC_BOOTP_LEASE_CUTOFF 288
85 #define DYNAMIC_BOOTP_LEASE_LENGTH 289
86 #define BOOT_UNKNOWN_CLIENTS 290
87 #define NEXT_SERVER 291
88 #define TOKEN_RING 292
89 #define GROUP 293
90 #define ONE_LEASE_PER_CLIENT 294
91 #define GET_LEASE_HOSTNAMES 295
92 #define USE_HOST_DECL_NAMES 296
93 #define SEND 297
94 #define CLIENT_IDENTIFIER 298
95 #define REQUEST 299
96 #define REQUIRE 300
97 #define TIMEOUT 301
98 #define RETRY 302
99 #define SELECT_TIMEOUT 303
100 #define SCRIPT 304
101 #define INTERFACE 305
102 #define RENEW 306
103 #define REBIND 307
104 #define EXPIRE 308
105 #define UNKNOWN_CLIENTS 309
106 #define ALLOW 310
107 #define BOOTP 311
108 #define DENY 312
109 #define BOOTING 313
110 #define DEFAULT 314
111 #define MEDIA 315
112 #define MEDIUM 316
113 #define ALIAS 317
114 #define REBOOT 318
115 #define ABANDONED 319
116 #define BACKOFF_CUTOFF 320
117 #define INITIAL_INTERVAL 321
118 #define NAMESERVER 322
119 #define DOMAIN 323
120 #define SEARCH 324
121 #define SUPERSEDE 325
122 #define APPEND 326
123 #define PREPEND 327
124 #define HOSTNAME 328
125 #define CLIENT_HOSTNAME 329
126 #define REJECT 330
127 #define FDDI 331
128 #define USE_LEASE_ADDR_FOR_DEFAULT_ROUTE 332
129 #define AUTHORITATIVE 333
130 #define TOKEN_NOT 334
131 #define ALWAYS_REPLY_RFC1048 335
132
133 #define is_identifier(x) ((x) >= FIRST_TOKEN && \
134 (x) != STRING && \
135 (x) != NUMBER && \
136 (x) != EOF)