Embedded TCP/IP stack  4.1.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
 Initialization parameters for the fnet_mdns_init() function. More...
 
struct  fnet_mdns_txt_key
 TXT key. More...
 
struct  fnet_mdns_service
 The mDNS Service structure defining application-specific service, advertised by the mDNS server. More...
 

Typedefs

typedef struct fnet_mdns_txt_key fnet_mdns_txt_key_t
 TXT key. More...
 
typedef struct fnet_mdns_service fnet_mdns_service_t
 The mDNS Service structure defining application-specific service, advertised by the mDNS server. More...
 
typedef void * fnet_mdns_desc_t
 mDNS server descriptor. More...
 
typedef void * fnet_mdns_service_desc_t
 mDNS advertised-service descriptor. More...
 

Functions

fnet_mdns_desc_t fnet_mdns_init (struct fnet_mdns_params *params)
 Initializes Multicast DNS (mDNS) server/responder. More...
 
void fnet_mdns_release (fnet_mdns_desc_t mdns_desc)
 Releases 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)
 Registers application-specific service in the mDNS server. More...
 
void fnet_mdns_service_unregister (fnet_mdns_service_desc_t service_desc)
 Unregisters 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)
 Looks for a registered mDNS application service according to the specified type. More...
 
void fnet_mdns_announce (fnet_mdns_desc_t mdns_desc)
 Sends unsolicited mDNS announcement. More...
 
fnet_bool_t fnet_mdns_is_enabled (fnet_mdns_desc_t desc)
 Detects if the mDNS Server is enabled or disabled. More...
 
fnet_mdns_desc_t fnet_mdns_get_by_netif (fnet_netif_desc_t netif)
 Looks for a mDNS Server assigned to the specified network interface. More...
 

© 2005-2018 by Andrey Butok. http://fnet.sourceforge.net