21 #include "mDNSEmbeddedAPI.h"
22 #include "DNSCommon.h"
28 #define RESTART_GOODBYE_DELAY (6 * mDNSPlatformOneSecond) // delay after restarting LLQ before nuking previous known answers (avoids flutter if we restart before we have networking up)
29 #define INIT_UCAST_POLL_INTERVAL (3 * mDNSPlatformOneSecond) // this interval is used after send failures on network transitions
31 #define MAX_UCAST_POLL_INTERVAL (60 * 60 * mDNSPlatformOneSecond)
33 #define LLQ_POLL_INTERVAL (15 * 60 * mDNSPlatformOneSecond) // Polling interval for zones w/ an advertised LLQ port (ie not static zones) if LLQ fails due to NAT, etc.
34 #define RESPONSE_WINDOW (60 * mDNSPlatformOneSecond) // require server responses within one minute of request
35 #define MAX_UCAST_UNANSWERED_QUERIES 2 // the number of unanswered queries from any one uDNS server before trying another server
36 #define DNSSERVER_PENALTY_TIME (60 * mDNSPlatformOneSecond) // number of seconds for which new questions don't pick this server
40 #define MIN_UCAST_RETRANS_TIMEOUT (2 * mDNSPlatformOneSecond)
42 #define DEFAULT_UPDATE_LEASE 7200
44 #define QuestionIntervalStep 3
45 #define QuestionIntervalStep2 (QuestionIntervalStep*QuestionIntervalStep)
46 #define QuestionIntervalStep3 (QuestionIntervalStep*QuestionIntervalStep*QuestionIntervalStep)
47 #define InitialQuestionInterval ((mDNSPlatformOneSecond + QuestionIntervalStep-1) / QuestionIntervalStep)
52 #define INIT_RECORD_REG_INTERVAL (1 * mDNSPlatformOneSecond)
53 #define MAX_RECORD_REG_INTERVAL (15 * 60 * mDNSPlatformOneSecond)
54 #define MERGE_DELAY_TIME (1 * mDNSPlatformOneSecond)
58 #define MAX_UPDATE_REFRESH_COUNT 5
59 #define MIN_UPDATE_REFRESH_TIME (5 * 60 * mDNSPlatformOneSecond)
63 #define DEFAULT_UDNS_TIMEOUT 30 // in seconds
67 extern void LLQGotZoneData(
mDNS *
const m, mStatus err,
const ZoneData *zoneInfo);
71 extern void SleepRecordRegistrations(
mDNS *m);
81 extern void SetNextQueryTime(
mDNS *
const m,
const DNSQuestion *
const q);
82 extern CacheGroup *CacheGroupForName(
const mDNS *
const m,
const mDNSu32 slot,
const mDNSu32 namehash,
const domainname *
const name);
83 extern mStatus mDNS_Register_internal(
mDNS *
const m,
AuthRecord *
const rr);
84 extern mStatus mDNS_Deregister_internal(
mDNS *
const m,
AuthRecord *
const rr, mDNS_Dereg_type drt);
85 extern mStatus mDNS_StartQuery_internal(
mDNS *
const m,
DNSQuestion *
const question);
86 extern mStatus mDNS_StopQuery_internal(
mDNS *
const m,
DNSQuestion *
const question);
89 extern void RecordRegistrationGotZoneData(
mDNS *
const m, mStatus err,
const ZoneData *zoneData);
90 extern mStatus uDNS_DeregisterRecord(
mDNS *
const m,
AuthRecord *
const rr);
92 extern void uDNS_CheckCurrentQuestion(
mDNS *
const m);
95 extern void uDNS_ReceiveMsg(
mDNS *
const m, DNSMessage *
const msg,
const mDNSu8 *
const end,
98 extern void uDNS_Tasks(
mDNS *
const m);
99 extern void UpdateAllSRVRecords(
mDNS *m);
100 extern void CheckNATMappings(
mDNS *m);
102 extern mStatus uDNS_SetupDNSConfig(
mDNS *
const m);
109 #define UDNS_START_WAB_QUERY 0x00000001
111 extern mStatus uDNS_SetupSearchDomains(
mDNS *
const m,
int action);
122 extern uDNS_LLQType uDNS_recvLLQResponse(
mDNS *
const m,
const DNSMessage *
const msg,
const mDNSu8 *
const end,
const mDNSAddr *
const srcaddr,
const mDNSIPPort srcport,
DNSQuestion **matchQuestion);
125 extern void DisposeTCPConn(
struct tcpInfo_t *tcp);
128 extern void uDNS_ReceiveNATPMPPacket(
mDNS *m,
const mDNSInterfaceID InterfaceID, mDNSu8 *pkt, mDNSu16 len);
129 extern void natTraversalHandleAddressReply(
mDNS *
const m, mDNSu16 err,
mDNSv4Addr ExtAddr);
Definition: mDNSEmbeddedAPI.h:479
Definition: mDNSEmbeddedAPI.h:253
Definition: mDNSEmbeddedAPI.h:1780
Definition: mDNSEmbeddedAPI.h:1177
Definition: mDNSEmbeddedAPI.h:1477
Definition: mDNSEmbeddedAPI.h:995
Definition: mDNSEmbeddedAPI.h:266
Definition: mDNSEmbeddedAPI.h:376
Definition: mDNSEmbeddedAPI.h:1310
Definition: mDNSEmbeddedAPI.h:265
Definition: mDNSEmbeddedAPI.h:1630
Definition: mDNSEmbeddedAPI.h:300
Definition: mDNSEmbeddedAPI.h:1505