1*c824f21bShenning /* $OpenBSD: tables.c,v 1.2 2004/04/14 01:27:49 henning Exp $ */ 2e853bc5dShenning 3*c824f21bShenning /* Tables of information... */ 4e853bc5dShenning 5e853bc5dShenning /* 6e853bc5dShenning * Copyright (c) 1995, 1996 The Internet Software Consortium. 7e853bc5dShenning * All rights reserved. 8e853bc5dShenning * 9e853bc5dShenning * Redistribution and use in source and binary forms, with or without 10e853bc5dShenning * modification, are permitted provided that the following conditions 11e853bc5dShenning * are met: 12e853bc5dShenning * 13e853bc5dShenning * 1. Redistributions of source code must retain the above copyright 14e853bc5dShenning * notice, this list of conditions and the following disclaimer. 15e853bc5dShenning * 2. Redistributions in binary form must reproduce the above copyright 16e853bc5dShenning * notice, this list of conditions and the following disclaimer in the 17e853bc5dShenning * documentation and/or other materials provided with the distribution. 18e853bc5dShenning * 3. Neither the name of The Internet Software Consortium nor the names 19e853bc5dShenning * of its contributors may be used to endorse or promote products derived 20e853bc5dShenning * from this software without specific prior written permission. 21e853bc5dShenning * 22e853bc5dShenning * THIS SOFTWARE IS PROVIDED BY THE INTERNET SOFTWARE CONSORTIUM AND 23e853bc5dShenning * CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, 24e853bc5dShenning * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 25e853bc5dShenning * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 26e853bc5dShenning * DISCLAIMED. IN NO EVENT SHALL THE INTERNET SOFTWARE CONSORTIUM OR 27e853bc5dShenning * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 28e853bc5dShenning * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 29e853bc5dShenning * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 30e853bc5dShenning * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 31e853bc5dShenning * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 32e853bc5dShenning * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 33e853bc5dShenning * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 34e853bc5dShenning * SUCH DAMAGE. 35e853bc5dShenning * 36e853bc5dShenning * This software has been written for the Internet Software Consortium 37e853bc5dShenning * by Ted Lemon <mellon@fugue.com> in cooperation with Vixie 38e853bc5dShenning * Enterprises. To learn more about the Internet Software Consortium, 39e853bc5dShenning * see ``http://www.vix.com/isc''. To learn more about Vixie 40e853bc5dShenning * Enterprises, see ``http://www.vix.com''. 41e853bc5dShenning */ 42e853bc5dShenning 43e853bc5dShenning #include "dhcpd.h" 44e853bc5dShenning 45*c824f21bShenning /* 46*c824f21bShenning * DHCP Option names, formats and codes, from RFC1533. 47*c824f21bShenning * 48*c824f21bShenning * Format codes: 49*c824f21bShenning * 50*c824f21bShenning * e - end of data 51*c824f21bShenning * I - IP address 52*c824f21bShenning * l - 32-bit signed integer 53*c824f21bShenning * L - 32-bit unsigned integer 54*c824f21bShenning * s - 16-bit signed integer 55*c824f21bShenning * S - 16-bit unsigned integer 56*c824f21bShenning * b - 8-bit signed integer 57*c824f21bShenning * B - 8-bit unsigned integer 58*c824f21bShenning * t - ASCII text 59*c824f21bShenning * f - flag (true or false) 60*c824f21bShenning * A - array of whatever precedes (e.g., IA means array of IP addresses) 61e853bc5dShenning */ 62e853bc5dShenning 63e853bc5dShenning struct universe dhcp_universe; 64e853bc5dShenning struct option dhcp_options[256] = { 65e853bc5dShenning { "pad", "", &dhcp_universe, 0 }, 66e853bc5dShenning { "subnet-mask", "I", &dhcp_universe, 1 }, 67e853bc5dShenning { "time-offset", "l", &dhcp_universe, 2 }, 68e853bc5dShenning { "routers", "IA", &dhcp_universe, 3 }, 69e853bc5dShenning { "time-servers", "IA", &dhcp_universe, 4 }, 70e853bc5dShenning { "ien116-name-servers", "IA", &dhcp_universe, 5 }, 71e853bc5dShenning { "domain-name-servers", "IA", &dhcp_universe, 6 }, 72e853bc5dShenning { "log-servers", "IA", &dhcp_universe, 7 }, 73e853bc5dShenning { "cookie-servers", "IA", &dhcp_universe, 8 }, 74e853bc5dShenning { "lpr-servers", "IA", &dhcp_universe, 9 }, 75e853bc5dShenning { "impress-servers", "IA", &dhcp_universe, 10 }, 76e853bc5dShenning { "resource-location-servers", "IA", &dhcp_universe, 11 }, 77e853bc5dShenning { "host-name", "X", &dhcp_universe, 12 }, 78e853bc5dShenning { "boot-size", "S", &dhcp_universe, 13 }, 79e853bc5dShenning { "merit-dump", "t", &dhcp_universe, 14 }, 80e853bc5dShenning { "domain-name", "t", &dhcp_universe, 15 }, 81e853bc5dShenning { "swap-server", "I", &dhcp_universe, 16 }, 82e853bc5dShenning { "root-path", "t", &dhcp_universe, 17 }, 83e853bc5dShenning { "extensions-path", "t", &dhcp_universe, 18 }, 84e853bc5dShenning { "ip-forwarding", "f", &dhcp_universe, 19 }, 85e853bc5dShenning { "non-local-source-routing", "f", &dhcp_universe, 20 }, 86e853bc5dShenning { "policy-filter", "IIA", &dhcp_universe, 21 }, 87e853bc5dShenning { "max-dgram-reassembly", "S", &dhcp_universe, 22 }, 88e853bc5dShenning { "default-ip-ttl", "B", &dhcp_universe, 23 }, 89e853bc5dShenning { "path-mtu-aging-timeout", "L", &dhcp_universe, 24 }, 90e853bc5dShenning { "path-mtu-plateau-table", "SA", &dhcp_universe, 25 }, 91e853bc5dShenning { "interface-mtu", "S", &dhcp_universe, 26 }, 92e853bc5dShenning { "all-subnets-local", "f", &dhcp_universe, 27 }, 93e853bc5dShenning { "broadcast-address", "I", &dhcp_universe, 28 }, 94e853bc5dShenning { "perform-mask-discovery", "f", &dhcp_universe, 29 }, 95e853bc5dShenning { "mask-supplier", "f", &dhcp_universe, 30 }, 96e853bc5dShenning { "router-discovery", "f", &dhcp_universe, 31 }, 97e853bc5dShenning { "router-solicitation-address", "I", &dhcp_universe, 32 }, 98e853bc5dShenning { "static-routes", "IIA", &dhcp_universe, 33 }, 99e853bc5dShenning { "trailer-encapsulation", "f", &dhcp_universe, 34 }, 100e853bc5dShenning { "arp-cache-timeout", "L", &dhcp_universe, 35 }, 101e853bc5dShenning { "ieee802-3-encapsulation", "f", &dhcp_universe, 36 }, 102e853bc5dShenning { "default-tcp-ttl", "B", &dhcp_universe, 37 }, 103e853bc5dShenning { "tcp-keepalive-interval", "L", &dhcp_universe, 38 }, 104e853bc5dShenning { "tcp-keepalive-garbage", "f", &dhcp_universe, 39 }, 105e853bc5dShenning { "nis-domain", "t", &dhcp_universe, 40 }, 106e853bc5dShenning { "nis-servers", "IA", &dhcp_universe, 41 }, 107e853bc5dShenning { "ntp-servers", "IA", &dhcp_universe, 42 }, 108e853bc5dShenning { "vendor-encapsulated-options", "X", &dhcp_universe, 43 }, 109e853bc5dShenning { "netbios-name-servers", "IA", &dhcp_universe, 44 }, 110e853bc5dShenning { "netbios-dd-server", "IA", &dhcp_universe, 45 }, 111e853bc5dShenning { "netbios-node-type", "B", &dhcp_universe, 46 }, 112e853bc5dShenning { "netbios-scope", "t", &dhcp_universe, 47 }, 113e853bc5dShenning { "font-servers", "IA", &dhcp_universe, 48 }, 114e853bc5dShenning { "x-display-manager", "IA", &dhcp_universe, 49 }, 115e853bc5dShenning { "dhcp-requested-address", "I", &dhcp_universe, 50 }, 116e853bc5dShenning { "dhcp-lease-time", "L", &dhcp_universe, 51 }, 117e853bc5dShenning { "dhcp-option-overload", "B", &dhcp_universe, 52 }, 118e853bc5dShenning { "dhcp-message-type", "B", &dhcp_universe, 53 }, 119e853bc5dShenning { "dhcp-server-identifier", "I", &dhcp_universe, 54 }, 120e853bc5dShenning { "dhcp-parameter-request-list", "BA", &dhcp_universe, 55 }, 121e853bc5dShenning { "dhcp-message", "t", &dhcp_universe, 56 }, 122e853bc5dShenning { "dhcp-max-message-size", "S", &dhcp_universe, 57 }, 123e853bc5dShenning { "dhcp-renewal-time", "L", &dhcp_universe, 58 }, 124e853bc5dShenning { "dhcp-rebinding-time", "L", &dhcp_universe, 59 }, 125e853bc5dShenning { "dhcp-class-identifier", "t", &dhcp_universe, 60 }, 126e853bc5dShenning { "dhcp-client-identifier", "X", &dhcp_universe, 61 }, 127e853bc5dShenning { "option-62", "X", &dhcp_universe, 62 }, 128e853bc5dShenning { "option-63", "X", &dhcp_universe, 63 }, 129e853bc5dShenning { "nisplus-domain", "t", &dhcp_universe, 64 }, 130e853bc5dShenning { "nisplus-servers", "IA", &dhcp_universe, 65 }, 131e853bc5dShenning { "tftp-server-name", "t", &dhcp_universe, 66 }, 132e853bc5dShenning { "bootfile-name", "t", &dhcp_universe, 67 }, 133e853bc5dShenning { "mobile-ip-home-agent", "IA", &dhcp_universe, 68 }, 134e853bc5dShenning { "smtp-server", "IA", &dhcp_universe, 69 }, 135e853bc5dShenning { "pop-server", "IA", &dhcp_universe, 70 }, 136e853bc5dShenning { "nntp-server", "IA", &dhcp_universe, 71 }, 137e853bc5dShenning { "www-server", "IA", &dhcp_universe, 72 }, 138e853bc5dShenning { "finger-server", "IA", &dhcp_universe, 73 }, 139e853bc5dShenning { "irc-server", "IA", &dhcp_universe, 74 }, 140e853bc5dShenning { "streettalk-server", "IA", &dhcp_universe, 75 }, 141e853bc5dShenning { "streettalk-directory-assistance-server", "IA", &dhcp_universe, 76 }, 142e853bc5dShenning { "user-class", "t", &dhcp_universe, 77 }, 143e853bc5dShenning { "option-78", "X", &dhcp_universe, 78 }, 144e853bc5dShenning { "option-79", "X", &dhcp_universe, 79 }, 145e853bc5dShenning { "option-80", "X", &dhcp_universe, 80 }, 146e853bc5dShenning { "option-81", "X", &dhcp_universe, 81 }, 147e853bc5dShenning { "option-82", "X", &dhcp_universe, 82 }, 148e853bc5dShenning { "option-83", "X", &dhcp_universe, 83 }, 149e853bc5dShenning { "option-84", "X", &dhcp_universe, 84 }, 150e853bc5dShenning { "nds-servers", "IA", &dhcp_universe, 85 }, 151e853bc5dShenning { "nds-tree-name", "X", &dhcp_universe, 86 }, 152e853bc5dShenning { "nds-context", "X", &dhcp_universe, 87 }, 153e853bc5dShenning { "option-88", "X", &dhcp_universe, 88 }, 154e853bc5dShenning { "option-89", "X", &dhcp_universe, 89 }, 155e853bc5dShenning { "option-90", "X", &dhcp_universe, 90 }, 156e853bc5dShenning { "option-91", "X", &dhcp_universe, 91 }, 157e853bc5dShenning { "option-92", "X", &dhcp_universe, 92 }, 158e853bc5dShenning { "option-93", "X", &dhcp_universe, 93 }, 159e853bc5dShenning { "option-94", "X", &dhcp_universe, 94 }, 160e853bc5dShenning { "option-95", "X", &dhcp_universe, 95 }, 161e853bc5dShenning { "option-96", "X", &dhcp_universe, 96 }, 162e853bc5dShenning { "option-97", "X", &dhcp_universe, 97 }, 163e853bc5dShenning { "option-98", "X", &dhcp_universe, 98 }, 164e853bc5dShenning { "option-99", "X", &dhcp_universe, 99 }, 165e853bc5dShenning { "option-100", "X", &dhcp_universe, 100 }, 166e853bc5dShenning { "option-101", "X", &dhcp_universe, 101 }, 167e853bc5dShenning { "option-102", "X", &dhcp_universe, 102 }, 168e853bc5dShenning { "option-103", "X", &dhcp_universe, 103 }, 169e853bc5dShenning { "option-104", "X", &dhcp_universe, 104 }, 170e853bc5dShenning { "option-105", "X", &dhcp_universe, 105 }, 171e853bc5dShenning { "option-106", "X", &dhcp_universe, 106 }, 172e853bc5dShenning { "option-107", "X", &dhcp_universe, 107 }, 173e853bc5dShenning { "option-108", "X", &dhcp_universe, 108 }, 174e853bc5dShenning { "option-109", "X", &dhcp_universe, 109 }, 175e853bc5dShenning { "option-110", "X", &dhcp_universe, 110 }, 176e853bc5dShenning { "option-111", "X", &dhcp_universe, 111 }, 177e853bc5dShenning { "option-112", "X", &dhcp_universe, 112 }, 178e853bc5dShenning { "option-113", "X", &dhcp_universe, 113 }, 179e853bc5dShenning { "option-114", "X", &dhcp_universe, 114 }, 180e853bc5dShenning { "option-115", "X", &dhcp_universe, 115 }, 181e853bc5dShenning { "option-116", "X", &dhcp_universe, 116 }, 182e853bc5dShenning { "option-117", "X", &dhcp_universe, 117 }, 183e853bc5dShenning { "option-118", "X", &dhcp_universe, 118 }, 184e853bc5dShenning { "option-119", "X", &dhcp_universe, 119 }, 185e853bc5dShenning { "option-120", "X", &dhcp_universe, 120 }, 186e853bc5dShenning { "option-121", "X", &dhcp_universe, 121 }, 187e853bc5dShenning { "option-122", "X", &dhcp_universe, 122 }, 188e853bc5dShenning { "option-123", "X", &dhcp_universe, 123 }, 189e853bc5dShenning { "option-124", "X", &dhcp_universe, 124 }, 190e853bc5dShenning { "option-125", "X", &dhcp_universe, 125 }, 191e853bc5dShenning { "option-126", "X", &dhcp_universe, 126 }, 192e853bc5dShenning { "option-127", "X", &dhcp_universe, 127 }, 193e853bc5dShenning { "option-128", "X", &dhcp_universe, 128 }, 194e853bc5dShenning { "option-129", "X", &dhcp_universe, 129 }, 195e853bc5dShenning { "option-130", "X", &dhcp_universe, 130 }, 196e853bc5dShenning { "option-131", "X", &dhcp_universe, 131 }, 197e853bc5dShenning { "option-132", "X", &dhcp_universe, 132 }, 198e853bc5dShenning { "option-133", "X", &dhcp_universe, 133 }, 199e853bc5dShenning { "option-134", "X", &dhcp_universe, 134 }, 200e853bc5dShenning { "option-135", "X", &dhcp_universe, 135 }, 201e853bc5dShenning { "option-136", "X", &dhcp_universe, 136 }, 202e853bc5dShenning { "option-137", "X", &dhcp_universe, 137 }, 203e853bc5dShenning { "option-138", "X", &dhcp_universe, 138 }, 204e853bc5dShenning { "option-139", "X", &dhcp_universe, 139 }, 205e853bc5dShenning { "option-140", "X", &dhcp_universe, 140 }, 206e853bc5dShenning { "option-141", "X", &dhcp_universe, 141 }, 207e853bc5dShenning { "option-142", "X", &dhcp_universe, 142 }, 208e853bc5dShenning { "option-143", "X", &dhcp_universe, 143 }, 209e853bc5dShenning { "option-144", "X", &dhcp_universe, 144 }, 210e853bc5dShenning { "option-145", "X", &dhcp_universe, 145 }, 211e853bc5dShenning { "option-146", "X", &dhcp_universe, 146 }, 212e853bc5dShenning { "option-147", "X", &dhcp_universe, 147 }, 213e853bc5dShenning { "option-148", "X", &dhcp_universe, 148 }, 214e853bc5dShenning { "option-149", "X", &dhcp_universe, 149 }, 215e853bc5dShenning { "option-150", "X", &dhcp_universe, 150 }, 216e853bc5dShenning { "option-151", "X", &dhcp_universe, 151 }, 217e853bc5dShenning { "option-152", "X", &dhcp_universe, 152 }, 218e853bc5dShenning { "option-153", "X", &dhcp_universe, 153 }, 219e853bc5dShenning { "option-154", "X", &dhcp_universe, 154 }, 220e853bc5dShenning { "option-155", "X", &dhcp_universe, 155 }, 221e853bc5dShenning { "option-156", "X", &dhcp_universe, 156 }, 222e853bc5dShenning { "option-157", "X", &dhcp_universe, 157 }, 223e853bc5dShenning { "option-158", "X", &dhcp_universe, 158 }, 224e853bc5dShenning { "option-159", "X", &dhcp_universe, 159 }, 225e853bc5dShenning { "option-160", "X", &dhcp_universe, 160 }, 226e853bc5dShenning { "option-161", "X", &dhcp_universe, 161 }, 227e853bc5dShenning { "option-162", "X", &dhcp_universe, 162 }, 228e853bc5dShenning { "option-163", "X", &dhcp_universe, 163 }, 229e853bc5dShenning { "option-164", "X", &dhcp_universe, 164 }, 230e853bc5dShenning { "option-165", "X", &dhcp_universe, 165 }, 231e853bc5dShenning { "option-166", "X", &dhcp_universe, 166 }, 232e853bc5dShenning { "option-167", "X", &dhcp_universe, 167 }, 233e853bc5dShenning { "option-168", "X", &dhcp_universe, 168 }, 234e853bc5dShenning { "option-169", "X", &dhcp_universe, 169 }, 235e853bc5dShenning { "option-170", "X", &dhcp_universe, 170 }, 236e853bc5dShenning { "option-171", "X", &dhcp_universe, 171 }, 237e853bc5dShenning { "option-172", "X", &dhcp_universe, 172 }, 238e853bc5dShenning { "option-173", "X", &dhcp_universe, 173 }, 239e853bc5dShenning { "option-174", "X", &dhcp_universe, 174 }, 240e853bc5dShenning { "option-175", "X", &dhcp_universe, 175 }, 241e853bc5dShenning { "option-176", "X", &dhcp_universe, 176 }, 242e853bc5dShenning { "option-177", "X", &dhcp_universe, 177 }, 243e853bc5dShenning { "option-178", "X", &dhcp_universe, 178 }, 244e853bc5dShenning { "option-179", "X", &dhcp_universe, 179 }, 245e853bc5dShenning { "option-180", "X", &dhcp_universe, 180 }, 246e853bc5dShenning { "option-181", "X", &dhcp_universe, 181 }, 247e853bc5dShenning { "option-182", "X", &dhcp_universe, 182 }, 248e853bc5dShenning { "option-183", "X", &dhcp_universe, 183 }, 249e853bc5dShenning { "option-184", "X", &dhcp_universe, 184 }, 250e853bc5dShenning { "option-185", "X", &dhcp_universe, 185 }, 251e853bc5dShenning { "option-186", "X", &dhcp_universe, 186 }, 252e853bc5dShenning { "option-187", "X", &dhcp_universe, 187 }, 253e853bc5dShenning { "option-188", "X", &dhcp_universe, 188 }, 254e853bc5dShenning { "option-189", "X", &dhcp_universe, 189 }, 255e853bc5dShenning { "option-190", "X", &dhcp_universe, 190 }, 256e853bc5dShenning { "option-191", "X", &dhcp_universe, 191 }, 257e853bc5dShenning { "option-192", "X", &dhcp_universe, 192 }, 258e853bc5dShenning { "option-193", "X", &dhcp_universe, 193 }, 259e853bc5dShenning { "option-194", "X", &dhcp_universe, 194 }, 260e853bc5dShenning { "option-195", "X", &dhcp_universe, 195 }, 261e853bc5dShenning { "option-196", "X", &dhcp_universe, 196 }, 262e853bc5dShenning { "option-197", "X", &dhcp_universe, 197 }, 263e853bc5dShenning { "option-198", "X", &dhcp_universe, 198 }, 264e853bc5dShenning { "option-199", "X", &dhcp_universe, 199 }, 265e853bc5dShenning { "option-200", "X", &dhcp_universe, 200 }, 266e853bc5dShenning { "option-201", "X", &dhcp_universe, 201 }, 267e853bc5dShenning { "option-202", "X", &dhcp_universe, 202 }, 268e853bc5dShenning { "option-203", "X", &dhcp_universe, 203 }, 269e853bc5dShenning { "option-204", "X", &dhcp_universe, 204 }, 270e853bc5dShenning { "option-205", "X", &dhcp_universe, 205 }, 271e853bc5dShenning { "option-206", "X", &dhcp_universe, 206 }, 272e853bc5dShenning { "option-207", "X", &dhcp_universe, 207 }, 273e853bc5dShenning { "option-208", "X", &dhcp_universe, 208 }, 274e853bc5dShenning { "option-209", "X", &dhcp_universe, 209 }, 275e853bc5dShenning { "option-210", "X", &dhcp_universe, 210 }, 276e853bc5dShenning { "option-211", "X", &dhcp_universe, 211 }, 277e853bc5dShenning { "option-212", "X", &dhcp_universe, 212 }, 278e853bc5dShenning { "option-213", "X", &dhcp_universe, 213 }, 279e853bc5dShenning { "option-214", "X", &dhcp_universe, 214 }, 280e853bc5dShenning { "option-215", "X", &dhcp_universe, 215 }, 281e853bc5dShenning { "option-216", "X", &dhcp_universe, 216 }, 282e853bc5dShenning { "option-217", "X", &dhcp_universe, 217 }, 283e853bc5dShenning { "option-218", "X", &dhcp_universe, 218 }, 284e853bc5dShenning { "option-219", "X", &dhcp_universe, 219 }, 285e853bc5dShenning { "option-220", "X", &dhcp_universe, 220 }, 286e853bc5dShenning { "option-221", "X", &dhcp_universe, 221 }, 287e853bc5dShenning { "option-222", "X", &dhcp_universe, 222 }, 288e853bc5dShenning { "option-223", "X", &dhcp_universe, 223 }, 289e853bc5dShenning { "option-224", "X", &dhcp_universe, 224 }, 290e853bc5dShenning { "option-225", "X", &dhcp_universe, 225 }, 291e853bc5dShenning { "option-226", "X", &dhcp_universe, 226 }, 292e853bc5dShenning { "option-227", "X", &dhcp_universe, 227 }, 293e853bc5dShenning { "option-228", "X", &dhcp_universe, 228 }, 294e853bc5dShenning { "option-229", "X", &dhcp_universe, 229 }, 295e853bc5dShenning { "option-230", "X", &dhcp_universe, 230 }, 296e853bc5dShenning { "option-231", "X", &dhcp_universe, 231 }, 297e853bc5dShenning { "option-232", "X", &dhcp_universe, 232 }, 298e853bc5dShenning { "option-233", "X", &dhcp_universe, 233 }, 299e853bc5dShenning { "option-234", "X", &dhcp_universe, 234 }, 300e853bc5dShenning { "option-235", "X", &dhcp_universe, 235 }, 301e853bc5dShenning { "option-236", "X", &dhcp_universe, 236 }, 302e853bc5dShenning { "option-237", "X", &dhcp_universe, 237 }, 303e853bc5dShenning { "option-238", "X", &dhcp_universe, 238 }, 304e853bc5dShenning { "option-239", "X", &dhcp_universe, 239 }, 305e853bc5dShenning { "option-240", "X", &dhcp_universe, 240 }, 306e853bc5dShenning { "option-241", "X", &dhcp_universe, 241 }, 307e853bc5dShenning { "option-242", "X", &dhcp_universe, 242 }, 308e853bc5dShenning { "option-243", "X", &dhcp_universe, 243 }, 309e853bc5dShenning { "option-244", "X", &dhcp_universe, 244 }, 310e853bc5dShenning { "option-245", "X", &dhcp_universe, 245 }, 311e853bc5dShenning { "option-246", "X", &dhcp_universe, 246 }, 312e853bc5dShenning { "option-247", "X", &dhcp_universe, 247 }, 313e853bc5dShenning { "option-248", "X", &dhcp_universe, 248 }, 314e853bc5dShenning { "option-249", "X", &dhcp_universe, 249 }, 315e853bc5dShenning { "option-250", "X", &dhcp_universe, 250 }, 316e853bc5dShenning { "option-251", "X", &dhcp_universe, 251 }, 317e853bc5dShenning { "option-252", "X", &dhcp_universe, 252 }, 318e853bc5dShenning { "option-253", "X", &dhcp_universe, 253 }, 319e853bc5dShenning { "option-254", "X", &dhcp_universe, 254 }, 320e853bc5dShenning { "option-end", "e", &dhcp_universe, 255 }, 321e853bc5dShenning }; 322e853bc5dShenning 323*c824f21bShenning /* 324*c824f21bShenning * Default dhcp option priority list (this is ad hoc and should not be 325*c824f21bShenning * mistaken for a carefully crafted and optimized list). 326*c824f21bShenning */ 327e853bc5dShenning unsigned char dhcp_option_default_priority_list[] = { 328e853bc5dShenning DHO_DHCP_REQUESTED_ADDRESS, 329e853bc5dShenning DHO_DHCP_OPTION_OVERLOAD, 330e853bc5dShenning DHO_DHCP_MAX_MESSAGE_SIZE, 331e853bc5dShenning DHO_DHCP_RENEWAL_TIME, 332e853bc5dShenning DHO_DHCP_REBINDING_TIME, 333e853bc5dShenning DHO_DHCP_CLASS_IDENTIFIER, 334e853bc5dShenning DHO_DHCP_CLIENT_IDENTIFIER, 335e853bc5dShenning DHO_SUBNET_MASK, 336e853bc5dShenning DHO_TIME_OFFSET, 337e853bc5dShenning DHO_ROUTERS, 338e853bc5dShenning DHO_TIME_SERVERS, 339e853bc5dShenning DHO_NAME_SERVERS, 340e853bc5dShenning DHO_DOMAIN_NAME_SERVERS, 341e853bc5dShenning DHO_HOST_NAME, 342e853bc5dShenning DHO_LOG_SERVERS, 343e853bc5dShenning DHO_COOKIE_SERVERS, 344e853bc5dShenning DHO_LPR_SERVERS, 345e853bc5dShenning DHO_IMPRESS_SERVERS, 346e853bc5dShenning DHO_RESOURCE_LOCATION_SERVERS, 347e853bc5dShenning DHO_HOST_NAME, 348e853bc5dShenning DHO_BOOT_SIZE, 349e853bc5dShenning DHO_MERIT_DUMP, 350e853bc5dShenning DHO_DOMAIN_NAME, 351e853bc5dShenning DHO_SWAP_SERVER, 352e853bc5dShenning DHO_ROOT_PATH, 353e853bc5dShenning DHO_EXTENSIONS_PATH, 354e853bc5dShenning DHO_IP_FORWARDING, 355e853bc5dShenning DHO_NON_LOCAL_SOURCE_ROUTING, 356e853bc5dShenning DHO_POLICY_FILTER, 357e853bc5dShenning DHO_MAX_DGRAM_REASSEMBLY, 358e853bc5dShenning DHO_DEFAULT_IP_TTL, 359e853bc5dShenning DHO_PATH_MTU_AGING_TIMEOUT, 360e853bc5dShenning DHO_PATH_MTU_PLATEAU_TABLE, 361e853bc5dShenning DHO_INTERFACE_MTU, 362e853bc5dShenning DHO_ALL_SUBNETS_LOCAL, 363e853bc5dShenning DHO_BROADCAST_ADDRESS, 364e853bc5dShenning DHO_PERFORM_MASK_DISCOVERY, 365e853bc5dShenning DHO_MASK_SUPPLIER, 366e853bc5dShenning DHO_ROUTER_DISCOVERY, 367e853bc5dShenning DHO_ROUTER_SOLICITATION_ADDRESS, 368e853bc5dShenning DHO_STATIC_ROUTES, 369e853bc5dShenning DHO_TRAILER_ENCAPSULATION, 370e853bc5dShenning DHO_ARP_CACHE_TIMEOUT, 371e853bc5dShenning DHO_IEEE802_3_ENCAPSULATION, 372e853bc5dShenning DHO_DEFAULT_TCP_TTL, 373e853bc5dShenning DHO_TCP_KEEPALIVE_INTERVAL, 374e853bc5dShenning DHO_TCP_KEEPALIVE_GARBAGE, 375e853bc5dShenning DHO_NIS_DOMAIN, 376e853bc5dShenning DHO_NIS_SERVERS, 377e853bc5dShenning DHO_NTP_SERVERS, 378e853bc5dShenning DHO_VENDOR_ENCAPSULATED_OPTIONS, 379e853bc5dShenning DHO_NETBIOS_NAME_SERVERS, 380e853bc5dShenning DHO_NETBIOS_DD_SERVER, 381e853bc5dShenning DHO_NETBIOS_NODE_TYPE, 382e853bc5dShenning DHO_NETBIOS_SCOPE, 383e853bc5dShenning DHO_FONT_SERVERS, 384e853bc5dShenning DHO_X_DISPLAY_MANAGER, 385e853bc5dShenning DHO_DHCP_PARAMETER_REQUEST_LIST, 386e853bc5dShenning 387e853bc5dShenning /* Presently-undefined options... */ 388e853bc5dShenning 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 389e853bc5dShenning 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 390e853bc5dShenning 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 391e853bc5dShenning 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 392e853bc5dShenning 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 393e853bc5dShenning 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 394e853bc5dShenning 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 395e853bc5dShenning 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 396e853bc5dShenning 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 397e853bc5dShenning 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 398e853bc5dShenning 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 399e853bc5dShenning 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 400e853bc5dShenning 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 401e853bc5dShenning 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 402e853bc5dShenning 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 403e853bc5dShenning 251, 252, 253, 254, 404e853bc5dShenning }; 405e853bc5dShenning 406e853bc5dShenning int sizeof_dhcp_option_default_priority_list = 407*c824f21bShenning sizeof(dhcp_option_default_priority_list); 408e853bc5dShenning 409e853bc5dShenning 410e853bc5dShenning char *hardware_types[] = { 411e853bc5dShenning "unknown-0", 412e853bc5dShenning "ethernet", 413e853bc5dShenning "unknown-2", 414e853bc5dShenning "unknown-3", 415e853bc5dShenning "unknown-4", 416e853bc5dShenning "unknown-5", 417e853bc5dShenning "token-ring", 418e853bc5dShenning "unknown-7", 419e853bc5dShenning "fddi", 420e853bc5dShenning "unknown-9", 421e853bc5dShenning "unknown-10", 422e853bc5dShenning "unknown-11", 423e853bc5dShenning "unknown-12", 424e853bc5dShenning "unknown-13", 425e853bc5dShenning "unknown-14", 426e853bc5dShenning "unknown-15", 427e853bc5dShenning "unknown-16", 428e853bc5dShenning "unknown-17", 429e853bc5dShenning "unknown-18", 430e853bc5dShenning "unknown-19", 431e853bc5dShenning "unknown-20", 432e853bc5dShenning "unknown-21", 433e853bc5dShenning "unknown-22", 434e853bc5dShenning "unknown-23", 435e853bc5dShenning "unknown-24", 436e853bc5dShenning "unknown-25", 437e853bc5dShenning "unknown-26", 438e853bc5dShenning "unknown-27", 439e853bc5dShenning "unknown-28", 440e853bc5dShenning "unknown-29", 441e853bc5dShenning "unknown-30", 442e853bc5dShenning "unknown-31", 443e853bc5dShenning "unknown-32", 444e853bc5dShenning "unknown-33", 445e853bc5dShenning "unknown-34", 446e853bc5dShenning "unknown-35", 447e853bc5dShenning "unknown-36", 448e853bc5dShenning "unknown-37", 449e853bc5dShenning "unknown-38", 450e853bc5dShenning "unknown-39", 451e853bc5dShenning "unknown-40", 452e853bc5dShenning "unknown-41", 453e853bc5dShenning "unknown-42", 454e853bc5dShenning "unknown-43", 455e853bc5dShenning "unknown-44", 456e853bc5dShenning "unknown-45", 457e853bc5dShenning "unknown-46", 458e853bc5dShenning "unknown-47", 459e853bc5dShenning "unknown-48", 460e853bc5dShenning "unknown-49", 461e853bc5dShenning "unknown-50", 462e853bc5dShenning "unknown-51", 463e853bc5dShenning "unknown-52", 464e853bc5dShenning "unknown-53", 465e853bc5dShenning "unknown-54", 466e853bc5dShenning "unknown-55", 467e853bc5dShenning "unknown-56", 468e853bc5dShenning "unknown-57", 469e853bc5dShenning "unknown-58", 470e853bc5dShenning "unknown-59", 471e853bc5dShenning "unknown-60", 472e853bc5dShenning "unknown-61", 473e853bc5dShenning "unknown-62", 474e853bc5dShenning "unknown-63", 475e853bc5dShenning "unknown-64", 476e853bc5dShenning "unknown-65", 477e853bc5dShenning "unknown-66", 478e853bc5dShenning "unknown-67", 479e853bc5dShenning "unknown-68", 480e853bc5dShenning "unknown-69", 481e853bc5dShenning "unknown-70", 482e853bc5dShenning "unknown-71", 483e853bc5dShenning "unknown-72", 484e853bc5dShenning "unknown-73", 485e853bc5dShenning "unknown-74", 486e853bc5dShenning "unknown-75", 487e853bc5dShenning "unknown-76", 488e853bc5dShenning "unknown-77", 489e853bc5dShenning "unknown-78", 490e853bc5dShenning "unknown-79", 491e853bc5dShenning "unknown-80", 492e853bc5dShenning "unknown-81", 493e853bc5dShenning "unknown-82", 494e853bc5dShenning "unknown-83", 495e853bc5dShenning "unknown-84", 496e853bc5dShenning "unknown-85", 497e853bc5dShenning "unknown-86", 498e853bc5dShenning "unknown-87", 499e853bc5dShenning "unknown-88", 500e853bc5dShenning "unknown-89", 501e853bc5dShenning "unknown-90", 502e853bc5dShenning "unknown-91", 503e853bc5dShenning "unknown-92", 504e853bc5dShenning "unknown-93", 505e853bc5dShenning "unknown-94", 506e853bc5dShenning "unknown-95", 507e853bc5dShenning "unknown-96", 508e853bc5dShenning "unknown-97", 509e853bc5dShenning "unknown-98", 510e853bc5dShenning "unknown-99", 511e853bc5dShenning "unknown-100", 512e853bc5dShenning "unknown-101", 513e853bc5dShenning "unknown-102", 514e853bc5dShenning "unknown-103", 515e853bc5dShenning "unknown-104", 516e853bc5dShenning "unknown-105", 517e853bc5dShenning "unknown-106", 518e853bc5dShenning "unknown-107", 519e853bc5dShenning "unknown-108", 520e853bc5dShenning "unknown-109", 521e853bc5dShenning "unknown-110", 522e853bc5dShenning "unknown-111", 523e853bc5dShenning "unknown-112", 524e853bc5dShenning "unknown-113", 525e853bc5dShenning "unknown-114", 526e853bc5dShenning "unknown-115", 527e853bc5dShenning "unknown-116", 528e853bc5dShenning "unknown-117", 529e853bc5dShenning "unknown-118", 530e853bc5dShenning "unknown-119", 531e853bc5dShenning "unknown-120", 532e853bc5dShenning "unknown-121", 533e853bc5dShenning "unknown-122", 534e853bc5dShenning "unknown-123", 535e853bc5dShenning "unknown-124", 536e853bc5dShenning "unknown-125", 537e853bc5dShenning "unknown-126", 538e853bc5dShenning "unknown-127", 539e853bc5dShenning "unknown-128", 540e853bc5dShenning "unknown-129", 541e853bc5dShenning "unknown-130", 542e853bc5dShenning "unknown-131", 543e853bc5dShenning "unknown-132", 544e853bc5dShenning "unknown-133", 545e853bc5dShenning "unknown-134", 546e853bc5dShenning "unknown-135", 547e853bc5dShenning "unknown-136", 548e853bc5dShenning "unknown-137", 549e853bc5dShenning "unknown-138", 550e853bc5dShenning "unknown-139", 551e853bc5dShenning "unknown-140", 552e853bc5dShenning "unknown-141", 553e853bc5dShenning "unknown-142", 554e853bc5dShenning "unknown-143", 555e853bc5dShenning "unknown-144", 556e853bc5dShenning "unknown-145", 557e853bc5dShenning "unknown-146", 558e853bc5dShenning "unknown-147", 559e853bc5dShenning "unknown-148", 560e853bc5dShenning "unknown-149", 561e853bc5dShenning "unknown-150", 562e853bc5dShenning "unknown-151", 563e853bc5dShenning "unknown-152", 564e853bc5dShenning "unknown-153", 565e853bc5dShenning "unknown-154", 566e853bc5dShenning "unknown-155", 567e853bc5dShenning "unknown-156", 568e853bc5dShenning "unknown-157", 569e853bc5dShenning "unknown-158", 570e853bc5dShenning "unknown-159", 571e853bc5dShenning "unknown-160", 572e853bc5dShenning "unknown-161", 573e853bc5dShenning "unknown-162", 574e853bc5dShenning "unknown-163", 575e853bc5dShenning "unknown-164", 576e853bc5dShenning "unknown-165", 577e853bc5dShenning "unknown-166", 578e853bc5dShenning "unknown-167", 579e853bc5dShenning "unknown-168", 580e853bc5dShenning "unknown-169", 581e853bc5dShenning "unknown-170", 582e853bc5dShenning "unknown-171", 583e853bc5dShenning "unknown-172", 584e853bc5dShenning "unknown-173", 585e853bc5dShenning "unknown-174", 586e853bc5dShenning "unknown-175", 587e853bc5dShenning "unknown-176", 588e853bc5dShenning "unknown-177", 589e853bc5dShenning "unknown-178", 590e853bc5dShenning "unknown-179", 591e853bc5dShenning "unknown-180", 592e853bc5dShenning "unknown-181", 593e853bc5dShenning "unknown-182", 594e853bc5dShenning "unknown-183", 595e853bc5dShenning "unknown-184", 596e853bc5dShenning "unknown-185", 597e853bc5dShenning "unknown-186", 598e853bc5dShenning "unknown-187", 599e853bc5dShenning "unknown-188", 600e853bc5dShenning "unknown-189", 601e853bc5dShenning "unknown-190", 602e853bc5dShenning "unknown-191", 603e853bc5dShenning "unknown-192", 604e853bc5dShenning "unknown-193", 605e853bc5dShenning "unknown-194", 606e853bc5dShenning "unknown-195", 607e853bc5dShenning "unknown-196", 608e853bc5dShenning "unknown-197", 609e853bc5dShenning "unknown-198", 610e853bc5dShenning "unknown-199", 611e853bc5dShenning "unknown-200", 612e853bc5dShenning "unknown-201", 613e853bc5dShenning "unknown-202", 614e853bc5dShenning "unknown-203", 615e853bc5dShenning "unknown-204", 616e853bc5dShenning "unknown-205", 617e853bc5dShenning "unknown-206", 618e853bc5dShenning "unknown-207", 619e853bc5dShenning "unknown-208", 620e853bc5dShenning "unknown-209", 621e853bc5dShenning "unknown-210", 622e853bc5dShenning "unknown-211", 623e853bc5dShenning "unknown-212", 624e853bc5dShenning "unknown-213", 625e853bc5dShenning "unknown-214", 626e853bc5dShenning "unknown-215", 627e853bc5dShenning "unknown-216", 628e853bc5dShenning "unknown-217", 629e853bc5dShenning "unknown-218", 630e853bc5dShenning "unknown-219", 631e853bc5dShenning "unknown-220", 632e853bc5dShenning "unknown-221", 633e853bc5dShenning "unknown-222", 634e853bc5dShenning "unknown-223", 635e853bc5dShenning "unknown-224", 636e853bc5dShenning "unknown-225", 637e853bc5dShenning "unknown-226", 638e853bc5dShenning "unknown-227", 639e853bc5dShenning "unknown-228", 640e853bc5dShenning "unknown-229", 641e853bc5dShenning "unknown-230", 642e853bc5dShenning "unknown-231", 643e853bc5dShenning "unknown-232", 644e853bc5dShenning "unknown-233", 645e853bc5dShenning "unknown-234", 646e853bc5dShenning "unknown-235", 647e853bc5dShenning "unknown-236", 648e853bc5dShenning "unknown-237", 649e853bc5dShenning "unknown-238", 650e853bc5dShenning "unknown-239", 651e853bc5dShenning "unknown-240", 652e853bc5dShenning "unknown-241", 653e853bc5dShenning "unknown-242", 654e853bc5dShenning "unknown-243", 655e853bc5dShenning "unknown-244", 656e853bc5dShenning "unknown-245", 657e853bc5dShenning "unknown-246", 658e853bc5dShenning "unknown-247", 659e853bc5dShenning "unknown-248", 660e853bc5dShenning "unknown-249", 661e853bc5dShenning "unknown-250", 662e853bc5dShenning "unknown-251", 663e853bc5dShenning "unknown-252", 664e853bc5dShenning "unknown-253", 665e853bc5dShenning "unknown-254", 666*c824f21bShenning "unknown-255" 667*c824f21bShenning }; 668e853bc5dShenning 669e853bc5dShenning 670e853bc5dShenning 671e853bc5dShenning struct hash_table universe_hash; 672e853bc5dShenning 673*c824f21bShenning void 674*c824f21bShenning initialize_universes(void) 675e853bc5dShenning { 676e853bc5dShenning int i; 677e853bc5dShenning 678e853bc5dShenning dhcp_universe.name = "dhcp"; 679e853bc5dShenning dhcp_universe.hash = new_hash(); 680e853bc5dShenning if (!dhcp_universe.hash) 681e853bc5dShenning error("Can't allocate dhcp option hash table."); 682e853bc5dShenning for (i = 0; i < 256; i++) { 683e853bc5dShenning dhcp_universe.options[i] = &dhcp_options[i]; 684e853bc5dShenning add_hash(dhcp_universe.hash, 685e853bc5dShenning (unsigned char *)dhcp_options[i].name, 0, 686e853bc5dShenning (unsigned char *)&dhcp_options[i]); 687e853bc5dShenning } 688e853bc5dShenning universe_hash.hash_count = DEFAULT_HASH_SIZE; 689e853bc5dShenning add_hash(&universe_hash, 690e853bc5dShenning (unsigned char *)dhcp_universe.name, 0, 691e853bc5dShenning (unsigned char *)&dhcp_universe); 692e853bc5dShenning } 693