X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/64e8f9a9ed91a3cbfa8e66367f87ef50a1d62b99..refs/pull/1034/head:/netdissect-stdinc.h?ds=inline diff --git a/netdissect-stdinc.h b/netdissect-stdinc.h index 8b8eaf9a..e81c90bd 100644 --- a/netdissect-stdinc.h +++ b/netdissect-stdinc.h @@ -39,6 +39,8 @@ #ifndef netdissect_stdinc_h #define netdissect_stdinc_h +#include "ftmacros.h" + #include #include "compiler-tests.h" @@ -166,11 +168,17 @@ #define stat _stat #define strdup _strdup #define open _open - #define fstat _fstat #define read _read #define close _close #define O_RDONLY _O_RDONLY + /* + * We define our_fstat64 as _fstati64, and define our_statb as + * struct _stati64, so we get 64-bit file sizes. + */ + #define our_fstat _fstati64 + #define our_statb struct _stati64 + /* * If has been included, and _DEBUG is defined, and * __STDC__ is zero, will define strdup() to call @@ -209,7 +217,7 @@ #endif #ifndef caddr_t -typedef char* caddr_t; +typedef char *caddr_t; #endif /* caddr_t */ #define MAXHOSTNAMELEN 64 @@ -232,6 +240,13 @@ typedef char* caddr_t; #include +/* + * We should have large file support enabled, if it's available, + * so just use fstat as our_fstat and struct stat as our_statb. + */ +#define our_fstat fstat +#define our_statb struct stat + /* * Assume all UN*Xes have strtoll(), and use it for strtoint64_t(). */ @@ -241,7 +256,6 @@ typedef char* caddr_t; * Assume LL works. */ #define INT64_T_CONSTANT(constant) (constant##LL) - #endif /* _WIN32 */ /* @@ -343,70 +357,6 @@ struct in6_addr { #define FALSE 0 #endif -/* - * The Apple deprecation workaround macros below were adopted from the - * FreeRADIUS server code under permission of Alan DeKok and Arran Cudbard-Bell. - */ - -#define XSTRINGIFY(x) #x - -/* - * Macros for controlling warnings in GCC >= 4.2 and clang >= 2.8 - */ -#define DIAG_JOINSTR(x,y) XSTRINGIFY(x ## y) -#define DIAG_DO_PRAGMA(x) _Pragma (#x) - -/* - * The current clang compilers also define __GNUC__ and __GNUC_MINOR__ - * thus we need to test the clang case before the GCC one - */ -#if defined(__clang__) -# if (__clang_major__ * 100) + __clang_minor__ >= 208 -# define DIAG_PRAGMA(x) DIAG_DO_PRAGMA(clang diagnostic x) -# define DIAG_OFF(x) DIAG_PRAGMA(push) DIAG_PRAGMA(ignored DIAG_JOINSTR(-W,x)) -# define DIAG_ON(x) DIAG_PRAGMA(pop) -# else -# define DIAG_OFF(x) -# define DIAG_ON(x) -# endif -#elif defined(__GNUC__) && ((__GNUC__ * 100) + __GNUC_MINOR__) >= 402 -# define DIAG_PRAGMA(x) DIAG_DO_PRAGMA(GCC diagnostic x) -# if ((__GNUC__ * 100) + __GNUC_MINOR__) >= 406 -# define DIAG_OFF(x) DIAG_PRAGMA(push) DIAG_PRAGMA(ignored DIAG_JOINSTR(-W,x)) -# define DIAG_ON(x) DIAG_PRAGMA(pop) -# else -# define DIAG_OFF(x) DIAG_PRAGMA(ignored DIAG_JOINSTR(-W,x)) -# define DIAG_ON(x) DIAG_PRAGMA(warning DIAG_JOINSTR(-W,x)) -# endif -#else -# define DIAG_OFF(x) -# define DIAG_ON(x) -#endif - -/* Use for clang specific warnings */ -#ifdef __clang__ -# define DIAG_OFF_CLANG(x) DIAG_OFF(x) -# define DIAG_ON_CLANG(x) DIAG_ON(x) -#else -# define DIAG_OFF_CLANG(x) -# define DIAG_ON_CLANG(x) -#endif - -/* - * For dealing with APIs which are only deprecated in OSX (like the OpenSSL API) - */ -#ifdef __APPLE__ -# define USES_APPLE_DEPRECATED_API DIAG_OFF(deprecated-declarations) -# define USES_APPLE_RST DIAG_ON(deprecated-declarations) -#else -# define USES_APPLE_DEPRECATED_API -# define USES_APPLE_RST -#endif - -/* - * end of Apple deprecation workaround macros - */ - /* * Statement attributes, for various compilers. *