mikroSDK Reference Manual
mdns_responder_misc.h
Go to the documentation of this file.
1
31#ifndef _MDNS_RESPONDER_MISC_H
32#define _MDNS_RESPONDER_MISC_H
33
34//Dependencies
35//Dependencies
36#include "core/net.h"
37#include "mdns/mdns_client.h"
38
39//C++ guard
40#ifdef __cplusplus
41extern "C" {
42#endif
43
44//mDNS related functions
45void mdnsResponderChangeState(MdnsResponderContext *context,
46 MdnsState newState, systime_t delay);
47
48void mdnsResponderChangeHostname(MdnsResponderContext *context);
49
50error_t mdnsResponderSendProbe(MdnsResponderContext *context);
51error_t mdnsResponderSendAnnouncement(MdnsResponderContext *context);
52error_t mdnsResponderSendGoodbye(MdnsResponderContext *context);
53
54void mdnsResponderProcessQuery(NetInterface *interface, MdnsMessage *query);
55
56error_t mdnsResponderParseQuestion(NetInterface *interface,
57 const MdnsMessage *query, size_t offset, const DnsQuestion *question,
58 MdnsMessage *response);
59
60void mdnsResponderParseKnownAnRecord(NetInterface *interface,
61 const MdnsMessage *query, size_t queryOffset,
62 const DnsResourceRecord *queryRecord, MdnsMessage *response);
63
64void mdnsResponderParseAnRecord(NetInterface *interface,
65 const MdnsMessage *response, size_t offset, const DnsResourceRecord *record);
66
67void mdnsResponderParseNsRecords(MdnsResponderContext *context,
68 const MdnsMessage *query, size_t offset);
69
70void mdnsResponderGenerateAdditionalRecords(MdnsResponderContext *context,
71 MdnsMessage *response, bool_t legacyUnicast);
72
73error_t mdnsResponderGenerateIpv4AddrRecords(MdnsResponderContext *context,
74 MdnsMessage *message, bool_t cacheFlush, uint32_t ttl);
75
76error_t mdnsResponderGenerateIpv6AddrRecords(MdnsResponderContext *context,
77 MdnsMessage *message, bool_t cacheFlush, uint32_t ttl);
78
79error_t mdnsResponderGenerateIpv4PtrRecords(MdnsResponderContext *context,
80 MdnsMessage *message, bool_t cacheFlush, uint32_t ttl);
81
82error_t mdnsResponderGenerateIpv6PtrRecords(MdnsResponderContext *context,
83 MdnsMessage *message, bool_t cacheFlush, uint32_t ttl);
84
85error_t mdnsResponderFormatIpv4AddrRecord(MdnsResponderContext *context,
86 MdnsMessage *message, const uint8_t *ipv4Addr, bool_t cacheFlush,
87 uint32_t ttl);
88
89error_t mdnsResponderFormatIpv6AddrRecord(MdnsResponderContext *context,
90 MdnsMessage *message, const uint8_t *ipv6Addr, bool_t cacheFlush,
91 uint32_t ttl);
92
93error_t mdnsResponderFormatIpv4PtrRecord(MdnsResponderContext *context,
94 MdnsMessage *message, const char_t *reverseName, bool_t cacheFlush,
95 uint32_t ttl);
96
97error_t mdnsResponderFormatIpv6PtrRecord(MdnsResponderContext *context,
98 MdnsMessage *message, const char_t *reverseName, bool_t cacheFlush,
99 uint32_t ttl);
100
101error_t mdnsResponderFormatNsecRecord(MdnsResponderContext *context,
102 MdnsMessage *message, bool_t cacheFlush, uint32_t ttl);
103
104DnsResourceRecord *mdnsResponderGetNextHostRecord(MdnsResponderContext *context,
105 DnsResourceRecord *record);
106
107DnsResourceRecord *mdnsResponderGetNextTiebreakerRecord(MdnsResponderContext *context,
108 const MdnsMessage *query, size_t offset, DnsResourceRecord *record);
109
110//C++ guard
111#ifdef __cplusplus
112}
113#endif
114
115#endif
error_t
Error codes.
Definition error.h:43
mDNS client (Multicast DNS)
MdnsState
mDNS responder states
Definition mdns_responder.h:139
TCP/IP stack core.
uint32_t systime_t
System time.
Definition os_port_none.h:90
mDNS message
Definition mdns_common.h:78