DNS-SD Server
This module includes APIs for DNS-SD server.
Classes |
|
struct | otDnssdServiceInstanceInfo |
This structure represents information of a discovered service instance for a DNS-SD query.
|
|
struct | otDnssdHostInfo |
This structure represents information of a discovered host for a DNS-SD query.
|
Typedefs |
|
typedef void(* | otDnssdQuerySubscribeCallback ) (void *aContext, const char *aFullName) |
This function is called when a DNS-SD query subscribes one of:
|
|
typedef void(* | otDnssdQueryUnsubscribeCallback ) (void *aContext, const char *aFullName) |
This function is called when a DNS-SD query unsubscribes one of:
|
|
typedef void | otDnssdQuery |
This opaque type represents a DNS-SD query.
|
|
typedef struct otDnssdServiceInstanceInfo | otDnssdServiceInstanceInfo |
This structure represents information of a discovered service instance for a DNS-SD query.
|
|
typedef struct otDnssdHostInfo | otDnssdHostInfo |
This structure represents information of a discovered host for a DNS-SD query.
|
Enumerations |
|
enum |
otDnssdQueryType
{
OT_DNSSD_QUERY_TYPE_NONE = 0, OT_DNSSD_QUERY_TYPE_BROWSE = 1, OT_DNSSD_QUERY_TYPE_RESOLVE = 2, OT_DNSSD_QUERY_TYPE_RESOLVE_HOST = 3 } |
This enumeration specifies a DNS-SD query type.
|
Functions |
|
void | otDnssdQuerySetCallbacks ( otInstance *aInstance, otDnssdQuerySubscribeCallback aSubscribe, otDnssdQueryUnsubscribeCallback aUnsubscribe, void *aContext) |
This function sets DNS-SD server query callbacks.
|
|
void | otDnssdQueryHandleDiscoveredServiceInstance ( otInstance *aInstance, const char *aServiceFullName, otDnssdServiceInstanceInfo *aInstanceInfo) |
This function notifies a discovered service instance.
|
|
void | otDnssdQueryHandleDiscoveredHost ( otInstance *aInstance, const char *aHostFullName, otDnssdHostInfo *aHostInfo) |
This function notifies a discovered host.
|
|
const otDnssdQuery * | otDnssdGetNextQuery ( otInstance *aInstance, const otDnssdQuery *aQuery) |
This function acquires the next query in the DNS-SD server.
|
|
otDnssdQueryType | otDnssdGetQueryTypeAndName (const otDnssdQuery *aQuery, char(*aNameOutput)[ OT_DNS_MAX_NAME_SIZE ]) |
This function acquires the DNS-SD query type and name for a specific query.
|
Detailed Description
This module includes APIs for DNS-SD server.
Typedef Documentation
◆ otDnssdQuerySubscribeCallback
typedef void(* otDnssdQuerySubscribeCallback) (void *aContext, const char *aFullName) |
This function is called when a DNS-SD query subscribes one of:
- a service name.
- a service instance name.
- a host name.
The DNS-SD query implementation is responsible for identifying what
aFullName
is. If
aFullName
is a service name or service instance name, the DNS-SD query implementation should discover corresponding service instance information and notify the DNS-SD server using
otDnssdQueryHandleDiscoveredServiceInstance
. If
aFullName
is a host name, the DNS-SD query implementation should discover the host information and notify the DNS-SD server using
otDnssdQueryHandleDiscoveredHost
.
- Note
-
There can be multiple subscription to the same name. DNS-SD query implementation should record the number of active subscriptions and stop notifying when there is no active subscription for
aFullName
.
- Parameters
-
[in] aContext
A pointer to the application-specific context. [in] aFullName
The null-terminated full service name (e.g. "_ipps._tcp.default.service.arpa."), or full service instance name (e.g. "OpenThread._ipps._tcp.default.service.arpa."), or full host name (e.g. "ot-host.default.service.arpa.").
◆ otDnssdQueryUnsubscribeCallback
typedef void(* otDnssdQueryUnsubscribeCallback) (void *aContext, const char *aFullName) |
This function is called when a DNS-SD query unsubscribes one of:
- a service name.
- a service instance name.
- a host name.
The DNS-SD query implementation is responsible for identifying what
aFullName
is.
- Note
-
There can be multiple subscription to the same name. DNS-SD query implementation should record the number of active subscriptions and stop notifying when there is no active subscription for
aFullName
.
- Parameters
-
[in] aContext
A pointer to the application-specific context. [in] aFullName
The null-terminated full service name (e.g. "_ipps._tcp.default.service.arpa."), or full service instance name (e.g. "OpenThread._ipps._tcp.default.service.arpa.").
Enumeration Type Documentation
◆ otDnssdQueryType
enum otDnssdQueryType |
Function Documentation
◆ otDnssdGetNextQuery()
const otDnssdQuery * otDnssdGetNextQuery | ( | otInstance * |
aInstance,
|
const otDnssdQuery * |
aQuery
|
||
) |
This function acquires the next query in the DNS-SD server.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aQuery
The query pointer. Pass NULL to get the first query.
- Returns
- A pointer to the query or NULL if no more queries.
◆ otDnssdGetQueryTypeAndName()
otDnssdQueryType otDnssdGetQueryTypeAndName | ( | const otDnssdQuery * |
aQuery,
|
char(*) |
aNameOutput[OT_DNS_MAX_NAME_SIZE]
|
||
) |
This function acquires the DNS-SD query type and name for a specific query.
- Parameters
-
[in] aQuery
The query pointer acquired from otDnssdGetNextQuery
.[out] aNameOutput
The name output buffer, which should be OT_DNS_MAX_NAME_SIZE
bytes long.
- Returns
- The DNS-SD query type.
◆ otDnssdQueryHandleDiscoveredHost()
void otDnssdQueryHandleDiscoveredHost | ( | otInstance * |
aInstance,
|
const char * |
aHostFullName,
|
||
otDnssdHostInfo * |
aHostInfo
|
||
) |
This function notifies a discovered host.
The external query resolver (e.g. Discovery Proxy) should call this function to notify OpenThread core of the subscribed hosts.
- Note
-
aHostInfo
must not contain unspecified or link-local or loop-back or multicast IP addresses.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aHostFullName
The null-terminated full host name. [in] aHostInfo
A pointer to the discovered service instance information.
◆ otDnssdQueryHandleDiscoveredServiceInstance()
void otDnssdQueryHandleDiscoveredServiceInstance | ( | otInstance * |
aInstance,
|
const char * |
aServiceFullName,
|
||
otDnssdServiceInstanceInfo * |
aInstanceInfo
|
||
) |
This function notifies a discovered service instance.
The external query resolver (e.g. Discovery Proxy) should call this function to notify OpenThread core of the subscribed services or service instances.
- Note
-
aInstanceInfo
must not contain unspecified or link-local or loop-back or multicast IP addresses.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aServiceFullName
The null-terminated full service name. [in] aInstanceInfo
A pointer to the discovered service instance information.
◆ otDnssdQuerySetCallbacks()
void otDnssdQuerySetCallbacks | ( | otInstance * |
aInstance,
|
otDnssdQuerySubscribeCallback |
aSubscribe,
|
||
otDnssdQueryUnsubscribeCallback |
aUnsubscribe,
|
||
void * |
aContext
|
||
) |
This function sets DNS-SD server query callbacks.
The DNS-SD server calls
aSubscribe
to subscribe to a service or service instance to resolve a DNS-SD query and
aUnsubscribe
to unsubscribe when the query is resolved or timeout.
- Note
-
aSubscribe
andaUnsubscribe
must be both set or unset.
- Parameters
-
[in] aInstance
The OpenThread instance structure. [in] aSubscribe
A pointer to the callback function to subscribe a service or service instance. [in] aUnsubscribe
A pointer to the callback function to unsubscribe a service or service instance. [in] aContext
A pointer to the application-specific context.