/* * Copyright (C) 2014 John Crispin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License version 2.1 * as published by the Free Software Foundation * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ #ifndef _UTIL_H__ #define _UTIL_H__ #include #include #define DBG(level, fmt, ...) do { \ umdns_udebug_printf("[%d] [%s:%d] " fmt, level, __func__, __LINE__, ## __VA_ARGS__); \ if (debug >= level) \ fprintf(stderr, "mdnsd: %s (%d): " fmt, __func__, __LINE__, ## __VA_ARGS__); \ } while (0) #define MDNS_BUF_LEN (8 * 1024) #define HOSTNAME_LEN 256 extern int debug; extern uint8_t mdns_buf[MDNS_BUF_LEN]; /** * The first label of a host's fully qualified domain name * * E.g. just "example" for the domain name example.local. */ extern char umdns_host_label[HOSTNAME_LEN]; extern char mdns_hostname_local[HOSTNAME_LEN + 6]; extern void get_hostname(void); extern uint32_t rand_time_delta(uint32_t t); extern time_t monotonic_time(void); void umdns_udebug_set_enabled(bool val); void umdns_udebug_printf(const char *format, ...); #endif