open62541 1.4.19
Open source implementation of OPC UA
Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Functions
mdnsd.h File Reference
#include "1035.h"
#include "inet.h"
#include <sys/time.h>
#include <stdbool.h>
#include <stdio.h>
#include <syslog.h>

Go to the source code of this file.

Data Structures

struct  mdns_answer
 

Macros

#define QCLASS_IN   (1)
 
#define DISCO_NAME   "_services._dns-sd._udp.local."
 
#define DBG(fmt, args...)   mdnsd_log(LOG_DEBUG, "%s(): " fmt, __func__, ##args)
 
#define INFO(fmt, args...)   mdnsd_log(LOG_INFO, "%s(): " fmt, __func__, ##args)
 
#define NOTE(fmt, args...)   mdnsd_log(LOG_NOTICE, fmt, ##args)
 
#define WARN(fmt, args...)   mdnsd_log(LOG_WARNING, fmt, ##args)
 
#define ERR(fmt, args...)   mdnsd_log(LOG_ERR, fmt, ##args)
 

Typedefs

typedef struct mdns_daemon mdns_daemon_t
 
typedef struct mdns_record mdns_record_t
 
typedef void(* mdnsd_record_received_callback) (const struct resource *r, void *data)
 
typedef struct mdns_answer mdns_answer_t
 

Functions

void mdnsd_log_open (const char *ident)
 
int mdnsd_log_level (char *level)
 
void mdnsd_log_time (struct timeval *tv, char *buf, size_t len)
 
void mdnsd_log_hex (const char *msg, unsigned char *buffer, ssize_t len)
 
void mdnsd_log (int severity, const char *fmt,...)
 
mdns_daemon_t * mdnsd_new (int class, int frame)
 
void mdnsd_set_family (mdns_daemon_t *d, sa_family_t family)
 
void mdnsd_set_local (mdns_daemon_t *d, int enable)
 
int mdnsd_get_local (mdns_daemon_t *d)
 
void mdnsd_set_address (mdns_daemon_t *d, struct in_addr addr)
 
struct in_addr mdnsd_get_address (mdns_daemon_t *d)
 
void mdnsd_set_ipv6_address (mdns_daemon_t *d, struct in6_addr addr)
 
struct in6_addr mdnsd_get_ipv6_address (mdns_daemon_t *d)
 
void mdnsd_shutdown (mdns_daemon_t *d)
 
void mdnsd_flush (mdns_daemon_t *d)
 
void mdnsd_free (mdns_daemon_t *d)
 
void mdnsd_register_receive_callback (mdns_daemon_t *d, mdnsd_record_received_callback cb, void *data)
 
int mdnsd_in (mdns_daemon_t *d, struct message *m, const inet_addr_t *from)
 
int mdnsd_out (mdns_daemon_t *d, struct message *m, inet_addr_t *to)
 
struct timeval * mdnsd_sleep (mdns_daemon_t *d)
 
void mdnsd_query (mdns_daemon_t *d, const char *host, int type, int(*answer)(mdns_answer_t *a, void *arg), void *arg)
 
mdns_answer_t * mdnsd_list (mdns_daemon_t *d, const char *host, int type, mdns_answer_t *last)
 
mdns_record_t * mdnsd_record_next (const mdns_record_t *r)
 
const mdns_answer_t * mdnsd_record_data (const mdns_record_t *r)
 
mdns_record_t * mdnsd_unique (mdns_daemon_t *d, const char *host, unsigned short type, unsigned long ttl, void(*conflict)(char *host, int type, void *arg), void *arg)
 
mdns_record_t * mdnsd_shared (mdns_daemon_t *d, const char *host, unsigned short type, unsigned long ttl)
 
mdns_record_t * mdnsd_get_published (mdns_daemon_t *d, const char *host)
 
int mdnsd_has_query (mdns_daemon_t *d, const char *host)
 
mdns_record_t * mdnsd_find (mdns_daemon_t *d, const char *name, unsigned short type)
 
void mdnsd_done (mdns_daemon_t *d, mdns_record_t *r)
 
void mdnsd_set_raw (mdns_daemon_t *d, mdns_record_t *r, const char *data, unsigned short len)
 
void mdnsd_set_host (mdns_daemon_t *d, mdns_record_t *r, const char *name)
 
