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