tables.c revision 331722
1221163Sadrian/* $OpenBSD: tables.c,v 1.4 2004/05/04 20:28:40 deraadt Exp $ */ 2221163Sadrian 3221163Sadrian/* Tables of information... */ 4221163Sadrian 5221163Sadrian/* 6221163Sadrian * Copyright (c) 1995, 1996 The Internet Software Consortium. 7221163Sadrian * All rights reserved. 8221163Sadrian * 9221163Sadrian * Redistribution and use in source and binary forms, with or without 10221163Sadrian * modification, are permitted provided that the following conditions 11221163Sadrian * are met: 12221163Sadrian * 13221163Sadrian * 1. Redistributions of source code must retain the above copyright 14221163Sadrian * notice, this list of conditions and the following disclaimer. 15221163Sadrian * 2. Redistributions in binary form must reproduce the above copyright 16221163Sadrian * notice, this list of conditions and the following disclaimer in the 17221163Sadrian * documentation and/or other materials provided with the distribution. 18221163Sadrian * 3. Neither the name of The Internet Software Consortium nor the names 19221163Sadrian * of its contributors may be used to endorse or promote products derived 20221163Sadrian * from this software without specific prior written permission. 21221163Sadrian * 22221163Sadrian * THIS SOFTWARE IS PROVIDED BY THE INTERNET SOFTWARE CONSORTIUM AND 23221163Sadrian * CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, 24221163Sadrian * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 25221163Sadrian * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 26221163Sadrian * DISCLAIMED. IN NO EVENT SHALL THE INTERNET SOFTWARE CONSORTIUM OR 27221163Sadrian * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 28221163Sadrian * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 29221163Sadrian * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 30221163Sadrian * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 31221163Sadrian * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 32221163Sadrian * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 33221163Sadrian * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 34221163Sadrian * SUCH DAMAGE. 35221163Sadrian * 36221163Sadrian * This software has been written for the Internet Software Consortium 37221163Sadrian * by Ted Lemon <mellon@fugue.com> in cooperation with Vixie 38221163Sadrian * Enterprises. To learn more about the Internet Software Consortium, 39221163Sadrian * see ``http://www.vix.com/isc''. To learn more about Vixie 40221163Sadrian * Enterprises, see ``http://www.vix.com''. 41221163Sadrian */ 42221163Sadrian 43221163Sadrian#include <sys/cdefs.h> 44221163Sadrian__FBSDID("$FreeBSD: stable/11/sbin/dhclient/tables.c 331722 2018-03-29 02:50:57Z eadler $"); 45221163Sadrian 46221163Sadrian#include "dhcpd.h" 47221163Sadrian 48221163Sadrian/* 49221163Sadrian * DHCP Option names, formats and codes, from RFC1533. 50221163Sadrian * 51221163Sadrian * Format codes: 52221163Sadrian * 53221163Sadrian * e - end of data 54221163Sadrian * I - IP address 55221163Sadrian * l - 32-bit signed integer 56221163Sadrian * L - 32-bit unsigned integer 57221163Sadrian * s - 16-bit signed integer 58221163Sadrian * S - 16-bit unsigned integer 59221163Sadrian * b - 8-bit signed integer 60221163Sadrian * B - 8-bit unsigned integer 61221163Sadrian * t - ASCII text 62221163Sadrian * f - flag (true or false) 63221163Sadrian * A - array of whatever precedes (e.g., IA means array of IP addresses) 64221163Sadrian */ 65221163Sadrian 66221163Sadrianstruct universe dhcp_universe; 67221163Sadrianstruct option dhcp_options[256] = { 68221163Sadrian { "pad", "", &dhcp_universe, 0 }, 69221163Sadrian { "subnet-mask", "I", &dhcp_universe, 1 }, 70221163Sadrian { "time-offset", "l", &dhcp_universe, 2 }, 71221163Sadrian { "routers", "IA", &dhcp_universe, 3 }, 72221163Sadrian { "time-servers", "IA", &dhcp_universe, 4 }, 73221163Sadrian { "ien116-name-servers", "IA", &dhcp_universe, 5 }, 74221163Sadrian { "domain-name-servers", "IA", &dhcp_universe, 6 }, 75221163Sadrian { "log-servers", "IA", &dhcp_universe, 7 }, 76221163Sadrian { "cookie-servers", "IA", &dhcp_universe, 8 }, 77221163Sadrian { "lpr-servers", "IA", &dhcp_universe, 9 }, 78221163Sadrian { "impress-servers", "IA", &dhcp_universe, 10 }, 79221163Sadrian { "resource-location-servers", "IA", &dhcp_universe, 11 }, 80221163Sadrian { "host-name", "t", &dhcp_universe, 12 }, 81221163Sadrian { "boot-size", "S", &dhcp_universe, 13 }, 82221163Sadrian { "merit-dump", "t", &dhcp_universe, 14 }, 83221163Sadrian { "domain-name", "t", &dhcp_universe, 15 }, 84221163Sadrian { "swap-server", "I", &dhcp_universe, 16 }, 85221163Sadrian { "root-path", "t", &dhcp_universe, 17 }, 86221163Sadrian { "extensions-path", "t", &dhcp_universe, 18 }, 87221163Sadrian { "ip-forwarding", "f", &dhcp_universe, 19 }, 88221163Sadrian { "non-local-source-routing", "f", &dhcp_universe, 20 }, 89221163Sadrian { "policy-filter", "IIA", &dhcp_universe, 21 }, 90221163Sadrian { "max-dgram-reassembly", "S", &dhcp_universe, 22 }, 91221163Sadrian { "default-ip-ttl", "B", &dhcp_universe, 23 }, 92221163Sadrian { "path-mtu-aging-timeout", "L", &dhcp_universe, 24 }, 93221163Sadrian { "path-mtu-plateau-table", "SA", &dhcp_universe, 25 }, 94221163Sadrian { "interface-mtu", "S", &dhcp_universe, 26 }, 95221163Sadrian { "all-subnets-local", "f", &dhcp_universe, 27 }, 96221163Sadrian { "broadcast-address", "I", &dhcp_universe, 28 }, 97221163Sadrian { "perform-mask-discovery", "f", &dhcp_universe, 29 }, 98221163Sadrian { "mask-supplier", "f", &dhcp_universe, 30 }, 99221163Sadrian { "router-discovery", "f", &dhcp_universe, 31 }, 100221163Sadrian { "router-solicitation-address", "I", &dhcp_universe, 32 }, 101221163Sadrian { "static-routes", "IIA", &dhcp_universe, 33 }, 102221163Sadrian { "trailer-encapsulation", "f", &dhcp_universe, 34 }, 103221163Sadrian { "arp-cache-timeout", "L", &dhcp_universe, 35 }, 104221163Sadrian { "ieee802-3-encapsulation", "f", &dhcp_universe, 36 }, 105221163Sadrian { "default-tcp-ttl", "B", &dhcp_universe, 37 }, 106221163Sadrian { "tcp-keepalive-interval", "L", &dhcp_universe, 38 }, 107221163Sadrian { "tcp-keepalive-garbage", "f", &dhcp_universe, 39 }, 108221163Sadrian { "nis-domain", "t", &dhcp_universe, 40 }, 109221163Sadrian { "nis-servers", "IA", &dhcp_universe, 41 }, 110221163Sadrian { "ntp-servers", "IA", &dhcp_universe, 42 }, 111221163Sadrian { "vendor-encapsulated-options", "X", &dhcp_universe, 43 }, 112221163Sadrian { "netbios-name-servers", "IA", &dhcp_universe, 44 }, 113221163Sadrian { "netbios-dd-server", "IA", &dhcp_universe, 45 }, 114221163Sadrian { "netbios-node-type", "B", &dhcp_universe, 46 }, 115221163Sadrian { "netbios-scope", "t", &dhcp_universe, 47 }, 116221163Sadrian { "font-servers", "IA", &dhcp_universe, 48 }, 117221163Sadrian { "x-display-manager", "IA", &dhcp_universe, 49 }, 118221163Sadrian { "dhcp-requested-address", "I", &dhcp_universe, 50 }, 119221163Sadrian { "dhcp-lease-time", "L", &dhcp_universe, 51 }, 120221163Sadrian { "dhcp-option-overload", "B", &dhcp_universe, 52 }, 121221163Sadrian { "dhcp-message-type", "B", &dhcp_universe, 53 }, 122221163Sadrian { "dhcp-server-identifier", "I", &dhcp_universe, 54 }, 123221163Sadrian { "dhcp-parameter-request-list", "BA", &dhcp_universe, 55 }, 124221163Sadrian { "dhcp-message", "t", &dhcp_universe, 56 }, 125221163Sadrian { "dhcp-max-message-size", "S", &dhcp_universe, 57 }, 126221163Sadrian { "dhcp-renewal-time", "L", &dhcp_universe, 58 }, 127221163Sadrian { "dhcp-rebinding-time", "L", &dhcp_universe, 59 }, 128221163Sadrian { "dhcp-class-identifier", "t", &dhcp_universe, 60 }, 129221163Sadrian { "dhcp-client-identifier", "X", &dhcp_universe, 61 }, 130221163Sadrian { "option-62", "X", &dhcp_universe, 62 }, 131221163Sadrian { "option-63", "X", &dhcp_universe, 63 }, 132221163Sadrian { "nisplus-domain", "t", &dhcp_universe, 64 }, 133221163Sadrian { "nisplus-servers", "IA", &dhcp_universe, 65 }, 134221163Sadrian { "tftp-server-name", "t", &dhcp_universe, 66 }, 135221163Sadrian { "bootfile-name", "t", &dhcp_universe, 67 }, 136221163Sadrian { "mobile-ip-home-agent", "IA", &dhcp_universe, 68 }, 137221163Sadrian { "smtp-server", "IA", &dhcp_universe, 69 }, 138221163Sadrian { "pop-server", "IA", &dhcp_universe, 70 }, 139221163Sadrian { "nntp-server", "IA", &dhcp_universe, 71 }, 140221163Sadrian { "www-server", "IA", &dhcp_universe, 72 }, 141221163Sadrian { "finger-server", "IA", &dhcp_universe, 73 }, 142221163Sadrian { "irc-server", "IA", &dhcp_universe, 74 }, 143221163Sadrian { "streettalk-server", "IA", &dhcp_universe, 75 }, 144221163Sadrian { "streettalk-directory-assistance-server", "IA", &dhcp_universe, 76 }, 145221163Sadrian { "user-class", "t", &dhcp_universe, 77 }, 146221163Sadrian { "option-78", "X", &dhcp_universe, 78 }, 147221163Sadrian { "option-79", "X", &dhcp_universe, 79 }, 148221163Sadrian { "option-80", "X", &dhcp_universe, 80 }, 149221163Sadrian { "option-81", "X", &dhcp_universe, 81 }, 150221163Sadrian { "option-82", "X", &dhcp_universe, 82 }, 151221163Sadrian { "option-83", "X", &dhcp_universe, 83 }, 152221163Sadrian { "option-84", "X", &dhcp_universe, 84 }, 153221163Sadrian { "nds-servers", "IA", &dhcp_universe, 85 }, 154221163Sadrian { "nds-tree-name", "X", &dhcp_universe, 86 }, 155221163Sadrian { "nds-context", "X", &dhcp_universe, 87 }, 156221163Sadrian { "option-88", "X", &dhcp_universe, 88 }, 157221163Sadrian { "option-89", "X", &dhcp_universe, 89 }, 158221163Sadrian { "option-90", "X", &dhcp_universe, 90 }, 159221163Sadrian { "option-91", "X", &dhcp_universe, 91 }, 160221163Sadrian { "option-92", "X", &dhcp_universe, 92 }, 161221163Sadrian { "option-93", "X", &dhcp_universe, 93 }, 162221163Sadrian { "option-94", "X", &dhcp_universe, 94 }, 163221163Sadrian { "option-95", "X", &dhcp_universe, 95 }, 164221163Sadrian { "option-96", "X", &dhcp_universe, 96 }, 165221163Sadrian { "option-97", "X", &dhcp_universe, 97 }, 166221163Sadrian { "option-98", "X", &dhcp_universe, 98 }, 167221163Sadrian { "option-99", "X", &dhcp_universe, 99 }, 168221163Sadrian { "option-100", "X", &dhcp_universe, 100 }, 169221163Sadrian { "option-101", "X", &dhcp_universe, 101 }, 170221163Sadrian { "option-102", "X", &dhcp_universe, 102 }, 171221163Sadrian { "option-103", "X", &dhcp_universe, 103 }, 172221163Sadrian { "option-104", "X", &dhcp_universe, 104 }, 173221163Sadrian { "option-105", "X", &dhcp_universe, 105 }, 174221163Sadrian { "option-106", "X", &dhcp_universe, 106 }, 175221163Sadrian { "option-107", "X", &dhcp_universe, 107 }, 176221163Sadrian { "option-108", "X", &dhcp_universe, 108 }, 177221163Sadrian { "option-109", "X", &dhcp_universe, 109 }, 178221163Sadrian { "option-110", "X", &dhcp_universe, 110 }, 179221163Sadrian { "option-111", "X", &dhcp_universe, 111 }, 180221163Sadrian { "option-112", "X", &dhcp_universe, 112 }, 181221163Sadrian { "option-113", "X", &dhcp_universe, 113 }, 182221163Sadrian { "option-114", "X", &dhcp_universe, 114 }, 183221163Sadrian { "option-115", "X", &dhcp_universe, 115 }, 184221163Sadrian { "option-116", "X", &dhcp_universe, 116 }, 185221163Sadrian { "option-117", "X", &dhcp_universe, 117 }, 186221163Sadrian { "option-118", "X", &dhcp_universe, 118 }, 187221163Sadrian { "domain-search", "t", &dhcp_universe, 119 }, 188221163Sadrian { "option-120", "X", &dhcp_universe, 120 }, 189221163Sadrian { "classless-routes", "BA", &dhcp_universe, 121 }, 190221163Sadrian { "option-122", "X", &dhcp_universe, 122 }, 191221163Sadrian { "option-123", "X", &dhcp_universe, 123 }, 192221163Sadrian { "option-124", "X", &dhcp_universe, 124 }, 193221163Sadrian { "option-125", "X", &dhcp_universe, 125 }, 194221163Sadrian { "option-126", "X", &dhcp_universe, 126 }, 195221163Sadrian { "option-127", "X", &dhcp_universe, 127 }, 196221163Sadrian { "option-128", "X", &dhcp_universe, 128 }, 197221163Sadrian { "option-129", "X", &dhcp_universe, 129 }, 198221163Sadrian { "option-130", "X", &dhcp_universe, 130 }, 199221163Sadrian { "option-131", "X", &dhcp_universe, 131 }, 200221163Sadrian { "option-132", "X", &dhcp_universe, 132 }, 201221163Sadrian { "option-133", "X", &dhcp_universe, 133 }, 202221163Sadrian { "option-134", "X", &dhcp_universe, 134 }, 203221163Sadrian { "option-135", "X", &dhcp_universe, 135 }, 204221163Sadrian { "option-136", "X", &dhcp_universe, 136 }, 205221163Sadrian { "option-137", "X", &dhcp_universe, 137 }, 206221163Sadrian { "option-138", "X", &dhcp_universe, 138 }, 207221163Sadrian { "option-139", "X", &dhcp_universe, 139 }, 208221163Sadrian { "option-140", "X", &dhcp_universe, 140 }, 209221163Sadrian { "option-141", "X", &dhcp_universe, 141 }, 210221163Sadrian { "option-142", "X", &dhcp_universe, 142 }, 211221163Sadrian { "option-143", "X", &dhcp_universe, 143 }, 212221163Sadrian { "option-144", "X", &dhcp_universe, 144 }, 213221163Sadrian { "option-145", "X", &dhcp_universe, 145 }, 214221163Sadrian { "option-146", "X", &dhcp_universe, 146 }, 215221163Sadrian { "option-147", "X", &dhcp_universe, 147 }, 216221163Sadrian { "option-148", "X", &dhcp_universe, 148 }, 217221163Sadrian { "option-149", "X", &dhcp_universe, 149 }, 218221163Sadrian { "option-150", "X", &dhcp_universe, 150 }, 219221163Sadrian { "option-151", "X", &dhcp_universe, 151 }, 220221163Sadrian { "option-152", "X", &dhcp_universe, 152 }, 221221163Sadrian { "option-153", "X", &dhcp_universe, 153 }, 222221163Sadrian { "option-154", "X", &dhcp_universe, 154 }, 223221163Sadrian { "option-155", "X", &dhcp_universe, 155 }, 224221163Sadrian { "option-156", "X", &dhcp_universe, 156 }, 225221163Sadrian { "option-157", "X", &dhcp_universe, 157 }, 226221163Sadrian { "option-158", "X", &dhcp_universe, 158 }, 227221163Sadrian { "option-159", "X", &dhcp_universe, 159 }, 228221163Sadrian { "option-160", "X", &dhcp_universe, 160 }, 229221163Sadrian { "option-161", "X", &dhcp_universe, 161 }, 230221163Sadrian { "option-162", "X", &dhcp_universe, 162 }, 231221163Sadrian { "option-163", "X", &dhcp_universe, 163 }, 232221163Sadrian { "option-164", "X", &dhcp_universe, 164 }, 233221163Sadrian { "option-165", "X", &dhcp_universe, 165 }, 234221163Sadrian { "option-166", "X", &dhcp_universe, 166 }, 235221163Sadrian { "option-167", "X", &dhcp_universe, 167 }, 236221163Sadrian { "option-168", "X", &dhcp_universe, 168 }, 237221163Sadrian { "option-169", "X", &dhcp_universe, 169 }, 238221163Sadrian { "option-170", "X", &dhcp_universe, 170 }, 239221163Sadrian { "option-171", "X", &dhcp_universe, 171 }, 240221163Sadrian { "option-172", "X", &dhcp_universe, 172 }, 241221163Sadrian { "option-173", "X", &dhcp_universe, 173 }, 242221163Sadrian { "option-174", "X", &dhcp_universe, 174 }, 243221163Sadrian { "option-175", "X", &dhcp_universe, 175 }, 244221163Sadrian { "option-176", "X", &dhcp_universe, 176 }, 245221163Sadrian { "option-177", "X", &dhcp_universe, 177 }, 246221163Sadrian { "option-178", "X", &dhcp_universe, 178 }, 247221163Sadrian { "option-179", "X", &dhcp_universe, 179 }, 248221163Sadrian { "option-180", "X", &dhcp_universe, 180 }, 249221163Sadrian { "option-181", "X", &dhcp_universe, 181 }, 250221163Sadrian { "option-182", "X", &dhcp_universe, 182 }, 251221163Sadrian { "option-183", "X", &dhcp_universe, 183 }, 252221163Sadrian { "option-184", "X", &dhcp_universe, 184 }, 253221163Sadrian { "option-185", "X", &dhcp_universe, 185 }, 254221163Sadrian { "option-186", "X", &dhcp_universe, 186 }, 255221163Sadrian { "option-187", "X", &dhcp_universe, 187 }, 256221163Sadrian { "option-188", "X", &dhcp_universe, 188 }, 257221163Sadrian { "option-189", "X", &dhcp_universe, 189 }, 258221163Sadrian { "option-190", "X", &dhcp_universe, 190 }, 259221163Sadrian { "option-191", "X", &dhcp_universe, 191 }, 260221163Sadrian { "option-192", "X", &dhcp_universe, 192 }, 261221163Sadrian { "option-193", "X", &dhcp_universe, 193 }, 262221163Sadrian { "option-194", "X", &dhcp_universe, 194 }, 263221163Sadrian { "option-195", "X", &dhcp_universe, 195 }, 264221163Sadrian { "option-196", "X", &dhcp_universe, 196 }, 265221163Sadrian { "option-197", "X", &dhcp_universe, 197 }, 266221163Sadrian { "option-198", "X", &dhcp_universe, 198 }, 267221163Sadrian { "option-199", "X", &dhcp_universe, 199 }, 268221163Sadrian { "option-200", "X", &dhcp_universe, 200 }, 269221163Sadrian { "option-201", "X", &dhcp_universe, 201 }, 270221163Sadrian { "option-202", "X", &dhcp_universe, 202 }, 271221163Sadrian { "option-203", "X", &dhcp_universe, 203 }, 272221163Sadrian { "option-204", "X", &dhcp_universe, 204 }, 273221163Sadrian { "option-205", "X", &dhcp_universe, 205 }, 274221163Sadrian { "option-206", "X", &dhcp_universe, 206 }, 275221163Sadrian { "option-207", "X", &dhcp_universe, 207 }, 276221163Sadrian { "option-208", "X", &dhcp_universe, 208 }, 277221163Sadrian { "option-209", "X", &dhcp_universe, 209 }, 278221163Sadrian { "option-210", "X", &dhcp_universe, 210 }, 279221163Sadrian { "option-211", "X", &dhcp_universe, 211 }, 280221163Sadrian { "option-212", "X", &dhcp_universe, 212 }, 281221163Sadrian { "option-213", "X", &dhcp_universe, 213 }, 282221163Sadrian { "option-214", "X", &dhcp_universe, 214 }, 283221163Sadrian { "option-215", "X", &dhcp_universe, 215 }, 284221163Sadrian { "option-216", "X", &dhcp_universe, 216 }, 285221163Sadrian { "option-217", "X", &dhcp_universe, 217 }, 286221163Sadrian { "option-218", "X", &dhcp_universe, 218 }, 287221163Sadrian { "option-219", "X", &dhcp_universe, 219 }, 288221163Sadrian { "option-220", "X", &dhcp_universe, 220 }, 289221163Sadrian { "option-221", "X", &dhcp_universe, 221 }, 290221163Sadrian { "option-222", "X", &dhcp_universe, 222 }, 291221163Sadrian { "option-223", "X", &dhcp_universe, 223 }, 292221163Sadrian { "option-224", "X", &dhcp_universe, 224 }, 293221163Sadrian { "option-225", "X", &dhcp_universe, 225 }, 294221163Sadrian { "option-226", "X", &dhcp_universe, 226 }, 295221163Sadrian { "option-227", "X", &dhcp_universe, 227 }, 296221163Sadrian { "option-228", "X", &dhcp_universe, 228 }, 297221163Sadrian { "option-229", "X", &dhcp_universe, 229 }, 298221163Sadrian { "option-230", "X", &dhcp_universe, 230 }, 299221163Sadrian { "option-231", "X", &dhcp_universe, 231 }, 300221163Sadrian { "option-232", "X", &dhcp_universe, 232 }, 301221163Sadrian { "option-233", "X", &dhcp_universe, 233 }, 302221163Sadrian { "option-234", "X", &dhcp_universe, 234 }, 303221163Sadrian { "option-235", "X", &dhcp_universe, 235 }, 304221163Sadrian { "option-236", "X", &dhcp_universe, 236 }, 305221163Sadrian { "option-237", "X", &dhcp_universe, 237 }, 306221163Sadrian { "option-238", "X", &dhcp_universe, 238 }, 307221163Sadrian { "option-239", "X", &dhcp_universe, 239 }, 308221163Sadrian { "option-240", "X", &dhcp_universe, 240 }, 309221163Sadrian { "option-241", "X", &dhcp_universe, 241 }, 310221163Sadrian { "option-242", "X", &dhcp_universe, 242 }, 311221163Sadrian { "option-243", "X", &dhcp_universe, 243 }, 312221163Sadrian { "option-244", "X", &dhcp_universe, 244 }, 313221163Sadrian { "option-245", "X", &dhcp_universe, 245 }, 314221163Sadrian { "option-246", "X", &dhcp_universe, 246 }, 315221163Sadrian { "option-247", "X", &dhcp_universe, 247 }, 316221163Sadrian { "option-248", "X", &dhcp_universe, 248 }, 317221163Sadrian { "option-249", "X", &dhcp_universe, 249 }, 318221163Sadrian { "option-250", "X", &dhcp_universe, 250 }, 319221163Sadrian { "option-251", "X", &dhcp_universe, 251 }, 320221163Sadrian { "option-252", "X", &dhcp_universe, 252 }, 321221163Sadrian { "option-253", "X", &dhcp_universe, 253 }, 322221163Sadrian { "option-254", "X", &dhcp_universe, 254 }, 323221163Sadrian { "option-end", "e", &dhcp_universe, 255 }, 324221163Sadrian}; 325221163Sadrian 326221163Sadrian/* 327221163Sadrian * Default dhcp option priority list (this is ad hoc and should not be 328221163Sadrian * mistaken for a carefully crafted and optimized list). 329221163Sadrian */ 330221163Sadrianunsigned char dhcp_option_default_priority_list[] = { 331221163Sadrian DHO_DHCP_REQUESTED_ADDRESS, 332221163Sadrian DHO_DHCP_OPTION_OVERLOAD, 333221163Sadrian DHO_DHCP_MAX_MESSAGE_SIZE, 334221163Sadrian DHO_DHCP_RENEWAL_TIME, 335221163Sadrian DHO_DHCP_REBINDING_TIME, 336221163Sadrian DHO_DHCP_CLASS_IDENTIFIER, 337221163Sadrian DHO_DHCP_CLIENT_IDENTIFIER, 338221163Sadrian DHO_SUBNET_MASK, 339221163Sadrian DHO_TIME_OFFSET, 340221163Sadrian DHO_CLASSLESS_ROUTES, 341221163Sadrian DHO_ROUTERS, 342221163Sadrian DHO_TIME_SERVERS, 343221163Sadrian DHO_NAME_SERVERS, 344221163Sadrian DHO_DOMAIN_NAME_SERVERS, 345221163Sadrian DHO_HOST_NAME, 346221163Sadrian DHO_LOG_SERVERS, 347221163Sadrian DHO_COOKIE_SERVERS, 348221163Sadrian DHO_LPR_SERVERS, 349221163Sadrian DHO_IMPRESS_SERVERS, 350221163Sadrian DHO_RESOURCE_LOCATION_SERVERS, 351221163Sadrian DHO_HOST_NAME, 352221163Sadrian DHO_BOOT_SIZE, 353221163Sadrian DHO_MERIT_DUMP, 354221163Sadrian DHO_DOMAIN_NAME, 355221163Sadrian DHO_SWAP_SERVER, 356221163Sadrian DHO_ROOT_PATH, 357221163Sadrian DHO_EXTENSIONS_PATH, 358221163Sadrian DHO_IP_FORWARDING, 359221163Sadrian DHO_NON_LOCAL_SOURCE_ROUTING, 360221163Sadrian DHO_POLICY_FILTER, 361221163Sadrian DHO_MAX_DGRAM_REASSEMBLY, 362221163Sadrian DHO_DEFAULT_IP_TTL, 363221163Sadrian DHO_PATH_MTU_AGING_TIMEOUT, 364221163Sadrian DHO_PATH_MTU_PLATEAU_TABLE, 365221163Sadrian DHO_INTERFACE_MTU, 366221163Sadrian DHO_ALL_SUBNETS_LOCAL, 367221163Sadrian DHO_BROADCAST_ADDRESS, 368221163Sadrian DHO_PERFORM_MASK_DISCOVERY, 369221163Sadrian DHO_MASK_SUPPLIER, 370221163Sadrian DHO_ROUTER_DISCOVERY, 371221163Sadrian DHO_ROUTER_SOLICITATION_ADDRESS, 372221163Sadrian DHO_STATIC_ROUTES, 373221163Sadrian DHO_TRAILER_ENCAPSULATION, 374221163Sadrian DHO_ARP_CACHE_TIMEOUT, 375221163Sadrian DHO_IEEE802_3_ENCAPSULATION, 376221163Sadrian DHO_DEFAULT_TCP_TTL, 377221163Sadrian DHO_TCP_KEEPALIVE_INTERVAL, 378221163Sadrian DHO_TCP_KEEPALIVE_GARBAGE, 379221163Sadrian DHO_NIS_DOMAIN, 380221163Sadrian DHO_NIS_SERVERS, 381221163Sadrian DHO_NTP_SERVERS, 382221163Sadrian DHO_VENDOR_ENCAPSULATED_OPTIONS, 383221163Sadrian DHO_NETBIOS_NAME_SERVERS, 384221163Sadrian DHO_NETBIOS_DD_SERVER, 385221163Sadrian DHO_NETBIOS_NODE_TYPE, 386221163Sadrian DHO_NETBIOS_SCOPE, 387221163Sadrian DHO_FONT_SERVERS, 388221163Sadrian DHO_X_DISPLAY_MANAGER, 389221163Sadrian DHO_DHCP_PARAMETER_REQUEST_LIST, 390221163Sadrian DHO_NISPLUS_DOMAIN, 391221163Sadrian DHO_NISPLUS_SERVERS, 392221163Sadrian DHO_TFTP_SERVER_NAME, 393221163Sadrian DHO_BOOTFILE_NAME, 394221163Sadrian DHO_MOBILE_IP_HOME_AGENT, 395221163Sadrian DHO_SMTP_SERVER, 396221163Sadrian DHO_POP_SERVER, 397221163Sadrian DHO_NNTP_SERVER, 398221163Sadrian DHO_WWW_SERVER, 399221163Sadrian DHO_FINGER_SERVER, 400221163Sadrian DHO_IRC_SERVER, 401221163Sadrian DHO_STREETTALK_SERVER, 402221163Sadrian DHO_STREETTALK_DA_SERVER, 403221163Sadrian DHO_DOMAIN_SEARCH, 404221163Sadrian 405221163Sadrian /* Presently-undefined options... */ 406221163Sadrian 62, 63, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 407221163Sadrian 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 408221163Sadrian 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 409221163Sadrian 118, 120, 122, 123, 124, 125, 126, 127, 128, 129, 130, 410221163Sadrian 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 411221163Sadrian 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 412221163Sadrian 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 413221163Sadrian 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 414221163Sadrian 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 415221163Sadrian 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 416221163Sadrian 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 417221163Sadrian 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 418221163Sadrian 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 419221163Sadrian 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 420221163Sadrian 251, 252, 253, 254, 421221163Sadrian}; 422221163Sadrian 423221163Sadrianint sizeof_dhcp_option_default_priority_list = 424221163Sadrian sizeof(dhcp_option_default_priority_list); 425221163Sadrian 426221163Sadrianstruct hash_table universe_hash; 427221163Sadrian 428221163Sadrianvoid 429221163Sadrianinitialize_universes(void) 430221163Sadrian{ 431221163Sadrian int i; 432221163Sadrian 433221163Sadrian dhcp_universe.name = "dhcp"; 434221163Sadrian dhcp_universe.hash = new_hash(); 435221163Sadrian if (!dhcp_universe.hash) 436221163Sadrian error("Can't allocate dhcp option hash table."); 437221163Sadrian for (i = 0; i < 256; i++) { 438221163Sadrian dhcp_universe.options[i] = &dhcp_options[i]; 439221163Sadrian add_hash(dhcp_universe.hash, 440221163Sadrian (unsigned char *)dhcp_options[i].name, 0, 441221163Sadrian (unsigned char *)&dhcp_options[i]); 442221163Sadrian } 443221163Sadrian universe_hash.hash_count = DEFAULT_HASH_SIZE; 444221163Sadrian add_hash(&universe_hash, 445221163Sadrian (unsigned char *)dhcp_universe.name, 0, 446221163Sadrian (unsigned char *)&dhcp_universe); 447221163Sadrian} 448221163Sadrian