DNSServiceEnumerateDDNSiService_Discovery LDNSServiceEnumerateDomains(3DNS_SD)NAMEDNSServiceEnumerateDomains - enumerate recommended domains
SYNOPSIS
cc [ flag ... ] file ... -ldns_sd [ library ... ]
#include <dns_sd.h>
DNSServiceErrorType DNSServiceEnumerateDomains(DNSServiceRef *sdRef,
DNSServiceFlags flags, uint32_t interfaceIndex,
DNSServiceDomainEnumReply callBack, void *context);
typedef void(*DNSServiceDomainEnumReply)(DNSServiceRef sdRef,
DNSServiceFlags flags, uint31_t interfaceIndex,
DNSServiceErrorType errorCode, const char *replyDomain,
void *context);
DESCRIPTION
The DNSServiceEnumerateDomains() function allows applications to deter‐
mine recommended browsing and registration domains for performing ser‐
vice discovery DNS queries. The callback argument points to a function
to be called to return results or if the asynchronous call to DNSSer‐
viceEnumerateDomains() fails. The callback function should point to a
function of type DNSServiceDomainEnumReply listed above.
A pointer to an uninitialized DNSServiceRef, sdRef must be passed to
DNSServiceEnumerateDomains(). If the call succeeds, sdRef is initial‐
ized and kDNSServiceErr_NoError is returned. The enumeration call runs
indefinitely until the client terminates the call. The enumeration call
must be terminated by passing the DNSServiceRef initialized by the enu‐
meration call to DNSServiceRefDeallocate() when no more domains are to
be found.
The value of flags is constructed by a bitwise-inclusive-OR of the
flags used in DNSService functions and defined in <dns_sd.h>. Possible
values for flags to the DNSServiceEnumerateDomains() call are: kDNSSer‐
viceFlagsBrowseDomains and kDNSServiceFlagsRegistrationDomains. The
kDNSServiceFlagsBrowseDomains value is passed to enumerate domains rec‐
ommended for browsing. The kDNSServiceFlagsRegistrationDomains value is
passed to enumerate domains recommended for registration. Possible val‐
ues of flags returned in the callback function are: kDNSService‐
FlagsMoreComing, kDNSServiceFlagsAdd, and kDNSServiceFlagsDefault.
The interfaceIndex parameter to the enumeration call specifies the
interface index searched for domains. Most applications pass 0 to enu‐
merate domains on all interfaces. See the section "Constants for speci‐
fying an interface index" in <dns_sd.h> for more details. The context
parameter can be NULL and is passed to the enumeration callback func‐
tion. The interfaceIndex value passed to the callback specifies the
interface on which the domain exists.
RETURN VALUES
The DNSServiceEnumerateDomains() function returns kDNSServiceErr_NoEr‐
ror on success. Otherwise, the function returns an error code defined
in <dns_sd.h>. The callback is not invoked on error and the DNSSer‐
viceRef that is passed is not initialized. Upon a successful call to
DNSServiceEnumerateDomains(), subsequent asynchronous errors are deliv‐
ered to the callback.
ATTRIBUTES
See attributes(5) for description of the following attributes:
┌─────────────────────────────┬─────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│Interface Stability │Committed │
├─────────────────────────────┼─────────────────────────────┤
│MT-Level │Safe │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSODNSServiceRefDeallocate(3DNS_SD), attributes(5)SunOS 5.11 20 Aug 20DNSServiceEnumerateDomains(3DNS_SD)