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 #ifdef __cplusplus 17 extern "C" { 18 #endif 19 /** DHCP Options 20 21 This macros are not part of the public dhcpserver.h interface. 22 **/ 23 typedef enum 24 { 25 /* RFC 1497 Vendor Extensions */ 26 27 PAD = 0, 28 END = 255, 29 30 SUBNET_MASK = 1, 31 TIME_OFFSET = 2, 32 ROUTER = 3, 33 TIME_SERVER = 4, 34 NAME_SERVER = 5, 35 DOMAIN_NAME_SERVER = 6, 36 LOG_SERVER = 7, 37 COOKIE_SERVER = 8, 38 LPR_SERVER = 9, 39 IMPRESS_SERVER = 10, 40 RESOURCE_LOCATION_SERVER = 11, 41 HOST_NAME = 12, 42 BOOT_FILE_SIZE = 13, 43 MERIT_DUMP_FILE = 14, 44 DOMAIN_NAME = 15, 45 SWAP_SERVER = 16, 46 ROOT_PATH = 17, 47 EXTENSIONS_PATH = 18, 48 49 /* IP Layer Parameters per Host */ 50 51 IP_FORWARDING = 19, 52 NON_LOCAL_SOURCE_ROUTING = 20, 53 POLICY_FILTER = 21, 54 MAXIMUM_DATAGRAM_REASSEMBLY_SIZE = 22, 55 DEFAULT_IP_TIME_TO_LIVE = 23, 56 PATH_MTU_AGING_TIMEOUT = 24, 57 PATH_MTU_PLATEAU_TABLE = 25, 58 59 /* IP Layer Parameters per Interface */ 60 61 INTERFACE_MTU = 26, 62 ALL_SUBNETS_ARE_LOCAL = 27, 63 BROADCAST_ADDRESS = 28, 64 PERFORM_MASK_DISCOVERY = 29, 65 MASK_SUPPLIER = 30, 66 PERFORM_ROUTER_DISCOVERY = 31, 67 ROUTER_SOLICITATION_ADDRESS = 32, 68 STATIC_ROUTE = 33, 69 70 /* Link Layer Parameters per Interface */ 71 72 TRAILER_ENCAPSULATION = 34, 73 ARP_CACHE_TIMEOUT = 35, 74 ETHERNET_ENCAPSULATION = 36, 75 76 /* TCP Parameters */ 77 78 TCP_DEFAULT_TTL = 37, 79 TCP_KEEPALIVE_INTERVAL = 38, 80 TCP_KEEPALIVE_GARBAGE = 39, 81 82 /* Application and Service Parameters */ 83 84 NETWORK_INFORMATION_SERVICE_DOMAIN = 40, 85 NETWORK_INFORMATION_SERVERS = 41, 86 NETWORK_TIME_PROTOCOL_SERVERS = 42, 87 VENDOR_SPECIFIC_INFORMATION = 43, 88 NETBIOS_OVER_TCP_IP_NAME_SERVER = 44, 89 NETBIOS_OVER_TCP_IP_DATAGRAM_DISTRIBUTION_SERVER = 45, 90 NETBIOS_OVER_TCP_IP_NODE_TYPE = 46, 91 NETBIOS_OVER_TCP_IP_SCOPE = 47, 92 X_WINDOW_SYSTEM_FONT_SERVER = 48, 93 X_WINDOW_SYSTEM_DISPLAY_MANAGER = 49, 94 NETWORK_INFORMATION_SERVICE_PLUS_DOMAIN = 64, 95 NETWORK_INFORMATION_SERVICE_PLUS_SERVERS = 65, 96 MOBILE_IP_HOME_AGENT = 68, 97 SMTP_SERVER = 69, 98 POP3_SERVER = 70, 99 NNTP_SERVER = 71, 100 DEFAULT_WWW_SERVER = 72, 101 DEFAULT_FINGER_SERVER = 73, 102 DEFAULT_IRC_SERVER = 74, 103 STREETTALK_SERVER = 75, 104 STREETTALK_DIRECTORY_ASSISTANCE_SERVER = 76, 105 106 /* DHCP Extensions */ 107 108 REQUESTED_IP_ADDRESS = 50, 109 IP_ADDRESS_LEASE_TIME = 51, 110 OPTION_OVERLOAD = 52, 111 TFTP_SERVER_NAME = 66, 112 BOOTFILE_NAME = 67, 113 DHCP_MESSAGE_TYPE = 53, 114 SERVER_IDENTIFIER = 54, 115 PARAMETER_REQUEST_LIST = 55, 116 MESSAGE = 56, 117 MAXIMUM_DHCP_MESSAGE_SIZE = 57, 118 RENEWAL_T1_TIME_VALUE = 58, 119 REBINDING_T2_TIME_VALUE = 59, 120 VENDOR_CLASS_IDENTIFIER = 60, 121 CLIENT_IDENTIFIER = 61, 122 123 USER_CLASS = 77, 124 FQDN = 81, 125 DHCP_AGENT_OPTIONS = 82, 126 NDS_SERVERS = 85, 127 NDS_TREE_NAME = 86, 128 NDS_CONTEXT = 87, 129 CLIENT_LAST_TRANSACTION_TIME = 91, 130 ASSOCIATED_IP = 92, 131 USER_AUTHENTICATION_PROTOCOL = 98, 132 AUTO_CONFIGURE = 116, 133 NAME_SERVICE_SEARCH = 117, 134 SUBNET_SELECTION = 118, 135 DOMAIN_SEARCH = 119, 136 CLASSLESS_ROUTE = 121, 137 } dhcp_msg_option; 138 139 #ifdef __cplusplus 140 } 141 #endif 142