void mdnsd_set_ip (mdns_daemon_t *d, mdns_record_t *r, struct in_addr ip)
 
void mdnsd_set_ipv6 (mdns_daemon_t *d, mdns_record_t *r, struct in6_addr ip6)
 
void mdnsd_set_srv (mdns_daemon_t *d, mdns_record_t *r, unsigned short priority, unsigned short weight, unsigned short port, char *name)
 
int mdnsd_step (mdns_daemon_t *d, int mdns_socket, bool processIn, bool processOut, struct timeval *tv)
 
void records_clear (mdns_daemon_t *d)
 
int mdnsd_set_addresses_for_host (mdns_daemon_t *d, const char *host, const struct in_addr *addrs, size_t count)
 
int mdnsd_set_ipv6_addresses_for_host (mdns_daemon_t *d, const char *host, const struct in6_addr *addrs, size_t count)
 
int mdnsd_set_interface_addresses (mdns_daemon_t *d, const char *ifname)
 

Macro Definition Documentation

◆ DBG

#define DBG (   fmt,
  args... 
)    mdnsd_log(LOG_DEBUG, "%s(): " fmt, __func__, ##args)

Definition at line 43 of file mdnsd.h.

◆ DISCO_NAME

#define DISCO_NAME   "_services._dns-sd._udp.local."

Definition at line 41 of file mdnsd.h.

◆ ERR

#define ERR (   fmt,
  args... 
)    mdnsd_log(LOG_ERR, fmt, ##args)

Definition at line 47 of file mdnsd.h.

◆ INFO

#define INFO (   fmt,
  args... 
)    mdnsd_log(LOG_INFO, "%s(): " fmt, __func__, ##args)

Definition at line 44 of file mdnsd.h.

◆ NOTE

#define NOTE (   fmt,
  args... 
)    mdnsd_log(LOG_NOTICE, fmt, ##args)

Definition at line 45 of file mdnsd.h.

◆ QCLASS_IN

#define QCLASS_IN   (1)

Definition at line 40 of file mdnsd.h.

◆ WARN

#define WARN (   fmt,
  args... 
)    mdnsd_log(LOG_WARNING, fmt, ##args)

Definition at line 46 of file mdnsd.h.

Typedef Documentation

◆ mdns_answer_t

typedef struct mdns_answer mdns_answer_t

Answer data.

◆ mdns_daemon_t

typedef struct mdns_daemon mdns_daemon_t

Main daemon data.

Definition at line 50 of file mdnsd.h.

◆ mdns_record_t

typedef struct mdns_record mdns_record_t

Record entry.

Definition at line 52 of file mdnsd.h.

◆ mdnsd_record_received_callback

typedef void(* mdnsd_record_received_callback) (const struct resource *r, void *data)

Callback for received record.

Data is passed from the register call

Definition at line 55 of file mdnsd.h.

Function Documentation

◆ mdnsd_done()

void mdnsd_done ( mdns_daemon_t *  d,
mdns_record_t *  r 
)

◆ mdnsd_find()

mdns_record_t * mdnsd_find ( mdns_daemon_t *  d,
const char *  name,
unsigned short  type 
)

◆ mdnsd_flush()

void mdnsd_flush ( mdns_daemon_t *  d)

◆ mdnsd_free()

void mdnsd_free ( mdns_daemon_t *  d)

◆ mdnsd_get_address()

struct in_addr mdnsd_get_address ( mdns_daemon_t *  d)

◆ mdnsd_get_ipv6_address()

struct in6_addr mdnsd_get_ipv6_address ( mdns_daemon_t *  d)

◆ mdnsd_get_local()

int mdnsd_get_local ( mdns_daemon_t *  d)

◆ mdnsd_get_published()

mdns_record_t * mdnsd_get_published ( mdns_daemon_t *  d,
const char *  host 
)

◆ mdnsd_has_query()

int mdnsd_has_query ( mdns_daemon_t *  d,
const char *  host 
)

◆ mdnsd_in()

int mdnsd_in ( mdns_daemon_t *  d,
struct message *  m,
const inet_addr_t *  from 
)

◆ mdnsd_list()

mdns_answer_t * mdnsd_list ( mdns_daemon_t *  d,
const char *  host,
int  type,
mdns_answer_t *  last 
)

◆ mdnsd_log()

void mdnsd_log ( int  severity,
const char *  fmt,
  ... 
)

◆ mdnsd_log_hex()

void mdnsd_log_hex ( const char *  msg,
unsigned char *  buffer,
ssize_t  len 
)

◆ mdnsd_log_level()

int mdnsd_log_level ( char *  level)

◆ mdnsd_log_open()

void mdnsd_log_open ( const char *  ident)

◆ mdnsd_log_time()

void mdnsd_log_time ( struct timeval *  tv,
char *  buf,
size_t  len 
)

◆ mdnsd_new()

mdns_daemon_t * mdnsd_new ( int  class,
int  frame 
)

◆ mdnsd_out()

int mdnsd_out ( mdns_daemon_t *  d,
struct message *  m,
inet_addr_t *  to 
)

◆ mdnsd_query()

void mdnsd_query ( mdns_daemon_t *  d,
const char *  host,
int  type,
int(*)(mdns_answer_t *a, void *arg)  answer,
void *  arg 
)

◆ mdnsd_record_data()

const mdns_answer_t * mdnsd_record_data ( const mdns_record_t *  r)

◆ mdnsd_record_next()

mdns_record_t * mdnsd_record_next ( const mdns_record_t *  r)

◆ mdnsd_register_receive_callback()

void mdnsd_register_receive_callback ( mdns_daemon_t *  d,
mdnsd_record_received_callback  cb,
void *  data 
)

◆ mdnsd_set_address()

void mdnsd_set_address ( mdns_daemon_t *  d,
struct in_addr  addr 
)

◆ mdnsd_set_addresses_for_host()

int mdnsd_set_addresses_for_host ( mdns_daemon_t *  d,
const char *  host,
const struct in_addr *  addrs,
size_t  count 
)

◆ mdnsd_set_family()

void mdnsd_set_family ( mdns_daemon_t *  d,
sa_family_t  family 
)

◆ mdnsd_set_host()

void mdnsd_set_host ( mdns_daemon_t *  d,
mdns_record_t *  r,
const char *  name 
)

◆ mdnsd_set_interface_addresses()

int mdnsd_set_interface_addresses ( mdns_daemon_t *  d,
const char *  ifname 
)

◆ mdnsd_set_ip()

void mdnsd_set_ip ( mdns_daemon_t *  d,
mdns_record_t *  r,
struct in_addr  ip 
)

◆ mdnsd_set_ipv6()

void mdnsd_set_ipv6 ( mdns_daemon_t *  d,
mdns_record_t *  r,
struct in6_addr  ip6 
)

◆ mdnsd_set_ipv6_address()

void mdnsd_set_ipv6_address ( mdns_daemon_t *  d,
struct in6_addr  addr 
)

◆ mdnsd_set_ipv6_addresses_for_host()

int mdnsd_set_ipv6_addresses_for_host ( mdns_daemon_t *  d,
const char *  host,
const struct in6_addr *  addrs,
size_t  count 
)

◆ mdnsd_set_local()

void mdnsd_set_local ( mdns_daemon_t *  d,
int  enable 
)

◆ mdnsd_set_raw()

void mdnsd_set_raw ( mdns_daemon_t *  d,
mdns_record_t *  r,
const char *  data,
unsigned short  len 
)

◆ mdnsd_set_srv()

void mdnsd_set_srv ( mdns_daemon_t *  d,
mdns_record_t *  r,
unsigned short  priority,
unsigned short  weight,
unsigned short  port,
char *  name 
)

◆ mdnsd_shared()

mdns_record_t * mdnsd_shared ( mdns_daemon_t *  d,
const char *  host,
unsigned short  type,
unsigned long  ttl 
)

◆ mdnsd_shutdown()

void mdnsd_shutdown ( mdns_daemon_t *  d)

◆ mdnsd_sleep()

struct timeval * mdnsd_sleep ( mdns_daemon_t *  d)

◆ mdnsd_step()

int mdnsd_step ( mdns_daemon_t *  d,
int  mdns_socket,
bool  processIn,
bool  processOut,
struct timeval *  tv 
)

◆ mdnsd_unique()

mdns_record_t * mdnsd_unique ( mdns_daemon_t *  d,
const char *  host,
unsigned short  type,
unsigned long  ttl,
void(*)(char *host, int type, void *arg)  conflict,
void *  arg 
)

◆ records_clear()

void records_clear ( mdns_daemon_t *  d)