Fnet_mdns
Data Structures | |
struct | fnet_mdns_params |
Initialization parameters for the fnet_mdns_init() function. More... | |
struct | fnet_mdns_service |
The mDNS Service structure defining application-specific service, advertised by the mDNS server. More... | |
Typedefs | |
typedef struct fnet_mdns_service | fnet_mdns_service_t |
The mDNS Service structure defining application-specific service, advertised by the mDNS server. | |
typedef void * | fnet_mdns_desc_t |
mDNS server descriptor. | |
typedef void * | fnet_mdns_service_desc_t |
mDNS advertised-service descriptor. | |
Functions | |
fnet_mdns_desc_t | fnet_mdns_init (struct fnet_mdns_params *params) |
Initializes Multicast DNS (mDNS) server/responder. | |
void | fnet_mdns_release (fnet_mdns_desc_t mdns_desc) |
Releases the Multicast DNS (mDNS) server/responder. | |
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. | |
void | fnet_mdns_service_unregister (fnet_mdns_service_desc_t service_desc) |
Unregisters application service from the mDNS server. | |
void | fnet_mdns_announce (fnet_mdns_desc_t mdns_desc) |
Sends unsolicited mDNS announcement. | |
fnet_bool_t | fnet_mdns_is_enabled (fnet_mdns_desc_t desc) |
Detects if the mDNS Server is enabled or disabled. |
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_poll_service() periodically in background.
For the MDNS-server service example, refer to the FNET Shell demo source code.
Configuration parameters:
- FNET_CFG_MDNS
- FNET_CFG_MDNS_MAX
- FNET_CFG_MDNS_PORT
- FNET_CFG_MDNS_RR_TTL
- FNET_CFG_MDNS_SERVICE_MAX
Typedef Documentation
typedef void* fnet_mdns_desc_t |
mDNS server descriptor.
- See also:
- fnet_mdns_init(), fnet_mdns_release()
Definition at line 89 of file fnet_mdns.h.
typedef void* fnet_mdns_service_desc_t |
mDNS advertised-service descriptor.
Definition at line 95 of file fnet_mdns.h.
typedef struct fnet_mdns_service fnet_mdns_service_t |
The mDNS Service structure defining application-specific service, advertised by the mDNS server.
- See also:
- fnet_mdns_service_register()
Function Documentation
void fnet_mdns_announce | ( | fnet_mdns_desc_t | mdns_desc ) |
Sends unsolicited mDNS announcement.
- Parameters:
-
mdns_desc mDNS server descriptor.
- See also:
- fnet_mdns_init()
This function sends unsolicited mDNS announcement.
Application may call it when any advertised application-specific parameter has changed (e.g. network interface IP address or service TXT-record content).
RFC 6762: "At any time, if the rdata of any of a host's Multicast DNS records changes, the host MUST repeat the Announcing step to update neighboring caches. For example, if any of a host's IP addresses change, it MUST re-announce those address records".
Definition at line 503 of file fnet_mdns.c.
fnet_mdns_desc_t fnet_mdns_init | ( | struct fnet_mdns_params * | params ) |
Initializes Multicast DNS (mDNS) server/responder.
- Parameters:
-
params Initialization parameters defined by fnet_mdns_params.
- Returns:
- This function returns:
- mDNS server descriptor if no error occurs.
0
if an error occurs.
- See also:
- fnet_mdns_release(), fnet_mdns_params
This function initializes the Multicast DNS (mDMS)server/responder.
It allocates all needed resources and registers the mDNS service in the polling list.
After the initialization, the user application should call the main polling function fnet_poll_service() periodically to run the mDNS service routine in the background.
Definition at line 285 of file fnet_mdns.c.
fnet_bool_t fnet_mdns_is_enabled | ( | fnet_mdns_desc_t | desc ) |
Detects if the mDNS Server is enabled or disabled.
- Parameters:
-
desc mDNS server descriptor
- Returns:
- This function returns:
- FNET_TRUE if the mDNS Server is successfully initialized.
- FNET_FALSE if the mDNS Server is not initialized or is released.
This function detects if the mDNS Server is initialized or is released.
Definition at line 545 of file fnet_mdns.c.
void fnet_mdns_release | ( | fnet_mdns_desc_t | mdns_desc ) |
Releases the Multicast DNS (mDNS) server/responder.
- Parameters:
-
mdns_desc mDNS server descriptor to be unregistered.
- See also:
- fnet_mdns_init()
This function releases the mDNS Server assigned to the desc
descriptor.
It releases all occupied resources, and unregisters the mDNS service from the polling list.
Definition at line 526 of file fnet_mdns.c.
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.
- Parameters:
-
mdns_desc mDNS server descriptor. service Service parameters to be advertised by the mDNS server.
- Returns:
- This function returns:
- service descriptor if no error occurs.
0
if an error occurs.
This function registers an application service and starts its advertisement by the mDNS server.
Definition at line 445 of file fnet_mdns.c.
void fnet_mdns_service_unregister | ( | fnet_mdns_service_desc_t | service_desc ) |
Unregisters application service from the mDNS server.
- Parameters:
-
service_desc Service descriptor to be unregistered.
- See also:
- fnet_mdns_service_register()
This function unregisters application service, assigned to the service_desc
descriptor, and stops its advertisement by the mDNS server.
Definition at line 489 of file fnet_mdns.c.
Generated on Tue Jul 12 2022 12:22:40 by
