dhctoken.h revision 267654
1/*	$OpenBSD: dhctoken.h,v 1.2 2004/02/04 12:16:56 henning Exp $	*/
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)
137