X-Git-Url: https://www.tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fdropin.h;h=5033f90d90e9703407c5d64908b0431935c0b9b9;hb=refs%2Fheads%2F1.1;hp=d1919e1cc64bb280dcddc6856f29c3650f5c4946;hpb=3b6d366005b6fc23c705b3156e365316f6ab776c;p=tinc diff --git a/src/dropin.h b/src/dropin.h index d1919e1c..6fa7a9dd 100644 --- a/src/dropin.h +++ b/src/dropin.h @@ -4,7 +4,7 @@ /* dropin.h -- header file for dropin.c Copyright (C) 2000-2005 Ivo Timmermans, - 2000-2016 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 @@ -21,25 +21,19 @@ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "system.h" - #ifndef HAVE_DAEMON extern int daemon(int, int); #endif #ifndef HAVE_ASPRINTF -extern int asprintf(char **, const char *, ...); -extern int vasprintf(char **, const char *, va_list ap); +extern int asprintf(char **, const char *, ...) ATTR_FORMAT(printf, 2, 3); +extern int vasprintf(char **, const char *, va_list ap) ATTR_FORMAT(printf, 2, 0); #endif #ifndef HAVE_GETTIMEOFDAY extern int gettimeofday(struct timeval *, void *); #endif -#ifndef HAVE_NANOSLEEP -extern int nanosleep(const struct timespec *req, struct timespec *rem); -#endif - #ifndef timeradd #define timeradd(a, b, r) do {\ (r)->tv_sec = (a)->tv_sec + (b)->tv_sec;\ @@ -58,7 +52,7 @@ extern int nanosleep(const struct timespec *req, struct timespec *rem); } while (0) #endif -#ifdef HAVE_MINGW +#ifdef HAVE_WINDOWS #define mkdir(a, b) mkdir(a) #ifndef SHUT_RDWR #define SHUT_RDWR SD_BOTH @@ -77,4 +71,32 @@ extern int nanosleep(const struct timespec *req, struct timespec *rem); #define MAX(a,b) (((a)>(b))?(a):(b)) #endif -#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 isatty _isatty +#define fileno _fileno +#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