includes/dhctoken.h

Go to the documentation of this file.
00001 /* dhctoken.h
00002 
00003    Tokens for config file lexer and parser. */
00004 
00005 /*
00006  * Copyright (c) 2011-2014 by Internet Systems Consortium, Inc. ("ISC")
00007  * Copyright (c) 2004,2007-2009 by Internet Systems Consortium, Inc. ("ISC")
00008  * Copyright (c) 1996-2003 by Internet Software Consortium
00009  *
00010  * Permission to use, copy, modify, and distribute this software for any
00011  * purpose with or without fee is hereby granted, provided that the above
00012  * copyright notice and this permission notice appear in all copies.
00013  *
00014  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
00015  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
00016  * MERCHANTABILITY AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR
00017  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
00018  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
00019  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
00020  * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
00021  *
00022  *   Internet Systems Consortium, Inc.
00023  *   950 Charter Street
00024  *   Redwood City, CA 94063
00025  *   <info@isc.org>
00026  *   https://www.isc.org/
00027  *
00028  */
00029 
00030 /*
00031  * The following tokens have been deprecated and aren't in use anymore.
00032  * They have been left in place to avoid disturbing the code.
00033  * DNS_UPDATE, DNS_DELETE, NS_UPDATE, UPDATED_DNS_RR
00034  */
00035 enum dhcp_token {
00036         SEMI = ';',
00037         DOT = '.',
00038         COLON = ':',
00039         COMMA = ',',
00040         SLASH = '/',
00041         LBRACE = '{',
00042         RBRACE = '}',
00043         LPAREN = '(',
00044         RPAREN = ')',
00045         EQUAL = '=',
00046         TILDE = '~',
00047         BANG = '!',
00048         PERCENT = '%',
00049         PLUS = '+',
00050         MINUS = '-',
00051         ASTERISK = '*',
00052         AMPERSAND = '&',
00053         PIPE = '|',
00054         CARET = '^',
00055         ENDOFLINE = '\n',
00056         QUESTIONMARK = '?',
00057 
00058         HOST = 256,
00059         FIRST_TOKEN = HOST,
00060         HARDWARE = 257,
00061         FILENAME = 258,
00062         FIXED_ADDR = 259,
00063         OPTION = 260,
00064         ETHERNET = 261,
00065         STRING = 262,
00066         NUMBER = 263,
00067         NUMBER_OR_NAME = 264,
00068         NAME = 265,
00069         TIMESTAMP = 266,
00070         STARTS = 267,
00071         ENDS = 268,
00072         UID = 269,
00073         CLASS = 270,
00074         LEASE = 271,
00075         RANGE = 272,
00076         PACKET = 273,
00077         CIADDR = 274,
00078         YIADDR = 275,
00079         SIADDR = 276,
00080         GIADDR = 277,
00081         SUBNET = 278,
00082         NETMASK = 279,
00083         DEFAULT_LEASE_TIME = 280,
00084         MAX_LEASE_TIME = 281,
00085         VENDOR_CLASS = 282,
00086         USER_CLASS = 283,
00087         SHARED_NETWORK = 284,
00088         SERVER_NAME = 285,
00089         DYNAMIC_BOOTP = 286,
00090         SERVER_IDENTIFIER = 287,
00091         DYNAMIC_BOOTP_LEASE_CUTOFF = 288,
00092         DYNAMIC_BOOTP_LEASE_LENGTH = 289,
00093         BOOT_UNKNOWN_CLIENTS = 290,
00094         NEXT_SERVER = 291,
00095         TOKEN_RING = 292,
00096         GROUP = 293,
00097         ONE_LEASE_PER_CLIENT = 294,
00098         GET_LEASE_HOSTNAMES = 295,
00099         USE_HOST_DECL_NAMES = 296,
00100         SEND = 297,
00101         CLIENT_IDENTIFIER = 298,
00102         REQUEST = 299,
00103         REQUIRE = 300,
00104         TIMEOUT = 301,
00105         RETRY = 302,
00106         SELECT_TIMEOUT = 303,
00107         SCRIPT = 304,
00108         INTERFACE = 305,
00109         RENEW = 306,
00110         REBIND = 307,
00111         EXPIRE = 308,
00112         UNKNOWN_CLIENTS = 309,
00113         ALLOW = 310,
00114         DENY = 312,
00115         BOOTING = 313,
00116         DEFAULT = 314,
00117         MEDIA = 315,
00118         MEDIUM = 316,
00119         ALIAS = 317,
00120         REBOOT = 318,
00121         TOKEN_ABANDONED = 319,
00122         BACKOFF_CUTOFF = 320,
00123         INITIAL_INTERVAL = 321,
00124         NAMESERVER = 322,
00125         DOMAIN = 323,
00126         SEARCH = 324,
00127         SUPERSEDE = 325,
00128         APPEND = 326,
00129         PREPEND = 327,
00130         HOSTNAME = 328,
00131         CLIENT_HOSTNAME = 329,
00132         REJECT = 330,
00133         USE_LEASE_ADDR_FOR_DEFAULT_ROUTE = 331,
00134         MIN_LEASE_TIME = 332,
00135         MIN_SECS = 333,
00136         AND = 334,
00137         OR = 335,
00138         SUBSTRING = 337,
00139         SUFFIX = 338,
00140         CHECK = 339,
00141         EXTRACT_INT = 340,
00142         IF = 341,
00143         TOKEN_ADD = 342,
00144         BREAK = 343,
00145         ELSE = 344,
00146         ELSIF = 345,
00147         SUBCLASS = 346,
00148         MATCH = 347,
00149         SPAWN = 348,
00150         WITH = 349,
00151         EXISTS = 350,
00152         POOL = 351,
00153         UNKNOWN = 352,
00154         CLIENTS = 353,
00155         KNOWN = 354,
00156         AUTHENTICATED = 355,
00157         UNAUTHENTICATED = 356,
00158         ALL = 357,
00159         DYNAMIC = 358,
00160         MEMBERS = 359,
00161         OF = 360,
00162         PSEUDO = 361,
00163         LIMIT = 362,
00164         BILLING = 363,
00165         PEER = 364,
00166         FAILOVER = 365,
00167         MY = 366,
00168         PARTNER = 367,
00169         PRIMARY = 368,
00170         SECONDARY = 369,
00171         IDENTIFIER = 370,
00172         PORT = 371,
00173         MAX_TRANSMIT_IDLE = 372,
00174         MAX_RESPONSE_DELAY = 373,
00175         PARTNER_DOWN = 374,
00176         NORMAL = 375,
00177         COMMUNICATIONS_INTERRUPTED = 376,
00178         POTENTIAL_CONFLICT = 377,
00179         RECOVER = 378,
00180         TOKEN_FDDI = 379,
00181         AUTHORITATIVE = 380,
00182         TOKEN_NOT = 381,
00183         AUTHENTICATION = 383,
00184         IGNORE = 384,
00185         ACCEPT = 385,
00186         PREFER = 386,
00187         DONT = 387,
00188         CODE = 388,
00189         ARRAY = 389,
00190         BOOLEAN = 390,
00191         INTEGER = 391,
00192         SIGNED = 392,
00193         UNSIGNED = 393,
00194         IP_ADDRESS = 394,
00195         TEXT = 395,
00196         STRING_TOKEN = 396,
00197         SPACE = 397,
00198         CONCAT = 398,
00199         ENCODE_INT = 399,
00200         REVERSE = 402,
00201         LEASED_ADDRESS = 403,
00202         BINARY_TO_ASCII = 404,
00203         PICK = 405,
00204         CONFIG_OPTION = 406,
00205         HOST_DECL_NAME = 407,
00206         ON = 408,
00207         EXPIRY = 409,
00208         RELEASE = 410,
00209         COMMIT = 411,
00210         DNS_UPDATE = 412,
00211         LEASE_TIME = 413,
00212         STATIC = 414,
00213         NEVER = 415,
00214         INFINITE = 416,
00215         TOKEN_DELETED = 417,
00216         UPDATED_DNS_RR = 418,
00217         DNS_DELETE = 419,
00218         DUPLICATES = 420,
00219         DECLINES = 421,
00220         TSTP = 422,
00221         TSFP = 423,
00222         OWNER = 424,
00223         IS = 425,
00224         HBA = 426,
00225         MAX_UNACKED_UPDATES = 427,
00226         MCLT = 428,
00227         SPLIT = 429,
00228         AT = 430,
00229         TOKEN_NO = 431,
00230         TOKEN_DELETE = 432,
00231         NS_UPDATE = 433,
00232         UPDATE = 434,
00233         SWITCH = 435,
00234         CASE = 436,
00235         NS_FORMERR = 437,
00236         NS_NOERROR = 438,
00237         NS_NOTAUTH = 439,
00238         NS_NOTIMP = 440,
00239         NS_NOTZONE = 441,
00240         NS_NXDOMAIN = 442,
00241         NS_NXRRSET = 443,
00242         NS_REFUSED = 444,
00243         NS_SERVFAIL = 445,
00244         NS_YXDOMAIN = 446,
00245         NS_YXRRSET = 447,
00246         TOKEN_NULL = 448,
00247         TOKEN_SET = 449,
00248         DEFINED = 450,
00249         UNSET = 451,
00250         EVAL = 452,
00251         LET = 453,
00252         FUNCTION = 454,
00253         DEFINE = 455,
00254         ZONE = 456,
00255         KEY = 457,
00256         SECRET = 458,
00257         ALGORITHM = 459,
00258         LOAD = 460,
00259         BALANCE = 461,
00260         TOKEN_MAX = 462,
00261         SECONDS = 463,
00262         ADDRESS = 464,
00263         RESOLUTION_INTERRUPTED = 465,
00264         STATE = 466,
00265         UNKNOWN_STATE = 567,
00266         CLTT = 568,
00267         INCLUDE = 569,
00268         BINDING = 570,
00269         TOKEN_FREE = 571,
00270         TOKEN_ACTIVE = 572,
00271         TOKEN_EXPIRED = 573,
00272         TOKEN_RELEASED = 574,
00273         TOKEN_RESET = 575,
00274         TOKEN_BACKUP = 576,
00275         TOKEN_RESERVED = 577,
00276         TOKEN_BOOTP = 578,
00277         TOKEN_NEXT = 579,
00278         OMAPI = 580,
00279         LOG = 581,
00280         FATAL = 582,
00281         ERROR = 583,
00282         TOKEN_DEBUG = 584,
00283         INFO = 585,
00284         RETURN = 586,
00285         PAUSED = 587,
00286         RECOVER_DONE = 588,
00287         SHUTDOWN = 589,
00288         STARTUP = 590,
00289         ENCAPSULATE = 591,
00290         VENDOR = 592,
00291         CLIENT_STATE = 593,
00292         INIT_REBOOT = 594,
00293         TOKEN_INIT = 595,
00294         SELECT = 596,
00295         BOUND = 597,
00296         RENEWING = 598,
00297         REBINDING = 599,
00298         RECONTACT_INTERVAL = 600,
00299         CLIENT_UPDATES = 601,
00300         TOKEN_NEW = 601,
00301         TRANSMISSION = 602,
00302         TOKEN_CLOSE = 603,
00303         TOKEN_CREATE = 604,
00304         TOKEN_OPEN = 605,
00305         TOKEN_HELP = 606,
00306         END_OF_FILE = 607,
00307         RECOVER_WAIT = 608,
00308         TOKEN_SERVER = 609,
00309         CONNECT = 610,
00310         REMOVE = 611,
00311         REFRESH = 612,
00312         DOMAIN_NAME = 613,
00313         DO_FORWARD_UPDATE = 614,
00314         KNOWN_CLIENTS = 615,
00315         ATSFP = 616,
00316         LCASE = 617,
00317         UCASE = 618,
00318         WIDTH = 619,
00319         LENGTH = 620,
00320         HASH = 621,
00321         SIZE = 622,
00322         EPOCH = 623,
00323         DB_TIME_FORMAT = 624,
00324         LOCAL = 625,
00325         MAX_LEASE_MISBALANCE = 626,
00326         MAX_LEASE_OWNERSHIP = 627,
00327         MAX_BALANCE = 628,
00328         MIN_BALANCE = 629,
00329         DOMAIN_LIST = 630,
00330         LEASEQUERY = 631,
00331         EXECUTE = 632,
00332         IP6_ADDRESS = 633,
00333         FIXED_ADDR6 = 634,
00334         COMPRESSED = 635,
00335         SUBNET6 = 636,
00336         HOST_IDENTIFIER = 637,
00337         IA_NA = 638,
00338         IA_TA = 639,
00339         IA_PD = 640,
00340         IAADDR = 641,
00341         IAPREFIX = 642,
00342         LEASE6 = 643,
00343         PREFERRED_LIFE = 644,
00344         MAX_LIFE = 645,
00345         DEFAULT_DUID = 646,
00346         SERVER_DUID = 647,
00347         LLT = 648,
00348         EN = 649,
00349         LL = 650,
00350         RANGE6 = 651,
00351         WHITESPACE = 652,
00352         TOKEN_ALSO = 653,
00353         AFTER = 654,
00354         ZEROLEN = 655,
00355         TEMPORARY = 656,
00356         PREFIX6 = 657,
00357         FIXED_PREFIX6 = 658,
00358         ANYCAST_MAC = 659,
00359         CONFLICT_DONE = 660,
00360         AUTO_PARTNER_DOWN = 661,
00361         GETHOSTNAME = 662,
00362         REWIND = 663,
00363         INITIAL_DELAY = 664,
00364         GETHOSTBYNAME = 665,
00365         PRIMARY6 = 666,
00366         SECONDARY6 = 667,
00367         TOKEN_INFINIBAND = 668,
00368         POOL6 = 669,
00369         V6RELAY = 670,
00370         V6RELOPT = 671,
00371         BOOTP_BROADCAST_ALWAYS = 672,
00372         DESTINATION_DESCRIPTOR = 673
00373 };
00374 
00375 #define is_identifier(x)        ((x) >= FIRST_TOKEN &&  \
00376                                  (x) != STRING &&       \
00377                                  (x) != NUMBER &&       \
00378                                  (x) != END_OF_FILE)

Generated on 5 Apr 2014 for ISC DHCP by  doxygen 1.6.1