38#ifndef LWIP_HDR_MDNS_PRIV_H
39#define LWIP_HDR_MDNS_PRIV_H
49#if LWIP_MDNS_RESPONDER
51#define MDNS_READNAME_ERROR 0xFFFF
52#define NUM_DOMAIN_OFFSETS 10
63#define MDNS_TTL_120 120
64#define MDNS_TTL_4500 4500
70#define MDNS_PROBE_MAX_CONFLICTS_BEFORE_RATE_LIMIT 15
71#define MDNS_PROBE_MAX_CONFLICTS_TIME_WINDOW 10000
72#define MDNS_PROBE_MAX_CONFLICTS_TIMEOUT 5000
78 char name[MDNS_LABEL_MAXLEN + 1];
80 struct mdns_domain service;
82 search_result_fn_t result_fn;
96 struct mdns_domain txtdata;
98 char name[MDNS_LABEL_MAXLEN + 1];
100 char service[MDNS_LABEL_MAXLEN + 1];
103 service_get_txt_fn_t txt_fn;
112struct mdns_outpacket {
127 u16_t domain_offsets[NUM_DOMAIN_OFFSETS];
142 u8_t unicast_reply_requested;
148 u8_t probe_query_recv;
156 u8_t host_reverse_v6_replies;
159#ifdef LWIP_MDNS_SEARCH
161 struct mdns_request *
query;
166struct mdns_delayed_msg {
168 u8_t multicast_msg_waiting;
170 u8_t multicast_timeout;
172 u8_t multicast_probe_timeout;
174 struct mdns_outmsg delayed_msg_multicast;
177 u8_t multicast_timeout_25TTL;
179 u8_t unicast_msg_in_use;
181 struct mdns_outmsg delayed_msg_unicast;
189 MDNS_STATE_PROBE_WAIT,
193 MDNS_STATE_ANNOUNCE_WAIT,
195 MDNS_STATE_ANNOUNCING,
198} mdns_resp_state_enum_t;
203 char name[MDNS_LABEL_MAXLEN + 1];
209 mdns_resp_state_enum_t
state;
212 struct mdns_delayed_msg ipv4;
216 struct mdns_delayed_msg ipv6;
219 u32_t conflict_time[MDNS_PROBE_MAX_CONFLICTS_BEFORE_RATE_LIMIT];
221 u8_t rate_limit_activated;
228struct mdns_host* netif_mdns_data(
struct netif *
netif);
229struct udp_pcb* get_mdns_pcb(
void);
#define MDNS_MAX_SERVICES