1 /* $OpenBSD: dhctoken.h,v 1.8 2017/04/24 14:58:36 krw 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 TOK_FIRST_TOKEN TOK_HOST 44 #define TOK_HOST 256 45 #define TOK_HARDWARE 257 46 #define TOK_FILENAME 258 47 #define TOK_FIXED_ADDR 259 48 #define TOK_OPTION 260 49 #define TOK_ETHERNET 261 50 #define TOK_STRING 262 51 #define TOK_NUMBER 263 52 #define TOK_NUMBER_OR_NAME 264 53 #define TOK_NAME 265 54 #define TOK_TIMESTAMP 266 55 #define TOK_STARTS 267 56 #define TOK_ENDS 268 57 #define TOK_UID 269 58 #define TOK_CLASS 270 59 #define TOK_LEASE 271 60 #define TOK_RANGE 272 61 #define TOK_SUBNET 278 62 #define TOK_NETMASK 279 63 #define TOK_DEFAULT_LEASE_TIME 280 64 #define TOK_MAX_LEASE_TIME 281 65 #define TOK_VENDOR_CLASS 282 66 #define TOK_USER_CLASS 283 67 #define TOK_SHARED_NETWORK 284 68 #define TOK_SERVER_NAME 285 69 #define TOK_DYNAMIC_BOOTP 286 70 #define TOK_SERVER_IDENTIFIER 287 71 #define TOK_DYNAMIC_BOOTP_LEASE_CUTOFF 288 72 #define TOK_DYNAMIC_BOOTP_LEASE_LENGTH 289 73 #define TOK_BOOT_UNKNOWN_CLIENTS 290 74 #define TOK_NEXT_SERVER 291 75 #define TOK_GROUP 293 76 #define TOK_GET_LEASE_HOSTNAMES 295 77 #define TOK_USE_HOST_DECL_NAMES 296 78 #define TOK_SEND 297 79 #define TOK_TIMEOUT 301 80 #define TOK_UNKNOWN_CLIENTS 309 81 #define TOK_ALLOW 310 82 #define TOK_BOOTP 311 83 #define TOK_DENY 312 84 #define TOK_BOOTING 313 85 #define TOK_ABANDONED 319 86 #define TOK_DOMAIN 323 87 #define TOK_HOSTNAME 328 88 #define TOK_CLIENT_HOSTNAME 329 89 #define TOK_USE_LEASE_ADDR_FOR_DEFAULT_ROUTE 332 90 #define TOK_AUTHORITATIVE 333 91 #define TOK_TOKEN_NOT 334 92 #define TOK_ALWAYS_REPLY_RFC1048 335 93 #define TOK_IPSEC_TUNNEL 336 94 #define TOK_ECHO_CLIENT_ID 337 95 96 #define is_identifier(x) ((x) >= TOK_FIRST_TOKEN && \ 97 (x) != TOK_STRING && \ 98 (x) != TOK_NUMBER && \ 99 (x) != EOF) 100