#ifndef _DNS_SD_PRIVATE_H
#define _DNS_SD_PRIVATE_H
+
+// Private flags (kDNSServiceFlagsPrivateOne, kDNSServiceFlagsPrivateTwo, kDNSServiceFlagsPrivateThree, kDNSServiceFlagsPrivateFour) from dns_sd.h
+enum
+{
+ kDNSServiceFlagsDenyCellular = 0x8000000,
+ /*
+ * This flag is meaningful only for Unicast DNS queries. When set, the daemon will restrict
+ * DNS resolutions on the cellular interface for that request.
+ */
+ kDNSServiceFlagsServiceIndex = 0x10000000,
+ /*
+ * This flag is meaningful only for DNSServiceGetAddrInfo() for Unicast DNS queries.
+ * When set, DNSServiceGetAddrInfo() will interpret the "interfaceIndex" argument of the call
+ * as the "serviceIndex".
+ */
+
+ kDNSServiceFlagsDenyExpensive = 0x20000000,
+ /*
+ * This flag is meaningful only for Unicast DNS queries. When set, the daemon will restrict
+ * DNS resolutions on interfaces defined as expensive for that request.
+ */
+
+ kDNSServiceFlagsPathEvaluationDone = 0x40000000
+ /*
+ * This flag is meaningful for only Unicast DNS queries.
+ * When set, it indicates that Network PathEvaluation has already been performed.
+ */
+};
+
+
+#if !DNSSD_NO_CREATE_DELEGATE_CONNECTION
/* DNSServiceCreateDelegateConnection()
*
* Parameters:
* to use this API.
*/
DNSServiceErrorType DNSSD_API DNSServiceCreateDelegateConnection(DNSServiceRef *sdRef, int32_t pid, uuid_t uuid);
+#endif
// Map the source port of the local UDP socket that was opened for sending the DNS query
// to the process ID of the application that triggered the DNS resolution.