diff --git a/common.h b/common.h index e7320f32..d10758e1 100644 --- a/common.h +++ b/common.h @@ -26,9 +26,19 @@ #define COMMON_H /* - * Statistics counters. + * Statistics counters and associated printf formats. */ -typedef unsigned long long int counter_type; +#ifdef USE_64_BIT_COUNTERS + typedef unsigned long long int counter_type; +# ifdef WIN32 +# define counter_format "%I64u" +# else +# define counter_format "%llu" +# endif +#else + typedef unsigned int counter_type; +# define counter_format "%u" +#endif /* * Time intervals @@ -43,7 +53,6 @@ typedef int interval_t; /* * Printf formats for special types */ -#define counter_format "%llu" #define ptr_format "0x%08lx" #define time_format "%lu" #define fragment_header_format "0x%08x" diff --git a/syshead.h b/syshead.h index 950af533..f296fe01 100644 --- a/syshead.h +++ b/syshead.h @@ -379,6 +379,11 @@ socket_defined (const socket_descriptor_t sd) return sd != SOCKET_UNDEFINED; } +/* + * Should statistics counters be 64 bits? + */ +#define USE_64_BIT_COUNTERS + /* * Do we have point-to-multipoint capability? */