Embedded TCP/IP stack  4.7.0
MDNS (Bonjour) server/responder API

Detailed Description

Multicast DNS (mDNS) is used to enable DNS-like name resolution in scenarios in which conventional Unicast DNS name resolution is not possible. It allows both IPv4 and IPv6 hosts to perform name resolution for hosts on the same local link.
The protocol specification is defined by RFC6762.
It is natively supported by Apple OSs, and named Bonjour.

After the MDNS server is initialized by calling the fnet_mdns_init() function, the user application should call the main service-polling function fnet_service_poll() periodically in background.

For the MDNS-server service example, refer to the FNET Shell demo source code.
Configuration parameters:

Data Structures

struct  fnet_mdns_params_t
 Initialization parameters for the fnet_mdns_init() function. More...
 
struct  fnet_mdns_txt_key_t
 TXT key. More...
 
struct  fnet_mdns_service_t
 The mDNS Service structure defining application-specific service, advertised by the mDNS server. More...
 

Typedefs

typedef void * fnet_mdns_desc_t
 mDNS server descriptor. More...
 
typedef void * fnet_mdns_service_desc_t
 mDNS server descriptor. More...
 

Functions

fnet_mdns_desc_t fnet_mdns_init (fnet_mdns_params_t *params)
 Initialize Multicast DNS (mDNS) server/responder. More...
 
void fnet_mdns_release (fnet_mdns_desc_t mdns_desc)
 Release the Multicast DNS (mDNS) server/responder. More...
 
fnet_mdns_service_desc_t fnet_mdns_service_register (fnet_mdns_desc_t mdns_desc, const fnet_mdns_service_t *service)
 Register application-specific service in the mDNS server. More...
 
void fnet_mdns_service_unregister (fnet_mdns_service_desc_t service_desc)
 Unregister application service from the mDNS server. More...
 
fnet_mdns_service_desc_t fnet_mdns_service_get_by_type (fnet_mdns_desc_t mdns_desc, const char *service_type)
 Look for a registered mDNS application service according to the specified type. More...
 
void fnet_mdns_announce (fnet_mdns_desc_t mdns_desc)
 Send unsolicited mDNS announcement. More...
 
void fnet_mdns_probe (fnet_mdns_desc_t mdns_desc)
 Restart mDNS probing. More...
 
fnet_bool_t fnet_mdns_is_enabled (fnet_mdns_desc_t desc)
 Detect if the mDNS Server is enabled or disabled. More...
 
fnet_mdns_desc_t fnet_mdns_get_by_netif (fnet_netif_desc_t netif)
 Look for a mDNS Server assigned to the specified network interface. More...
 

© 2005-2020 by Andrej Butok. http://fnet.sourceforge.net