689e3fd8625e6b2d3d6ebba44761c78b4c6e7621
[project/mdnsd.git] / util.h
1 /*
2 * Copyright (C) 2014 John Crispin <blogic@openwrt.org>
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU Lesser General Public License version 2.1
6 * as published by the Free Software Foundation
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 */
13
14 #ifndef _UTIL_H__
15 #define _UTIL_H__
16
17 #define DBG(level, fmt, ...) do { \
18 if (debug >= level) \
19 fprintf(stderr, "mdnsd: %s (%d): " fmt, __func__, __LINE__, ## __VA_ARGS__); \
20 } while (0)
21
22 extern int debug;
23 extern struct uloop_fd listener;
24 extern const char *iface_ip;
25 extern int iface_index;
26
27 void *memdup(const void *d, int l);
28
29 extern void signal_setup(void);
30 extern int socket_setup(int fd, const char *ip);
31 extern char* get_hostname(void);
32 extern const char* get_iface_ipv4(const char *ifname);
33 extern int get_iface_index(const char *ifname);
34 extern uint32_t rand_time_delta(uint32_t t);
35
36 #endif