TuyaOS
lwip_dhcpc.h
浏览该文件的文档.
1
9#ifndef __LWIP_DHCPC_H
10#define __LWIP_DHCPC_H
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
16#include "lwip/tcpip.h"
17#include "lwip/init.h" //for lwip version control
18#include "lwip/err.h"
19
20/***********************************************************
21*************************micro define***********************
22***********************************************************/
23/* state machine of dhcp client */
24typedef enum {
25 DHCP_START = 0, //启动DHCP CLIENT
26 DHCP_WAIT_ADDRESS, //IP地址获取中
27 DHCP_ADDRESS_ASSIGNED, //已经获取到IP地址
28 DHCP_RELEASE_IP, //释放IP地址
29 DHCP_STOP, //停止DHCP CLIENT
30 DHCP_TIMEOUT //DHCP获取IP地址超时
31} TUYA_DHCP_CLIENT_STATUS;
32
33#if LWIP_CONFIG_FAST_DHCP
34typedef struct ty_dhcpc_params_ {
35 unsigned char fast_dhcp;
36 ip_addr_t ip;
37 ip_addr_t mask;
38 ip_addr_t gw;
39 ip_addr_t dns_srv[DNS_MAX_SERVERS];
40} ty_dhcpc_params_s;
41#endif /* LWIP_CONFIG_FAST_DHCP */
42
43typedef void (*dhcpc_cb_t)(unsigned int ip, unsigned int mask, unsigned int gw);
44
45/***********************************************************
46*************************variable define********************
47***********************************************************/
48
49/***********************************************************
50*************************function define********************
51***********************************************************/
52
53
60#if LWIP_CONFIG_FAST_DHCP
61int tuya_dhcp_client_start(ty_dhcpc_params_s *dhcpc_params);
62#else
64#endif /* LWIP_CONFIG_FAST_DHCP */
65void dhcpc_set_new_lease_cb(dhcpc_cb_t cb);
66
67#ifdef __cplusplus
68}
69#endif
70
71#endif /* __LWIP_DHCPC_H */
#define DNS_MAX_SERVERS
Definition: opt.h:1113
int tuya_dhcp_client_start(void)
start dhcp client thread to get ip for WIFI STATION mode