Annotation of embedaddon/dhcp/includes/dhctoken.h, revision 1.1.1.1

1.1       misho       1: /* dhctoken.h
                      2: 
                      3:    Tokens for config file lexer and parser. */
                      4: 
                      5: /*
1.1.1.1 ! misho       6:  * Copyright (c) 2011-2012 by Internet Systems Consortium, Inc. ("ISC")
1.1       misho       7:  * Copyright (c) 2004,2007-2009 by Internet Systems Consortium, Inc. ("ISC")
                      8:  * Copyright (c) 1996-2003 by Internet Software Consortium
                      9:  *
                     10:  * Permission to use, copy, modify, and distribute this software for any
                     11:  * purpose with or without fee is hereby granted, provided that the above
                     12:  * copyright notice and this permission notice appear in all copies.
                     13:  *
                     14:  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
                     15:  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
                     16:  * MERCHANTABILITY AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR
                     17:  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
                     18:  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
                     19:  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
                     20:  * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
                     21:  *
                     22:  *   Internet Systems Consortium, Inc.
                     23:  *   950 Charter Street
                     24:  *   Redwood City, CA 94063
                     25:  *   <info@isc.org>
                     26:  *   https://www.isc.org/
                     27:  *
                     28:  * This software has been written for Internet Systems Consortium
                     29:  * by Ted Lemon in cooperation with Vixie Enterprises and Nominum, Inc.
                     30:  * To learn more about Internet Systems Consortium, see
                     31:  * ``https://www.isc.org/''.  To learn more about Vixie Enterprises,
                     32:  * see ``http://www.vix.com''.   To learn more about Nominum, Inc., see
                     33:  * ``http://www.nominum.com''.
                     34:  */
                     35: 
                     36: enum dhcp_token {
                     37:        SEMI = ';',
                     38:        DOT = '.',
                     39:        COLON = ':',
                     40:        COMMA = ',',
                     41:        SLASH = '/',
                     42:        LBRACE = '{',
                     43:        RBRACE = '}',
                     44:        LPAREN = '(',
                     45:        RPAREN = ')',
                     46:        EQUAL = '=',
                     47:        TILDE = '~',
                     48:        BANG = '!',
                     49:        PERCENT = '%',
                     50:        PLUS = '+',
                     51:        MINUS = '-',
                     52:        ASTERISK = '*',
                     53:        AMPERSAND = '&',
                     54:        PIPE = '|',
                     55:        CARET = '^',
                     56:        ENDOFLINE = '\n',
                     57:        QUESTIONMARK = '?',
                     58: 
                     59:        HOST = 256,
                     60:        FIRST_TOKEN = HOST,
                     61:        HARDWARE = 257,
                     62:        FILENAME = 258,
                     63:        FIXED_ADDR = 259,
                     64:        OPTION = 260,
                     65:        ETHERNET = 261,
                     66:        STRING = 262,
                     67:        NUMBER = 263,
                     68:        NUMBER_OR_NAME = 264,
                     69:        NAME = 265,
                     70:        TIMESTAMP = 266,
                     71:        STARTS = 267,
                     72:        ENDS = 268,
                     73:        UID = 269,
                     74:        CLASS = 270,
                     75:        LEASE = 271,
                     76:        RANGE = 272,
                     77:        PACKET = 273,
                     78:        CIADDR = 274,
                     79:        YIADDR = 275,
                     80:        SIADDR = 276,
                     81:        GIADDR = 277,
                     82:        SUBNET = 278,
                     83:        NETMASK = 279,
                     84:        DEFAULT_LEASE_TIME = 280,
                     85:        MAX_LEASE_TIME = 281,
                     86:        VENDOR_CLASS = 282,
                     87:        USER_CLASS = 283,
                     88:        SHARED_NETWORK = 284,
                     89:        SERVER_NAME = 285,
                     90:        DYNAMIC_BOOTP = 286,
                     91:        SERVER_IDENTIFIER = 287,
                     92:        DYNAMIC_BOOTP_LEASE_CUTOFF = 288,
                     93:        DYNAMIC_BOOTP_LEASE_LENGTH = 289,
                     94:        BOOT_UNKNOWN_CLIENTS = 290,
                     95:        NEXT_SERVER = 291,
                     96:        TOKEN_RING = 292,
                     97:        GROUP = 293,
                     98:        ONE_LEASE_PER_CLIENT = 294,
                     99:        GET_LEASE_HOSTNAMES = 295,
                    100:        USE_HOST_DECL_NAMES = 296,
                    101:        SEND = 297,
                    102:        CLIENT_IDENTIFIER = 298,
                    103:        REQUEST = 299,
                    104:        REQUIRE = 300,
                    105:        TIMEOUT = 301,
                    106:        RETRY = 302,
                    107:        SELECT_TIMEOUT = 303,
                    108:        SCRIPT = 304,
                    109:        INTERFACE = 305,
                    110:        RENEW = 306,
                    111:        REBIND = 307,
                    112:        EXPIRE = 308,
                    113:        UNKNOWN_CLIENTS = 309,
                    114:        ALLOW = 310,
                    115:        DENY = 312,
                    116:        BOOTING = 313,
                    117:        DEFAULT = 314,
                    118:        MEDIA = 315,
                    119:        MEDIUM = 316,
                    120:        ALIAS = 317,
                    121:        REBOOT = 318,
                    122:        TOKEN_ABANDONED = 319,
                    123:        BACKOFF_CUTOFF = 320,
                    124:        INITIAL_INTERVAL = 321,
                    125:        NAMESERVER = 322,
                    126:        DOMAIN = 323,
                    127:        SEARCH = 324,
                    128:        SUPERSEDE = 325,
                    129:        APPEND = 326,
                    130:        PREPEND = 327,
                    131:        HOSTNAME = 328,
                    132:        CLIENT_HOSTNAME = 329,
                    133:        REJECT = 330,
                    134:        USE_LEASE_ADDR_FOR_DEFAULT_ROUTE = 331,
                    135:        MIN_LEASE_TIME = 332,
                    136:        MIN_SECS = 333,
                    137:        AND = 334,
                    138:        OR = 335,
                    139:        SUBSTRING = 337,
                    140:        SUFFIX = 338,
                    141:        CHECK = 339,
                    142:        EXTRACT_INT = 340,
                    143:        IF = 341,
                    144:        TOKEN_ADD = 342,
                    145:        BREAK = 343,
                    146:        ELSE = 344,
                    147:        ELSIF = 345,
                    148:        SUBCLASS = 346,
                    149:        MATCH = 347,
                    150:        SPAWN = 348,
                    151:        WITH = 349,
                    152:        EXISTS = 350,
                    153:        POOL = 351,
                    154:        UNKNOWN = 352,
                    155:        CLIENTS = 353,
                    156:        KNOWN = 354,
                    157:        AUTHENTICATED = 355,
                    158:        UNAUTHENTICATED = 356,
                    159:        ALL = 357,
                    160:        DYNAMIC = 358,
                    161:        MEMBERS = 359,
                    162:        OF = 360,
                    163:        PSEUDO = 361,
                    164:        LIMIT = 362,
                    165:        BILLING = 363,
                    166:        PEER = 364,
                    167:        FAILOVER = 365,
                    168:        MY = 366,
                    169:        PARTNER = 367,
                    170:        PRIMARY = 368,
                    171:        SECONDARY = 369,
                    172:        IDENTIFIER = 370,
                    173:        PORT = 371,
                    174:        MAX_TRANSMIT_IDLE = 372,
                    175:        MAX_RESPONSE_DELAY = 373,
                    176:        PARTNER_DOWN = 374,
                    177:        NORMAL = 375,
                    178:        COMMUNICATIONS_INTERRUPTED = 376,
                    179:        POTENTIAL_CONFLICT = 377,
                    180:        RECOVER = 378,
                    181:        TOKEN_FDDI = 379,
                    182:        AUTHORITATIVE = 380,
                    183:        TOKEN_NOT = 381,
                    184:        AUTHENTICATION = 383,
                    185:        IGNORE = 384,
                    186:        ACCEPT = 385,
                    187:        PREFER = 386,
                    188:        DONT = 387,
                    189:        CODE = 388,
                    190:        ARRAY = 389,
                    191:        BOOLEAN = 390,
                    192:        INTEGER = 391,
                    193:        SIGNED = 392,
                    194:        UNSIGNED = 393,
                    195:        IP_ADDRESS = 394,
                    196:        TEXT = 395,
                    197:        STRING_TOKEN = 396,
                    198:        SPACE = 397,
                    199:        CONCAT = 398,
                    200:        ENCODE_INT = 399,
                    201:        REVERSE = 402,
                    202:        LEASED_ADDRESS = 403,
                    203:        BINARY_TO_ASCII = 404,
                    204:        PICK = 405,
                    205:        CONFIG_OPTION = 406,
                    206:        HOST_DECL_NAME = 407,
                    207:        ON = 408,
                    208:        EXPIRY = 409,
                    209:        RELEASE = 410,
                    210:        COMMIT = 411,
                    211:        DNS_UPDATE = 412,
                    212:        LEASE_TIME = 413,
                    213:        STATIC = 414,
                    214:        NEVER = 415,
                    215:        INFINITE = 416,
                    216:        TOKEN_DELETED = 417,
                    217:        UPDATED_DNS_RR = 418,
                    218:        DNS_DELETE = 419,
                    219:        DUPLICATES = 420,
                    220:        DECLINES = 421,
                    221:        TSTP = 422,
                    222:        TSFP = 423,
                    223:        OWNER = 424,
                    224:        IS = 425,
                    225:        HBA = 426,
                    226:        MAX_UNACKED_UPDATES = 427,
                    227:        MCLT = 428,
                    228:        SPLIT = 429,
                    229:        AT = 430,
                    230:        TOKEN_NO = 431,
                    231:        TOKEN_DELETE = 432,
                    232:        NS_UPDATE = 433,
                    233:        UPDATE = 434,
                    234:        SWITCH = 435,
                    235:        CASE = 436,
                    236:        NS_FORMERR = 437,
                    237:        NS_NOERROR = 438,
                    238:        NS_NOTAUTH = 439,
                    239:        NS_NOTIMP = 440,
                    240:        NS_NOTZONE = 441,
                    241:        NS_NXDOMAIN = 442,
                    242:        NS_NXRRSET = 443,
                    243:        NS_REFUSED = 444,
                    244:        NS_SERVFAIL = 445,
                    245:        NS_YXDOMAIN = 446,
                    246:        NS_YXRRSET = 447,
                    247:        TOKEN_NULL = 448,
                    248:        TOKEN_SET = 449,
                    249:        DEFINED = 450,
                    250:        UNSET = 451,
                    251:        EVAL = 452,
                    252:        LET = 453,
                    253:        FUNCTION = 454,
                    254:        DEFINE = 455,
                    255:        ZONE = 456,
                    256:        KEY = 457,
                    257:        SECRET = 458,
                    258:        ALGORITHM = 459,
                    259:        LOAD = 460,
                    260:        BALANCE = 461,
                    261:        TOKEN_MAX = 462,
                    262:        SECONDS = 463,
                    263:        ADDRESS = 464,
                    264:        RESOLUTION_INTERRUPTED = 465,
                    265:        STATE = 466,
                    266:        UNKNOWN_STATE = 567,
                    267:        CLTT = 568,
                    268:        INCLUDE = 569,
                    269:        BINDING = 570,
                    270:        TOKEN_FREE = 571,
                    271:        TOKEN_ACTIVE = 572,
                    272:        TOKEN_EXPIRED = 573,
                    273:        TOKEN_RELEASED = 574,
                    274:        TOKEN_RESET = 575,
                    275:        TOKEN_BACKUP = 576,
                    276:        TOKEN_RESERVED = 577,
                    277:        TOKEN_BOOTP = 578,
                    278:        TOKEN_NEXT = 579,
                    279:        OMAPI = 580,
                    280:        LOG = 581,
                    281:        FATAL = 582,
                    282:        ERROR = 583,
                    283:        TOKEN_DEBUG = 584,
                    284:        INFO = 585,
                    285:        RETURN = 586,
                    286:        PAUSED = 587,
                    287:        RECOVER_DONE = 588,
                    288:        SHUTDOWN = 589,
                    289:        STARTUP = 590,
                    290:        ENCAPSULATE = 591,
                    291:        VENDOR = 592,
                    292:        CLIENT_STATE = 593,
                    293:        INIT_REBOOT = 594,
                    294:        TOKEN_INIT = 595,
                    295:        SELECT = 596,
                    296:        BOUND = 597,
                    297:        RENEWING = 598,
                    298:        REBINDING = 599,
                    299:        RECONTACT_INTERVAL = 600,
                    300:        CLIENT_UPDATES = 601,
                    301:        TOKEN_NEW = 601,
                    302:        TRANSMISSION = 602,
                    303:        TOKEN_CLOSE = 603,
                    304:        TOKEN_CREATE = 604,
                    305:        TOKEN_OPEN = 605,
                    306:        TOKEN_HELP = 606,
                    307:        END_OF_FILE = 607,
                    308:        RECOVER_WAIT = 608,
                    309:        TOKEN_SERVER = 609,
                    310:        CONNECT = 610,
                    311:        REMOVE = 611,
                    312:        REFRESH = 612,
                    313:        DOMAIN_NAME = 613,
                    314:        DO_FORWARD_UPDATE = 614,
                    315:        KNOWN_CLIENTS = 615,
                    316:        ATSFP = 616,
                    317:        LCASE = 617,
                    318:        UCASE = 618,
                    319:        WIDTH = 619,
                    320:        LENGTH = 620,
                    321:        HASH = 621,
                    322:        SIZE = 622,
                    323:        EPOCH = 623,
                    324:        DB_TIME_FORMAT = 624,
                    325:        LOCAL = 625,
                    326:        MAX_LEASE_MISBALANCE = 626,
                    327:        MAX_LEASE_OWNERSHIP = 627,
                    328:        MAX_BALANCE = 628,
                    329:        MIN_BALANCE = 629,
                    330:        DOMAIN_LIST = 630,
                    331:        LEASEQUERY = 631,
                    332:        EXECUTE = 632,
                    333:        IP6_ADDRESS = 633,
                    334:        FIXED_ADDR6 = 634,
                    335:        COMPRESSED = 635,
                    336:        SUBNET6 = 636,
                    337:        HOST_IDENTIFIER = 637,
                    338:        IA_NA = 638,
                    339:        IA_TA = 639,
                    340:        IA_PD = 640,
                    341:        IAADDR = 641,
                    342:        IAPREFIX = 642,
                    343:        LEASE6 = 643,
                    344:        PREFERRED_LIFE = 644,
                    345:        MAX_LIFE = 645,
                    346:        DEFAULT_DUID = 646,
                    347:        SERVER_DUID = 647,
                    348:        LLT = 648,
                    349:        EN = 649,
                    350:        LL = 650,
                    351:        RANGE6 = 651,
                    352:        WHITESPACE = 652,
                    353:        TOKEN_ALSO = 653,
                    354:        AFTER = 654,
                    355:        ZEROLEN = 655,
                    356:        TEMPORARY = 656,
                    357:        PREFIX6 = 657,
                    358:        FIXED_PREFIX6 = 658,
                    359:        CONFLICT_DONE = 660,
                    360:        INITIAL_DELAY = 664,
1.1.1.1 ! misho     361:        GETHOSTBYNAME = 665,
        !           362:        TOKEN_INFINIBAND = 668
1.1       misho     363: };
                    364: 
                    365: #define is_identifier(x)       ((x) >= FIRST_TOKEN &&  \
                    366:                                 (x) != STRING &&       \
                    367:                                 (x) != NUMBER &&       \
                    368:                                 (x) != END_OF_FILE)

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>