147c08596SBrooks Davis /* $OpenBSD: dhctoken.h,v 1.2 2004/02/04 12:16:56 henning Exp $ */ 247c08596SBrooks Davis 347c08596SBrooks Davis /* Tokens for config file lexer and parser. */ 447c08596SBrooks Davis 58a16b7a1SPedro F. Giffuni /*- 68a16b7a1SPedro F. Giffuni * SPDX-License-Identifier: BSD-3-Clause 78a16b7a1SPedro F. Giffuni * 847c08596SBrooks Davis * Copyright (c) 1995, 1996, 1997, 1998, 1999 947c08596SBrooks Davis * The Internet Software Consortium. All rights reserved. 1047c08596SBrooks Davis * 1147c08596SBrooks Davis * Redistribution and use in source and binary forms, with or without 1247c08596SBrooks Davis * modification, are permitted provided that the following conditions 1347c08596SBrooks Davis * are met: 1447c08596SBrooks Davis * 1547c08596SBrooks Davis * 1. Redistributions of source code must retain the above copyright 1647c08596SBrooks Davis * notice, this list of conditions and the following disclaimer. 1747c08596SBrooks Davis * 2. Redistributions in binary form must reproduce the above copyright 1847c08596SBrooks Davis * notice, this list of conditions and the following disclaimer in the 1947c08596SBrooks Davis * documentation and/or other materials provided with the distribution. 2047c08596SBrooks Davis * 3. Neither the name of The Internet Software Consortium nor the names 2147c08596SBrooks Davis * of its contributors may be used to endorse or promote products derived 2247c08596SBrooks Davis * from this software without specific prior written permission. 2347c08596SBrooks Davis * 2447c08596SBrooks Davis * THIS SOFTWARE IS PROVIDED BY THE INTERNET SOFTWARE CONSORTIUM AND 2547c08596SBrooks Davis * CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, 2647c08596SBrooks Davis * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 2747c08596SBrooks Davis * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 2847c08596SBrooks Davis * DISCLAIMED. IN NO EVENT SHALL THE INTERNET SOFTWARE CONSORTIUM OR 2947c08596SBrooks Davis * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 3047c08596SBrooks Davis * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 3147c08596SBrooks Davis * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 3247c08596SBrooks Davis * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 3347c08596SBrooks Davis * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 3447c08596SBrooks Davis * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 3547c08596SBrooks Davis * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 3647c08596SBrooks Davis * SUCH DAMAGE. 3747c08596SBrooks Davis * 3847c08596SBrooks Davis * This software has been written for the Internet Software Consortium 3947c08596SBrooks Davis * by Ted Lemon <mellon@fugue.com> in cooperation with Vixie 4047c08596SBrooks Davis * Enterprises. To learn more about the Internet Software Consortium, 4147c08596SBrooks Davis * see ``http://www.vix.com/isc''. To learn more about Vixie 4247c08596SBrooks Davis * Enterprises, see ``http://www.vix.com''. 4347c08596SBrooks Davis */ 4447c08596SBrooks Davis 4547c08596SBrooks Davis #define SEMI ';' 4647c08596SBrooks Davis #define DOT '.' 4747c08596SBrooks Davis #define COLON ':' 4847c08596SBrooks Davis #define COMMA ',' 4947c08596SBrooks Davis #define SLASH '/' 5047c08596SBrooks Davis #define LBRACE '{' 5147c08596SBrooks Davis #define RBRACE '}' 5247c08596SBrooks Davis 5347c08596SBrooks Davis #define FIRST_TOKEN HOST 5447c08596SBrooks Davis #define HOST 256 5547c08596SBrooks Davis #define HARDWARE 257 5647c08596SBrooks Davis #define FILENAME 258 5747c08596SBrooks Davis #define FIXED_ADDR 259 5847c08596SBrooks Davis #define OPTION 260 5947c08596SBrooks Davis #define ETHERNET 261 6047c08596SBrooks Davis #define STRING 262 6147c08596SBrooks Davis #define NUMBER 263 6247c08596SBrooks Davis #define NUMBER_OR_NAME 264 6347c08596SBrooks Davis #define NAME 265 6447c08596SBrooks Davis #define TIMESTAMP 266 6547c08596SBrooks Davis #define STARTS 267 6647c08596SBrooks Davis #define ENDS 268 6747c08596SBrooks Davis #define UID 269 6847c08596SBrooks Davis #define CLASS 270 6947c08596SBrooks Davis #define LEASE 271 7047c08596SBrooks Davis #define RANGE 272 7147c08596SBrooks Davis #define PACKET 273 7247c08596SBrooks Davis #define CIADDR 274 7347c08596SBrooks Davis #define YIADDR 275 7447c08596SBrooks Davis #define SIADDR 276 7547c08596SBrooks Davis #define GIADDR 277 7647c08596SBrooks Davis #define SUBNET 278 7747c08596SBrooks Davis #define NETMASK 279 7847c08596SBrooks Davis #define DEFAULT_LEASE_TIME 280 7947c08596SBrooks Davis #define MAX_LEASE_TIME 281 8047c08596SBrooks Davis #define VENDOR_CLASS 282 8147c08596SBrooks Davis #define USER_CLASS 283 8247c08596SBrooks Davis #define SHARED_NETWORK 284 8347c08596SBrooks Davis #define SERVER_NAME 285 8447c08596SBrooks Davis #define DYNAMIC_BOOTP 286 8547c08596SBrooks Davis #define SERVER_IDENTIFIER 287 8647c08596SBrooks Davis #define DYNAMIC_BOOTP_LEASE_CUTOFF 288 8747c08596SBrooks Davis #define DYNAMIC_BOOTP_LEASE_LENGTH 289 8847c08596SBrooks Davis #define BOOT_UNKNOWN_CLIENTS 290 8947c08596SBrooks Davis #define NEXT_SERVER 291 9047c08596SBrooks Davis #define TOKEN_RING 292 9147c08596SBrooks Davis #define GROUP 293 9247c08596SBrooks Davis #define ONE_LEASE_PER_CLIENT 294 9347c08596SBrooks Davis #define GET_LEASE_HOSTNAMES 295 9447c08596SBrooks Davis #define USE_HOST_DECL_NAMES 296 9547c08596SBrooks Davis #define SEND 297 9647c08596SBrooks Davis #define CLIENT_IDENTIFIER 298 9747c08596SBrooks Davis #define REQUEST 299 9847c08596SBrooks Davis #define REQUIRE 300 9947c08596SBrooks Davis #define TIMEOUT 301 10047c08596SBrooks Davis #define RETRY 302 10147c08596SBrooks Davis #define SELECT_TIMEOUT 303 10247c08596SBrooks Davis #define SCRIPT 304 10347c08596SBrooks Davis #define INTERFACE 305 10447c08596SBrooks Davis #define RENEW 306 10547c08596SBrooks Davis #define REBIND 307 10647c08596SBrooks Davis #define EXPIRE 308 10747c08596SBrooks Davis #define UNKNOWN_CLIENTS 309 10847c08596SBrooks Davis #define ALLOW 310 10947c08596SBrooks Davis #define BOOTP 311 11047c08596SBrooks Davis #define DENY 312 11147c08596SBrooks Davis #define BOOTING 313 11247c08596SBrooks Davis #define DEFAULT 314 11347c08596SBrooks Davis #define MEDIA 315 11447c08596SBrooks Davis #define MEDIUM 316 11547c08596SBrooks Davis #define ALIAS 317 11647c08596SBrooks Davis #define REBOOT 318 11747c08596SBrooks Davis #define ABANDONED 319 11847c08596SBrooks Davis #define BACKOFF_CUTOFF 320 11947c08596SBrooks Davis #define INITIAL_INTERVAL 321 12047c08596SBrooks Davis #define NAMESERVER 322 12147c08596SBrooks Davis #define DOMAIN 323 12247c08596SBrooks Davis #define SEARCH 324 12347c08596SBrooks Davis #define SUPERSEDE 325 12447c08596SBrooks Davis #define APPEND 326 12547c08596SBrooks Davis #define PREPEND 327 12647c08596SBrooks Davis #define HOSTNAME 328 12747c08596SBrooks Davis #define CLIENT_HOSTNAME 329 12847c08596SBrooks Davis #define REJECT 330 12947c08596SBrooks Davis #define FDDI 331 13047c08596SBrooks Davis #define USE_LEASE_ADDR_FOR_DEFAULT_ROUTE 332 13147c08596SBrooks Davis #define AUTHORITATIVE 333 13247c08596SBrooks Davis #define TOKEN_NOT 334 13347c08596SBrooks Davis #define ALWAYS_REPLY_RFC1048 335 1341e7fe2fbSLuiz Otavio O Souza #define VLAN_PCP 336 135*461ccb55SRob Norris #define IGNORE 337 13647c08596SBrooks Davis 13747c08596SBrooks Davis #define is_identifier(x) ((x) >= FIRST_TOKEN && \ 13847c08596SBrooks Davis (x) != STRING && \ 13947c08596SBrooks Davis (x) != NUMBER && \ 14047c08596SBrooks Davis (x) != EOF) 141