diff --git src/net_uuid.c src/net_uuid.c
index fd14db4..1e18831 100644
--- src/net_uuid.c
+++ src/net_uuid.c
@@ -42,6 +42,7 @@
 #define UUIDS_PER_TICK 1024
 
 #ifdef WIN32
+#define WIN32_LEAN_AND_MEAN 1
 #include <windows.h>
 #include "missing\stdint.h"
 #define snprintf _snprintf
@@ -81,7 +82,6 @@ typedef struct {
   char nodeID[6];
 } uuid_node_t;
 
-#undef uuid_t
 typedef struct {
   uint32_t  time_low;
   uint16_t  time_mid;
@@ -89,7 +89,7 @@ typedef struct {
   uint8_t   clock_seq_hi_and_reserved;
   uint8_t   clock_seq_low;
   uint8_t   node[6];
-} uuid_t;
+} netperf_uuid_t;
 
 /* some forward declarations.  kind of wimpy to do that but heck, we
    are all friends here right?  raj 20081024 */
@@ -197,7 +197,7 @@ static uint16_t true_random(void)
 }
 
 /* puid -- print a UUID */
-void puid(uuid_t u)
+void puid(netperf_uuid_t u)
 {
   int i;
 
@@ -210,7 +210,7 @@ void puid(uuid_t u)
 }
 
 /* snpuid -- print a UUID in the supplied buffer */
-void snpuid(char *str, size_t size, uuid_t u) {
+void snpuid(char *str, size_t size, netperf_uuid_t u) {
   int i;
   char *tmp = str;
 
@@ -295,7 +295,7 @@ static void get_ieee_node_identifier(uuid_node_t *node)
 
 /* format_uuid_v1 -- make a UUID from the timestamp, clockseq,
    and node ID */
-static void format_uuid_v1(uuid_t* uuid, uint16_t clock_seq,
+static void format_uuid_v1(netperf_uuid_t* uuid, uint16_t clock_seq,
                     uuid_time_t timestamp, uuid_node_t node)
 {
   /* Construct a version 1 uuid with the information we've gathered
@@ -312,7 +312,7 @@ static void format_uuid_v1(uuid_t* uuid, uint16_t clock_seq,
 }
 
 /* uuid_create -- generator a UUID */
-int uuid_create(uuid_t *uuid)
+int uuid_create(netperf_uuid_t *uuid)
 {
   uuid_time_t timestamp;
   uint16_t clockseq;
@@ -331,7 +331,7 @@ int uuid_create(uuid_t *uuid)
 }
 
 void get_uuid_string(char *uuid_str, size_t size) {
-  uuid_t u;
+  netperf_uuid_t u;
 
   uuid_create(&u);
   snpuid(uuid_str,size,u);
@@ -344,7 +344,7 @@ void get_uuid_string(char *uuid_str, size_t size) {
 int
 main(int argc, char *argv[])
 {
-  uuid_t u;
+  netperf_uuid_t u;
   char  uuid_str[38];
 #if 0
   uuid_create(&u);
diff --git src/netlib.c src/netlib.c
index 2195c9b..62cbe15 100644
--- src/netlib.c
+++ src/netlib.c
@@ -110,6 +110,7 @@ char    netlib_id[]="\
 #include <time.h>
 #include <winsock2.h>
 #define netperf_socklen_t socklen_t
+#define WIN32_LEAN_AND_MEAN 1
 #include <windows.h>
 #include <mmsystem.h>
 /* the only time someone should need to define DONT_IPV6 in the
@@ -119,8 +120,6 @@ char    netlib_id[]="\
 #include <ws2tcpip.h>
 #endif
 
-#include <windows.h>
-
 #define SIGALRM (14)
 #define sleep(x) Sleep((x)*1000)
 
@@ -4013,11 +4012,7 @@ void demo_stream_setup(uint32_t a, uint32_t b) {
   }
 }
 
-#ifdef WIN32
-__forceinline void demo_interval_display(double actual_interval)
-#else
-  inline void demo_interval_display(double actual_interval)
-#endif
+void demo_interval_display(double actual_interval)
 {
   static int count = 0;
   struct timeval now;
@@ -4076,15 +4071,7 @@ __forceinline void demo_interval_display(double actual_interval)
    important compilers have supported such a construct so it should
    not be a big deal. raj 2012-01-23 */
 
-#ifdef WIN32
-/* It would seem that the Microsoft compiler will not inline across
-   source files. So there is little point in having an inline
-   directive in that situation.  Of course that makes me wonder if an
-   inline directive has to appear in netlib.h... */
 void demo_interval_tick(uint32_t units)
-#else
-  inline void demo_interval_tick(uint32_t units)
-#endif
 {
   double actual_interval = 0.0;
 
diff --git src/netperf.c src/netperf.c
index 9344533..99563e7 100644
--- src/netperf.c
+++ src/netperf.c
@@ -67,6 +67,7 @@ char	netperf_id[]="\
 
 #ifdef WIN32
 #include <winsock2.h>
+#define WIN32_LEAN_AND_MEAN 1
 #include <windows.h>
 #include "missing\stdint.h"
 #endif /* WIN32 */
diff --git src/netserver.c src/netserver.c
index 9534722..03e987c 100644
--- src/netserver.c
+++ src/netserver.c
@@ -126,6 +126,7 @@ char	netserver_id[]="\
 #include <ws2tcpip.h>
 #endif
 
+#define WIN32_LEAN_AND_MEAN 1
 #include <windows.h>
 
 #include "missing\stdint.h"
diff --git src/nettest_bsd.c src/nettest_bsd.c
index 74ee34a..8a057c4 100644
--- src/nettest_bsd.c
+++ src/nettest_bsd.c
@@ -124,6 +124,8 @@ char	nettest_id[]="\
 #ifndef DONT_IPV6
 #include <ws2tcpip.h>
 #endif
+
+#define WIN32_LEAN_AND_MEAN 1
 #include <windows.h>
 
 #define sleep(x) Sleep((x)*1000)
