X-Git-Url: https://www.tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fdropin.h;h=f161c13d2f5b3da898317e39a626b73d76112301;hb=668750c022a02cc54756316907f1cbbf7d673025;hp=abac29094ef1f5360183fe0c89182d1f8618e55e;hpb=fb1e69072e9c1dda35033cc2785c27e324a2abda;p=tinc diff --git a/src/dropin.h b/src/dropin.h index abac2909..f161c13d 100644 --- a/src/dropin.h +++ b/src/dropin.h @@ -1,7 +1,10 @@ +#ifndef TINC_DROPIN_H +#define TINC_DROPIN_H + /* dropin.h -- header file for dropin.c Copyright (C) 2000-2005 Ivo Timmermans, - 2000-2011 Guus Sliepen + 2000-2022 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 +21,10 @@ 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); @@ -41,33 +34,67 @@ extern int vasprintf(char **, const char *, va_list ap); extern int gettimeofday(struct timeval *, void *); #endif -#ifndef HAVE_USLEEP -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) + (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) + (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 -#ifdef HAVE_MINGW +#ifdef HAVE_WINDOWS #define mkdir(a, b) mkdir(a) #ifndef SHUT_RDWR #define SHUT_RDWR SD_BOTH #endif #endif -#endif /* __DROPIN_H__ */ +#ifndef EAI_SYSTEM +#define EAI_SYSTEM 0 +#endif + +#ifndef MIN +#define MIN(a,b) (((a)<(b))?(a):(b)) +#endif + +#ifndef MAX +#define MAX(a,b) (((a)>(b))?(a):(b)) +#endif + +#define CLAMP(val, min, max) MIN((max), MAX((min), (val))) + +#ifdef _MSC_VER + +#define PATH_MAX MAX_PATH +#define strcasecmp _stricmp +#define strncasecmp _strnicmp +#define close CloseHandle +#define __const const + +typedef int mode_t; +typedef int pid_t; +typedef SSIZE_T ssize_t; + +static const int STDIN_FILENO = 0; +static const int F_OK = 0; +static const int X_OK = 0; +static const int W_OK = 2; +static const int R_OK = 4; + +#else // _MSC_VER + +#endif // _MSC_VER + +extern bool sleep_millis(unsigned int ms); + +#endif // TINC_DROPIN_H