Index: profiling.h =================================================================== RCS file: /cvsroot/squid/squid3/include/profiling.h,v retrieving revision 1.5 diff -u -p -r1.5 profiling.h --- profiling.h 18 Nov 2002 03:12:54 -0000 1.5 +++ profiling.h 2 Feb 2003 13:14:54 -0000 @@ -7,7 +7,7 @@ #ifdef USE_XPROF_STATS #if !defined(_SQUID_SOLARIS_) -typedef long long hrtime_t; +typedef int64_t hrtime_t; #else #include #endif @@ -31,6 +31,19 @@ get_tick(void) asm volatile ("rpcc $0":"=A" (regs)); /* I'm not sure of syntax */ return regs; } +#elif defined(_M_IX86) && defined(_MSC_VER) /* x86 platform on Microsoft C Compiler ONLY */ +static __inline hrtime_t +get_tick(void) +{ + hrtime_t regs; + __asm { + cpuid + rdtsc + mov eax,DWORD PTR regs[0] + mov edx,DWORD PTR regs[4] + } + return regs; +} #else #warning Unsupported CPU. Define function get_tick(). Disabling USE_XPROF_STATS... #undef USE_XPROF_STATS @@ -98,7 +111,7 @@ struct _xprof_stats_data { hrtime_t best; hrtime_t worst; hrtime_t count; - long long summ; + int64_t summ; }; struct _xprof_stats_node { @@ -110,8 +123,8 @@ struct _xprof_stats_node { typedef xprof_stats_node TimersArray[1]; /* public Data */ -extern TimersArray *xprof_Timers; -extern int xprof_nesting; +SQUIDCEXTERN TimersArray *xprof_Timers; +SQUIDCEXTERN int xprof_nesting; /* Exported functions */ SQUIDCEXTERN void xprof_start(xprof_type type, const char *timer); Index: util.h =================================================================== RCS file: /cvsroot/squid/squid3/include/util.h,v retrieving revision 1.7 diff -u -p -r1.7 util.h --- util.h 27 Jan 2003 03:12:21 -0000 1.7 +++ util.h 2 Feb 2003 13:14:54 -0000 @@ -45,11 +45,13 @@ #endif #if !defined(SQUIDHOSTNAMELEN) +#ifndef _SQUID_MSWIN_ #include #ifndef _SQUID_NETDB_H_ /* need protection on NEXTSTEP */ #define _SQUID_NETDB_H_ #include #endif +#endif #if !defined(MAXHOSTNAMELEN) || (MAXHOSTNAMELEN < 128) #define SQUIDHOSTNAMELEN 128 #else @@ -68,7 +70,6 @@ SQUIDCEXTERN char *uudecode(const char * SQUIDCEXTERN char *xstrdup(const char *); SQUIDCEXTERN char *xstrndup(const char *, size_t); SQUIDCEXTERN const char *xstrerror(void); -extern const char *xbstrerror(int); SQUIDCEXTERN int tvSubMsec(struct timeval, struct timeval); SQUIDCEXTERN int tvSubUsec(struct timeval, struct timeval); SQUIDCEXTERN double tvSubDsec(struct timeval, struct timeval); @@ -143,7 +144,7 @@ SQUIDCEXTERN double xdiv(double nom, dou SQUIDCEXTERN const char *xitoa(int num); #if !HAVE_DRAND48 -double drand48(void); +SQUIDCEXTERN double drand48(void); #endif typedef struct {