| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- /*
- * dns_def.h
- *
- * Created on: 2022年4月13日
- * Author: Administrator
- */
- #ifndef __ETHERNET_COMMON_DNS_DEF_H__
- #define __ETHERNET_COMMON_DNS_DEF_H__
- #define DNS_SERVER_PORT (53)
- #define MAX_DNS_SERVER 4
- #include "luat_network_adapter.h"
- typedef struct
- {
- llist_head node;
- Buffer_Struct uri; //动态需要释放
- luat_dns_ip_result ip_result[MAX_DNS_IP];
- void *param;
- int result;
- uint8_t adapter_index;
- }luat_dns_require_t;
- typedef struct
- {
- luat_ip_addr_t dns_server[MAX_DNS_SERVER];
- llist_head process_head;
- llist_head require_head;
- uint16_t session_id;
- uint8_t is_static_dns[MAX_DNS_SERVER];
- uint8_t is_run;
- uint8_t new_result;
- }dns_client_t;
- void dns_init_client(dns_client_t *client);
- uint8_t dns_check_uri(const char *uri, uint32_t uri_len);
- void dns_require(dns_client_t *client, const char *domain_name, uint32_t len, void *param);
- void dns_require_ex(dns_client_t *client, const char *domain_name, void *param, uint8_t adapter_index);
- void dns_require_ipv6(dns_client_t *client, const char *domain_name, void *param, uint8_t adapter_index, uint8_t is_ipv6);
- void dns_clear(dns_client_t *client);
- void dns_run(dns_client_t *client, Buffer_Struct *in, Buffer_Struct *out, int *server_cnt);
- #endif /* __ETHERNET_COMMON_DNS_DEF_H__ */
|