From ab959d7b4194715870128e616b8e29d4a101e488 Mon Sep 17 00:00:00 2001 From: etobi Date: Tue, 3 Sep 2013 09:48:41 +0200 Subject: Imported Upstream version 1.1.1+rev1207 --- lib/libdvbmisc/dvbmisc.h | 72 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 lib/libdvbmisc/dvbmisc.h (limited to 'lib/libdvbmisc') diff --git a/lib/libdvbmisc/dvbmisc.h b/lib/libdvbmisc/dvbmisc.h new file mode 100644 index 0000000..8ac6eee --- /dev/null +++ b/lib/libdvbmisc/dvbmisc.h @@ -0,0 +1,72 @@ +/* + libdvbmisc - DVB miscellaneous library + + Copyright (C) 2005 Manu Abraham + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + This library 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 + Lesser General Public License for more details. + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA +*/ + +#ifndef DVB_MISC_H +#define DVB_MISC_H + +#include +#include +#include +#include + +#define ERROR 0 +#define NOTICE 1 +#define INFO 2 +#define DEBUG 3 + +#define print(x, y, z, fmt, arg...) do { \ + if (z) { \ + if ((x > ERROR) && (x > y)) \ + vprint("%s: " fmt "\n", __func__ , ##arg); \ + else if ((x > NOTICE) && (x > y)) \ + vprint("%s: " fmt "\n",__func__ , ##arg); \ + else if ((x > INFO) && (x > y)) \ + vprint("%s: " fmt "\n", __func__ , ##arg); \ + else if ((x > DEBUG) && (x > y)) \ + vprint("%s: " fmt "\n", __func__ , ##arg); \ + } else { \ + if (x > y) \ + vprint(fmt, ##arg); \ + } \ +} while(0) + +static inline void vprint(char *fmt, ...) +{ + va_list args; + + va_start(args, fmt); + vfprintf(stderr, fmt, args); + va_end(args); +} + +static inline int time_after(struct timeval oldtime, uint32_t delta_ms) +{ + // calculate the oldtime + add on the delta + uint64_t oldtime_ms = (oldtime.tv_sec * 1000) + (oldtime.tv_usec / 1000); + oldtime_ms += delta_ms; + + // calculate the nowtime + struct timeval nowtime; + gettimeofday(&nowtime, 0); + uint64_t nowtime_ms = (nowtime.tv_sec * 1000) + (nowtime.tv_usec / 1000); + + // check + return nowtime_ms > oldtime_ms; +} + +#endif -- cgit v1.2.3