TuyaOS
结构体 | 宏定义 | 枚举 | 常量
dhcp.h 文件参考
#include "lwip/opt.h"
#include "lwip/arch.h"
#include "lwip/prot/ip4.h"
dhcp.h 的引用(Include)关系图:

浏览源代码.

结构体

struct  dhcp_msg
 

宏定义

#define DHCP_ACK   5
 
#define DHCP_BOOTREPLY   2
 
#define DHCP_BOOTREQUEST   1
 
#define DHCP_CHADDR_LEN   16U
 
#define DHCP_DECLINE   4
 
#define DHCP_DISCOVER   1
 
#define DHCP_FILE_LEN   128U
 
#define DHCP_FILE_OFS   108U
 
#define DHCP_INFORM   8
 
#define DHCP_MAGIC_COOKIE   0x63825363UL
 
#define DHCP_MIN_OPTIONS_LEN   68U
 
#define DHCP_MSG_LEN   236U
 
#define DHCP_NAK   6
 
#define DHCP_OFFER   2
 
#define DHCP_OPTION_BOOTFILE   67
 
#define DHCP_OPTION_BROADCAST   28
 
#define DHCP_OPTION_CLIENT_ID   61
 
#define DHCP_OPTION_DNS_SERVER   6
 
#define DHCP_OPTION_END   255
 
#define DHCP_OPTION_HOSTNAME   12
 
#define DHCP_OPTION_IP_TTL   23
 
#define DHCP_OPTION_LEASE_TIME   51 /* RFC 2132 9.2, time in seconds, in 4 bytes */
 
#define DHCP_OPTION_MAX_MSG_SIZE   57 /* RFC 2132 9.10, message size accepted >= 576 */
 
#define DHCP_OPTION_MAX_MSG_SIZE_LEN   2
 
#define DHCP_OPTION_MESSAGE_TYPE   53 /* RFC 2132 9.6, important for DHCP */
 
#define DHCP_OPTION_MESSAGE_TYPE_LEN   1
 
#define DHCP_OPTION_MTU   26
 
#define DHCP_OPTION_NTP   42
 
#define DHCP_OPTION_OVERLOAD   52 /* RFC2132 9.3, use file and/or sname field for options */
 
#define DHCP_OPTION_PAD   0
 
#define DHCP_OPTION_PARAMETER_REQUEST_LIST   55 /* RFC 2132 9.8, requested option types */
 
#define DHCP_OPTION_REQUESTED_IP   50 /* RFC 2132 9.1, requested IP address */
 
#define DHCP_OPTION_ROUTER   3
 
#define DHCP_OPTION_SERVER_ID   54 /* RFC 2132 9.7, server IP address */
 
#define DHCP_OPTION_SUBNET_MASK   1 /* RFC 2132 3.3 */
 
#define DHCP_OPTION_T1   58 /* T1 renewal time */
 
#define DHCP_OPTION_T2   59 /* T2 rebinding time */
 
#define DHCP_OPTION_TCP_TTL   37
 
#define DHCP_OPTION_TFTP_SERVERNAME   66
 
#define DHCP_OPTION_US   60
 
#define DHCP_OPTIONS_LEN   DHCP_MIN_OPTIONS_LEN
 
#define DHCP_OPTIONS_OFS   (DHCP_MSG_LEN + 4U) /* 4 byte: cookie */
 
#define DHCP_OVERLOAD_FILE   1
 
#define DHCP_OVERLOAD_NONE   0
 
#define DHCP_OVERLOAD_SNAME   2
 
#define DHCP_OVERLOAD_SNAME_FILE   3
 
#define DHCP_RELEASE   7
 
#define DHCP_REQUEST   3
 
#define DHCP_SNAME_LEN   64U
 
#define DHCP_SNAME_OFS   44U
 

枚举

enum  dhcp_state_enum_t {
  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 , DHCP_STATE_BOUND = 10 , DHCP_STATE_RELEASING = 11 ,
  DHCP_STATE_BACKING_OFF = 12
}
 

常量

PACK_STRUCT_BEGIN struct dhcp_msg PACK_STRUCT_STRUCT
 

详细描述

DHCP protocol definitions

宏定义说明

◆ DHCP_OPTIONS_LEN

#define DHCP_OPTIONS_LEN   DHCP_MIN_OPTIONS_LEN

make sure user does not configure this too small allow this to be configured in lwipopts.h, but not too small set this to be sufficient for your options in outgoing DHCP msgs