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