Documentation
Includes
lwip/opt.h
#include "lwip/opt.h"
lwip/arch.h
#include "lwip/arch.h"
lwip/prot/ip4.h
#include "lwip/prot/ip4.h"
Macros
Marco LWIP_HDR_PROT_DHCP_H
#define LWIP_HDR_PROT_DHCP_H
Marco DHCP_CHADDR_LEN
#define DHCP_CHADDR_LEN 16U
Marco DHCP_SNAME_OFS
#define DHCP_SNAME_OFS 44U
Marco DHCP_SNAME_LEN
#define DHCP_SNAME_LEN 64U
Marco DHCP_FILE_OFS
#define DHCP_FILE_OFS 108U
Marco DHCP_FILE_LEN
#define DHCP_FILE_LEN 128U
Marco DHCP_MSG_LEN
#define DHCP_MSG_LEN 236U
Marco DHCP_OPTIONS_OFS
#define DHCP_OPTIONS_OFS (DHCP_MSG_LEN + 4U) /* 4 byte: cookie */
Marco DHCP_BOOTREQUEST
#define DHCP_BOOTREQUEST 1
Marco DHCP_BOOTREPLY
#define DHCP_BOOTREPLY 2
Marco DHCP_DISCOVER
#define DHCP_DISCOVER 1
Marco DHCP_OFFER
#define DHCP_OFFER 2
Marco DHCP_REQUEST
#define DHCP_REQUEST 3
Marco DHCP_DECLINE
#define DHCP_DECLINE 4
Marco DHCP_ACK
#define DHCP_ACK 5
Marco DHCP_NAK
#define DHCP_NAK 6
Marco DHCP_RELEASE
#define DHCP_RELEASE 7
#define DHCP_INFORM 8
Marco DHCP_MAGIC_COOKIE
#define DHCP_MAGIC_COOKIE 0x63825363UL
Marco DHCP_OPTION_PAD
#define DHCP_OPTION_PAD 0
Marco DHCP_OPTION_SUBNET_MASK
#define DHCP_OPTION_SUBNET_MASK 1 /* RFC 2132 3.3 */
Marco DHCP_OPTION_ROUTER
#define DHCP_OPTION_ROUTER 3
Marco DHCP_OPTION_DNS_SERVER
#define DHCP_OPTION_DNS_SERVER 6
Marco DHCP_OPTION_HOSTNAME
#define DHCP_OPTION_HOSTNAME 12
Marco DHCP_OPTION_IP_TTL
#define DHCP_OPTION_IP_TTL 23
Marco DHCP_OPTION_MTU
#define DHCP_OPTION_MTU 26
Marco DHCP_OPTION_BROADCAST
#define DHCP_OPTION_BROADCAST 28
Marco DHCP_OPTION_TCP_TTL
#define DHCP_OPTION_TCP_TTL 37
Marco DHCP_OPTION_NTP
#define DHCP_OPTION_NTP 42
Marco DHCP_OPTION_END
#define DHCP_OPTION_END 255
Marco DHCP_OPTION_REQUESTED_IP
#define DHCP_OPTION_REQUESTED_IP 50 /* RFC 2132 9.1, requested IP address */
Marco DHCP_OPTION_LEASE_TIME
#define DHCP_OPTION_LEASE_TIME 51 /* RFC 2132 9.2, time in seconds, in 4 bytes */
Marco DHCP_OPTION_OVERLOAD
#define DHCP_OPTION_OVERLOAD 52 /* RFC2132 9.3, use file and/or sname field for options */
Marco DHCP_OPTION_MESSAGE_TYPE
#define DHCP_OPTION_MESSAGE_TYPE 53 /* RFC 2132 9.6, important for DHCP */
Marco DHCP_OPTION_MESSAGE_TYPE_LEN
#define DHCP_OPTION_MESSAGE_TYPE_LEN 1
Marco DHCP_OPTION_SERVER_ID
#define DHCP_OPTION_SERVER_ID 54 /* RFC 2132 9.7, server IP address */
Marco DHCP_OPTION_PARAMETER_REQUEST_LIST
#define DHCP_OPTION_PARAMETER_REQUEST_LIST 55 /* RFC 2132 9.8, requested option types */
Marco DHCP_OPTION_MAX_MSG_SIZE
#define DHCP_OPTION_MAX_MSG_SIZE 57 /* RFC 2132 9.10, message size accepted >= 576 */
Marco DHCP_OPTION_MAX_MSG_SIZE_LEN
#define DHCP_OPTION_MAX_MSG_SIZE_LEN 2
Marco DHCP_OPTION_T1
#define DHCP_OPTION_T1 58 /* T1 renewal time */
Marco DHCP_OPTION_T2
#define DHCP_OPTION_T2 59 /* T2 rebinding time */
Marco DHCP_OPTION_US
#define DHCP_OPTION_US 60
Marco DHCP_OPTION_CLIENT_ID
#define DHCP_OPTION_CLIENT_ID 61
Marco DHCP_OPTION_TFTP_SERVERNAME
#define DHCP_OPTION_TFTP_SERVERNAME 66
Marco DHCP_OPTION_BOOTFILE
#define DHCP_OPTION_BOOTFILE 67
Marco DHCP_OVERLOAD_NONE
#define DHCP_OVERLOAD_NONE 0
Marco DHCP_OVERLOAD_FILE
#define DHCP_OVERLOAD_FILE 1
Marco DHCP_OVERLOAD_SNAME
#define DHCP_OVERLOAD_SNAME 2
Marco DHCP_OVERLOAD_SNAME_FILE
#define DHCP_OVERLOAD_SNAME_FILE 3
Functions
Vars
Variable PACK_STRUCT_END
PACK_STRUCT_END
#ifdef PACK_STRUCT_USE_INCLUDES
# include "arch/epstruct.h"
#endif
/* DHCP client states */
typedef enum {
DHCP_STATE_OFF = 0,
DHCP_STATE_REQUESTING = 1,
DHCP_STATE_INIT = 2,
DHCP_STATE_REBOOTING = 3,
DHCP_STATE_REBINDING = 4,
DHCP_STATE_RENEWING = 5,
DHCP_STATE_SELECTING = 6,
DHCP_STATE_INFORMING = 7,
DHCP_STATE_CHECKING = 8,
DHCP_STATE_PERMANENT = 9, /* not yet implemented */
DHCP_STATE_BOUND = 10,
DHCP_STATE_RELEASING = 11, /* not yet implemented */
DHCP_STATE_BACKING_OFF = 12
} dhcp_state_enum_t;
Consts
Types
Typedefs