197403Sobrien/*	$OpenBSD: dhctoken.h,v 1.2 2004/02/04 12:16:56 henning Exp $	*/
297403Sobrien
3169691Skan/* Tokens for config file lexer and parser. */
4169691Skan
597403Sobrien/*
697403Sobrien * Copyright (c) 1995, 1996, 1997, 1998, 1999
797403Sobrien * The Internet Software Consortium.  All rights reserved.
897403Sobrien *
997403Sobrien * Redistribution and use in source and binary forms, with or without
1097403Sobrien * modification, are permitted provided that the following conditions
1197403Sobrien * are met:
1297403Sobrien *
1397403Sobrien * 1. Redistributions of source code must retain the above copyright
1497403Sobrien *    notice, this list of conditions and the following disclaimer.
1597403Sobrien * 2. Redistributions in binary form must reproduce the above copyright
1697403Sobrien *    notice, this list of conditions and the following disclaimer in the
1797403Sobrien *    documentation and/or other materials provided with the distribution.
1897403Sobrien * 3. Neither the name of The Internet Software Consortium nor the names
1997403Sobrien *    of its contributors may be used to endorse or promote products derived
2097403Sobrien *    from this software without specific prior written permission.
2197403Sobrien *
22169691Skan * THIS SOFTWARE IS PROVIDED BY THE INTERNET SOFTWARE CONSORTIUM AND
2397403Sobrien * CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
2497403Sobrien * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
25132720Skan * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
2697403Sobrien * DISCLAIMED.  IN NO EVENT SHALL THE INTERNET SOFTWARE CONSORTIUM OR
27117397Skan * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
28132720Skan * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
29117397Skan * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
30117397Skan * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
31117397Skan * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
32117397Skan * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
33117397Skan * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34117397Skan * SUCH DAMAGE.
35117397Skan *
36117397Skan * This software has been written for the Internet Software Consortium
37117397Skan * by Ted Lemon <mellon@fugue.com> in cooperation with Vixie
38117397Skan * Enterprises.  To learn more about the Internet Software Consortium,
39117397Skan * see ``http://www.vix.com/isc''.  To learn more about Vixie
40117397Skan * Enterprises, see ``http://www.vix.com''.
41117397Skan */
42117397Skan
43117397Skan#define SEMI ';'
44117397Skan#define DOT '.'
45117397Skan#define COLON ':'
46117397Skan#define COMMA ','
47117397Skan#define SLASH '/'
48117397Skan#define LBRACE '{'
49117397Skan#define RBRACE '}'
50117397Skan
51117397Skan#define FIRST_TOKEN	HOST
52117397Skan#define HOST		256
53117397Skan#define HARDWARE	257
54117397Skan#define FILENAME	258
55117397Skan#define FIXED_ADDR	259
56117397Skan#define OPTION		260
57117397Skan#define ETHERNET	261
58117397Skan#define STRING		262
59117397Skan#define NUMBER		263
60132720Skan#define NUMBER_OR_NAME	264
61117397Skan#define NAME		265
62117397Skan#define TIMESTAMP	266
63117397Skan#define STARTS		267
64117397Skan#define ENDS		268
65117397Skan#define UID		269
66117397Skan#define CLASS		270
67117397Skan#define LEASE		271
68117397Skan#define RANGE		272
69117397Skan#define PACKET		273
70117397Skan#define CIADDR		274
71117397Skan#define YIADDR		275
72117397Skan#define SIADDR		276
73117397Skan#define GIADDR		277
74117397Skan#define SUBNET		278
75117397Skan#define NETMASK		279
76117397Skan#define DEFAULT_LEASE_TIME 280
77117397Skan#define MAX_LEASE_TIME	281
78117397Skan#define VENDOR_CLASS	282
79117397Skan#define USER_CLASS	283
80117397Skan#define SHARED_NETWORK	284
81117397Skan#define SERVER_NAME	285
82117397Skan#define DYNAMIC_BOOTP	286
83117397Skan#define SERVER_IDENTIFIER 287
84117397Skan#define DYNAMIC_BOOTP_LEASE_CUTOFF 288
85117397Skan#define DYNAMIC_BOOTP_LEASE_LENGTH 289
86117397Skan#define BOOT_UNKNOWN_CLIENTS 290
87117397Skan#define NEXT_SERVER	291
88117397Skan#define TOKEN_RING	292
89117397Skan#define GROUP		293
90117397Skan#define ONE_LEASE_PER_CLIENT 294
91117397Skan#define GET_LEASE_HOSTNAMES 295
92132720Skan#define USE_HOST_DECL_NAMES 296
9397403Sobrien#define SEND		297
9497403Sobrien#define CLIENT_IDENTIFIER 298
95132720Skan#define REQUEST		299
9697403Sobrien#define REQUIRE		300
9797403Sobrien#define TIMEOUT		301
9897403Sobrien#define RETRY		302
9997403Sobrien#define SELECT_TIMEOUT	303
10097403Sobrien#define SCRIPT		304
10197403Sobrien#define INTERFACE	305
10297403Sobrien#define RENEW		306
10397403Sobrien#define	REBIND		307
10497403Sobrien#define EXPIRE		308
105117397Skan#define UNKNOWN_CLIENTS	309
10697403Sobrien#define	ALLOW		310
10797403Sobrien#define BOOTP		311
10897403Sobrien#define DENY		312
10997403Sobrien#define BOOTING		313
11097403Sobrien#define DEFAULT		314
11197403Sobrien#define MEDIA		315
11297403Sobrien#define MEDIUM		316
113117397Skan#define ALIAS		317
114117397Skan#define REBOOT		318
11597403Sobrien#define ABANDONED	319
11697403Sobrien#define	BACKOFF_CUTOFF	320
11797403Sobrien#define	INITIAL_INTERVAL 321
11897403Sobrien#define NAMESERVER	322
11997403Sobrien#define	DOMAIN		323
120169691Skan#define SEARCH		324
121132720Skan#define SUPERSEDE	325
12297403Sobrien#define APPEND		326
12397403Sobrien#define PREPEND		327
12497403Sobrien#define HOSTNAME	328
12597403Sobrien#define CLIENT_HOSTNAME	329
12697403Sobrien#define REJECT		330
12797403Sobrien#define FDDI		331
12897403Sobrien#define USE_LEASE_ADDR_FOR_DEFAULT_ROUTE 332
12997403Sobrien#define AUTHORITATIVE	333
13097403Sobrien#define TOKEN_NOT	334
13197403Sobrien#define ALWAYS_REPLY_RFC1048 335
13297403Sobrien
13397403Sobrien#define is_identifier(x)	((x) >= FIRST_TOKEN &&	\
13497403Sobrien				 (x) != STRING &&	\
13597403Sobrien				 (x) != NUMBER &&	\
13697403Sobrien				 (x) != EOF)
13797403Sobrien