Zephyr Project API 3.7.0-rc1
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
dns_sd.h File Reference

DNS Service Discovery. More...

#include <stdint.h>
#include <zephyr/sys/byteorder.h>

Go to the source code of this file.

Data Structures

struct  dns_sd_rec
 DNS Service Discovery record. More...
 

Macros

#define DNS_SD_INSTANCE_MIN_SIZE   1
 RFC 1034 Section 3.1.
 
#define DNS_SD_INSTANCE_MAX_SIZE   63
 RFC 1034 Section 3.1, RFC 6763 Section 7.2.
 
#define DNS_SD_SERVICE_MIN_SIZE   2
 RFC 6763 Section 7.2 - inclusive of underscore.
 
#define DNS_SD_SERVICE_MAX_SIZE   16
 RFC 6763 Section 7.2 - inclusive of underscore.
 
#define DNS_SD_SERVICE_PREFIX   '_'
 RFC 6763 Section 4.1.2.
 
#define DNS_SD_PROTO_SIZE   4
 RFC 6763 Section 4.1.2 - either _tcp or _udp (case insensitive)
 
#define DNS_SD_DOMAIN_MIN_SIZE   2
 ICANN Rules for TLD naming.
 
#define DNS_SD_DOMAIN_MAX_SIZE   63
 RFC 1034 Section 3.1, RFC 6763 Section 7.2.
 
#define DNS_SD_MIN_LABELS   3
 Minimum number of segments in a fully-qualified name.
 
#define DNS_SD_MAX_LABELS   4
 Maximum number of segments in a fully-qualified name.
 
#define DNS_SD_REGISTER_SERVICE(_id, _instance, _service, _proto, _domain, _text, _port)
 Register a service for DNS Service Discovery.
 
#define DNS_SD_REGISTER_TCP_SERVICE(id, instance, service, domain, text, port)
 Register a TCP service for DNS Service Discovery.
 
#define DNS_SD_REGISTER_UDP_SERVICE(id, instance, service, domain, text, port)
 Register a UDP service for DNS Service Discovery.
 
#define DNS_SD_EMPTY_TXT   dns_sd_empty_txt
 Empty DNS-SD TXT specifier.
 

Functions

static size_t dns_sd_txt_size (const struct dns_sd_rec *rec)
 Obtain the size of DNS-SD TXT data.
 
bool dns_sd_is_service_type_enumeration (const struct dns_sd_rec *rec)
 Check if rec is a DNS-SD Service Type Enumeration.
 
void dns_sd_create_wildcard_filter (struct dns_sd_rec *filter)
 Create a wildcard filter for DNS-SD records.
 

Detailed Description

DNS Service Discovery.