X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=src%2Fdropin.h;h=fe2b85898a6efd50b9d3083e6af288cd8afdc20c;hb=991ae7d0d63cf72fb3071a5d6a8112e0bb547127;hp=7b0050d699080d093861e79015be6a275ebb22b4;hpb=574b380dfc75ef13ee4accba1f2416165c58a5a2;p=meshlink diff --git a/src/dropin.h b/src/dropin.h index 7b0050d6..fe2b8589 100644 --- a/src/dropin.h +++ b/src/dropin.h @@ -1,7 +1,9 @@ +#ifndef MESHLINK_DROPIN_H +#define MESHLINK_DROPIN_H + /* dropin.h -- header file for dropin.c - Copyright (C) 2000-2005 Ivo Timmermans, - 2000-2011 Guus Sliepen + Copyright (C) 2014, 2017 Guus Sliepen This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -18,20 +20,9 @@ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#ifndef __DROPIN_H__ -#define __DROPIN_H__ - #include "fake-getaddrinfo.h" #include "fake-getnameinfo.h" -#ifndef HAVE_DAEMON -extern int daemon(int, int); -#endif - -#ifndef HAVE_GET_CURRENT_DIR_NAME -extern char *get_current_dir_name(void); -#endif - #ifndef HAVE_ASPRINTF extern int asprintf(char **, const char *, ...); extern int vasprintf(char **, const char *, va_list ap); @@ -42,7 +33,34 @@ extern int gettimeofday(struct timeval *, void *); #endif #ifndef HAVE_USLEEP -extern void usleep(long long usec); +extern int usleep(long long usec); +#endif + +#ifndef timeradd +#define timeradd(a, b, r)\ + do {\ + (r)->tv_sec = (a)->tv_sec + (b)->tv_sec;\ + (r)->tv_usec = (a)->tv_usec + (b)->tv_usec;\ + if((r)->tv_usec >= 1000000)\ + (r)->tv_sec++, (r)->tv_usec -= 1000000;\ + } while (0) +#endif + +#ifndef timersub +#define timersub(a, b, r)\ + do {\ + (r)->tv_sec = (a)->tv_sec - (b)->tv_sec;\ + (r)->tv_usec = (a)->tv_usec - (b)->tv_usec;\ + if((r)->tv_usec < 0)\ + (r)->tv_sec--, (r)->tv_usec += 1000000;\ + } while (0) #endif -#endif /* __DROPIN_H__ */ +#ifdef HAVE_MINGW +#define mkdir(a, b) mkdir(a) +#ifndef SHUT_RDWR +#define SHUT_RDWR SD_BOTH +#endif +#endif + +#endif