- /** DHCP message option for the network subnet mask. */
- #define DHCP_OPTION_SUBNET_MASK 1
-
- /** DHCP message option for the network gateway IP. */
- #define DHCP_OPTION_ROUTER 3
-
- /** DHCP message option for the network DNS server. */
- #define DHCP_OPTION_DNS_SERVER 6
-
- /** DHCP message option for the requested client IP address. */
- #define DHCP_OPTION_REQ_IPADDR 50
-
- /** DHCP message option for the IP address lease time. */
- #define DHCP_OPTION_LEASE_TIME 51
-
- /** DHCP message option for the DHCP message type. */
- #define DHCP_OPTION_MSG_TYPE 53
-
- /** DHCP message option for the DHCP server IP. */
- #define DHCP_OPTION_SERVER_ID 54
-
- /** DHCP message option for the list of required options from the server. */
- #define DHCP_OPTION_REQ_LIST 55
-
- /** DHCP message option for the options list terminator. */
- #define DHCP_OPTION_END 255
-
- /* Type Defines: */
- /** Type define for a DHCP packet inside an Ethernet frame. */
- typedef struct
- {
- uint8_t Operation; /**< DHCP operation, either DHCP_OP_BOOTREQUEST or DHCP_OP_BOOTREPLY */
- uint8_t HardwareType; /**< Hardware carrier type constant */
- uint8_t HardwareAddressLength; /**< Length in bytes of a hardware (MAC) address on the network */
- uint8_t Hops; /**< Number of hops required to reach the server, unused */
-
- uint32_t TransactionID; /**< Unique ID of the DHCP packet, for positive matching between sent and received packets */