00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
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)