1 // Copyright 2017 Espressif Systems (Shanghai) PTE LTD 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 #pragma once 15 16 /** DHCP Options 17 18 This macros are not part of the public dhcpserver.h interface. 19 **/ 20 typedef enum 21 { 22 /* RFC 1497 Vendor Extensions */ 23 24 PAD = 0, 25 END = 255, 26 27 SUBNET_MASK = 1, 28 TIME_OFFSET = 2, 29 ROUTER = 3, 30 TIME_SERVER = 4, 31 NAME_SERVER = 5, 32 DOMAIN_NAME_SERVER = 6, 33 LOG_SERVER = 7, 34 COOKIE_SERVER = 8, 35 LPR_SERVER = 9, 36 IMPRESS_SERVER = 10, 37 RESOURCE_LOCATION_SERVER = 11, 38 HOST_NAME = 12, 39 BOOT_FILE_SIZE = 13, 40 MERIT_DUMP_FILE = 14, 41 DOMAIN_NAME = 15, 42 SWAP_SERVER = 16, 43 ROOT_PATH = 17, 44 EXTENSIONS_PATH = 18, 45 46 /* IP Layer Parameters per Host */ 47 48 IP_FORWARDING = 19, 49 NON_LOCAL_SOURCE_ROUTING = 20, 50 POLICY_FILTER = 21, 51 MAXIMUM_DATAGRAM_REASSEMBLY_SIZE = 22, 52 DEFAULT_IP_TIME_TO_LIVE = 23, 53 PATH_MTU_AGING_TIMEOUT = 24, 54 PATH_MTU_PLATEAU_TABLE = 25, 55 56 /* IP Layer Parameters per Interface */ 57 58 INTERFACE_MTU = 26, 59 ALL_SUBNETS_ARE_LOCAL = 27, 60 BROADCAST_ADDRESS = 28, 61 PERFORM_MASK_DISCOVERY = 29, 62 MASK_SUPPLIER = 30, 63 PERFORM_ROUTER_DISCOVERY = 31, 64 ROUTER_SOLICITATION_ADDRESS = 32, 65 STATIC_ROUTE = 33, 66 67 /* Link Layer Parameters per Interface */ 68 69 TRAILER_ENCAPSULATION = 34, 70 ARP_CACHE_TIMEOUT = 35, 71 ETHERNET_ENCAPSULATION = 36, 72 73 /* TCP Parameters */ 74 75 TCP_DEFAULT_TTL = 37, 76 TCP_KEEPALIVE_INTERVAL = 38, 77 TCP_KEEPALIVE_GARBAGE = 39, 78 79 /* Application and Service Parameters */ 80 81 NETWORK_INFORMATION_SERVICE_DOMAIN = 40, 82 NETWORK_INFORMATION_SERVERS = 41, 83 NETWORK_TIME_PROTOCOL_SERVERS = 42, 84 VENDOR_SPECIFIC_INFORMATION = 43, 85 NETBIOS_OVER_TCP_IP_NAME_SERVER = 44, 86 NETBIOS_OVER_TCP_IP_DATAGRAM_DISTRIBUTION_SERVER = 45, 87 NETBIOS_OVER_TCP_IP_NODE_TYPE = 46, 88 NETBIOS_OVER_TCP_IP_SCOPE = 47, 89 X_WINDOW_SYSTEM_FONT_SERVER = 48, 90 X_WINDOW_SYSTEM_DISPLAY_MANAGER = 49, 91 NETWORK_INFORMATION_SERVICE_PLUS_DOMAIN = 64, 92 NETWORK_INFORMATION_SERVICE_PLUS_SERVERS = 65, 93 MOBILE_IP_HOME_AGENT = 68, 94 SMTP_SERVER = 69, 95 POP3_SERVER = 70, 96 NNTP_SERVER = 71, 97 DEFAULT_WWW_SERVER = 72, 98 DEFAULT_FINGER_SERVER = 73, 99 DEFAULT_IRC_SERVER = 74, 100 STREETTALK_SERVER = 75, 101 STREETTALK_DIRECTORY_ASSISTANCE_SERVER = 76, 102 103 /* DHCP Extensions */ 104 105 REQUESTED_IP_ADDRESS = 50, 106 IP_ADDRESS_LEASE_TIME = 51, 107 OPTION_OVERLOAD = 52, 108 TFTP_SERVER_NAME = 66, 109 BOOTFILE_NAME = 67, 110 DHCP_MESSAGE_TYPE = 53, 111 SERVER_IDENTIFIER = 54, 112 PARAMETER_REQUEST_LIST = 55, 113 MESSAGE = 56, 114 MAXIMUM_DHCP_MESSAGE_SIZE = 57, 115 RENEWAL_T1_TIME_VALUE = 58, 116 REBINDING_T2_TIME_VALUE = 59, 117 VENDOR_CLASS_IDENTIFIER = 60, 118 CLIENT_IDENTIFIER = 61, 119 120 USER_CLASS = 77, 121 FQDN = 81, 122 DHCP_AGENT_OPTIONS = 82, 123 NDS_SERVERS = 85, 124 NDS_TREE_NAME = 86, 125 NDS_CONTEXT = 87, 126 CLIENT_LAST_TRANSACTION_TIME = 91, 127 ASSOCIATED_IP = 92, 128 USER_AUTHENTICATION_PROTOCOL = 98, 129 AUTO_CONFIGURE = 116, 130 NAME_SERVICE_SEARCH = 117, 131 SUBNET_SELECTION = 118, 132 DOMAIN_SEARCH = 119, 133 CLASSLESS_ROUTE = 121, 134 } dhcp_msg_option; 135