1 #ifndef UNITTEST_COMMON_H 2 #define UNITTEST_COMMON_H 3 4 #include "dns_sd.h" 5 #include "uds_daemon.h" 6 #include "uDNS.h" 7 #include "dnssd_ipc.h" 8 #include <netdb.h> // for getaddrinfo 9 #include <net/if.h> 10 #include <pthread.h> 11 12 // Primary interface info that is used when simulating the receive of the response packet 13 extern mDNSInterfaceID primary_interfaceID; 14 extern mDNSAddr primary_v4; 15 extern mDNSAddr primary_v6; 16 extern mDNSAddr primary_router; 17 18 // Arbitrary values to simulate a client_request request 19 #define client_req_sd 12 20 #define client_req_uid 502 21 #define client_req_hdr_bytes 28 22 #define client_req_hdr_version 1 23 #define client_resp_src_port 13568 24 #define client_resp_dst_port 49339 25 #define uDNS_TargetQID 16745 26 #define client_req_process_id 15418 27 static char client_req_pid_name[MAXCOMLEN] = "mDNSUnitTest"; 28 29 //Arbitrary values to simulate a DNS server 30 #define dns_server_timeout 30 31 #define dns_server_resGroupID 12 32 static const mDNSv4Addr dns_server_ipv4 = {{ 192, 168, 1, 20 }}; 33 34 extern mStatus init_mdns_environment(mDNSBool enableLogging); 35 extern mStatus init_mdns_storage(void); 36 extern size_t get_reply_len(char* name, uint16_t rdlen); 37 extern mStatus start_client_request(request_state* req, char *msgbuf, size_t msgsz, uint32_t op, UDPSocket* socket); 38 extern void receive_response(const request_state* req, DNSMessage *msg, size_t msgSize); 39 extern void get_ip(const char *const name, struct sockaddr_storage *result); 40 extern void free_req(request_state* req); 41 42 extern mStatus mDNS_InitStorage_ut(mDNS *const m, mDNS_PlatformSupport *const p, 43 CacheEntity *rrcachestorage, mDNSu32 rrcachesize, 44 mDNSBool AdvertiseLocalAddresses, mDNSCallback *Callback, void *Context); 45 extern void init_logging_ut(void); 46 extern void SetInterfaces_ut(mDNSInterfaceID* primary_interfaceID, mDNSAddr *primary_v4, 47 mDNSAddr* primary_v6, mDNSAddr* primary_router); 48 extern mStatus handle_client_request_ut(void *req); 49 extern void LogCacheRecords_ut(mDNSs32 now, mDNSu32* retCacheUsed, mDNSu32* retCacheActive); 50 extern int LogEtcHosts_ut(mDNS *const m); 51 extern mDNSBool mDNSMacOSXCreateEtcHostsEntry_ut(const domainname *domain, const struct sockaddr *sa, 52 const domainname *cname, char *ifname, AuthHash *auth); 53 extern void UpdateEtcHosts_ut(void *context); 54 extern mStatus ArpLogMsgTest(mDNS *const m, const ARP_EthIP *const arp, const mDNSInterfaceID InterfaceID); 55 56 57 #endif /* UNITTEST_COMMON_H */ 58