Fix one more bug in NDK, and fix w32api headers to use FLOWSPEC structure inside NDIS.h, and use qos.h instead of winsock2, and implement FLOWSPEC in qos.h, moving it outside from winsock2.
Modified: trunk/reactos/include/ndk/umtypes.h
Modified: trunk/reactos/include/ndk/zwfuncs.h
Modified: trunk/reactos/w32api/include/ddk/ndis.h
Added: trunk/reactos/w32api/include/qos.h
Modified: trunk/reactos/w32api/include/winsock2.h

Modified: trunk/reactos/include/ndk/umtypes.h
--- trunk/reactos/include/ndk/umtypes.h	2005-06-22 17:43:59 UTC (rev 16216)
+++ trunk/reactos/include/ndk/umtypes.h	2005-06-22 17:58:19 UTC (rev 16217)
@@ -734,7 +734,6 @@
 typedef struct _OBJECT_TYPE *POBJECT_TYPE;
 struct _ETHREAD;
 struct _CSR_API_MESSAGE;
-struct _EVENT_TRACE_HEADER; /* <--- We might want to declare this one */
 typedef ULONG EXECUTION_STATE;
 
 /* Basic NT Types */

Modified: trunk/reactos/include/ndk/zwfuncs.h
--- trunk/reactos/include/ndk/zwfuncs.h	2005-06-22 17:43:59 UTC (rev 16216)
+++ trunk/reactos/include/ndk/zwfuncs.h	2005-06-22 17:58:19 UTC (rev 16217)
@@ -13,6 +13,7 @@
 #include "lpctypes.h"
 #include "zwtypes.h"
 #include "kdtypes.h"
+#include <evntrace.h>
 
 /* FUNCTION TYPES ************************************************************/
 

Modified: trunk/reactos/w32api/include/ddk/ndis.h
--- trunk/reactos/w32api/include/ddk/ndis.h	2005-06-22 17:43:59 UTC (rev 16216)
+++ trunk/reactos/w32api/include/ddk/ndis.h	2005-06-22 17:58:19 UTC (rev 16217)
@@ -40,7 +40,7 @@
 #include "ntddndis.h"
 #include "netpnp.h"
 #include "netevent.h"
-#include <winsock2.h>
+#include <qos.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -729,17 +729,6 @@
   ULONG  MinorVersion;
 } CO_ADDRESS_FAMILY, *PCO_ADDRESS_FAMILY;
 
-typedef struct _CO_FLOW_PARAMETERS {
-  ULONG  TokenRate;
-  ULONG  TokenBucketSize;
-  ULONG  PeakBandwidth;
-  ULONG  Latency;
-  ULONG  DelayVariation;
-  SERVICETYPE  ServiceType;
-  ULONG  MaxSduSize;
-  ULONG  MinimumPolicedSize;
-} CO_FLOW_PARAMETERS, *PCO_FLOW_PARAMETERS;
-
 typedef struct _CO_SPECIFIC_PARAMETERS {
   ULONG  ParamType;
   ULONG  Length;
@@ -747,8 +736,8 @@
 } CO_SPECIFIC_PARAMETERS, *PCO_SPECIFIC_PARAMETERS;
 
 typedef struct _CO_CALL_MANAGER_PARAMETERS {
-  CO_FLOW_PARAMETERS  Transmit;
-  CO_FLOW_PARAMETERS  Receive;
+  FLOWSPEC  Transmit;
+  FLOWSPEC  Receive;
   CO_SPECIFIC_PARAMETERS  CallMgrSpecific;
 } CO_CALL_MANAGER_PARAMETERS, *PCO_CALL_MANAGER_PARAMETERS;
 

Added: trunk/reactos/w32api/include/qos.h
--- trunk/reactos/w32api/include/qos.h	2005-06-22 17:43:59 UTC (rev 16216)
+++ trunk/reactos/w32api/include/qos.h	2005-06-22 17:58:19 UTC (rev 16217)
@@ -0,0 +1,46 @@
+/*
+ * qos.h
+ *
+ * Structures and definitions for QoS data types.
+ *
+ * This file is part of the w32api package.
+ *
+ * Contributors:
+ *   Created by Alex Ionescu <alex@relsoft.net>
+ *
+ * THIS SOFTWARE IS NOT COPYRIGHTED
+ *
+ * This source code is offered for use in the public domain. You may
+ * use, modify or distribute it freely.
+ *
+ * This code is distributed in the hope that it will be useful but
+ * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
+ * DISCLAIMED. This includes but is not limited to warranties of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ */
+#ifndef __QOS_H
+#define __QOS_H
+#if __GNUC__ >=3
+#pragma GCC system_header
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef ULONG SERVICETYPE;
+
+typedef struct _flowspec
+{
+    ULONG TokenRate;
+    ULONG TokenBucketSize;
+    ULONG PeakBandwidth;
+    ULONG Latency;
+    ULONG DelayVariation;
+    SERVICETYPE	ServiceType;
+    ULONG MaxSduSize;
+    ULONG MinimumPolicedSize;
+} FLOWSPEC, *PFLOWSPEC, *LPFLOWSPEC;
+
+#endif

Modified: trunk/reactos/w32api/include/winsock2.h
--- trunk/reactos/w32api/include/winsock2.h	2005-06-22 17:43:59 UTC (rev 16216)
+++ trunk/reactos/w32api/include/winsock2.h	2005-06-22 17:58:19 UTC (rev 16217)
@@ -670,29 +670,6 @@
 	GuaranteedService
 } GUARANTEE;
 
-/* TODO: FLOWSPEC and related definitions belong in qos.h */
-
-/*
-   Windows Sockets 2 Application Programming Interface,
-   revision 2.2.2 (1997) uses the type uint32 for SERVICETYPE
-   and the elements of _flowspec, but the type uint32 is not defined
-   or used anywhere else in the w32api. For now, just use
-   unsigned int, which is 32 bits on _WIN32 and _WIN64.
-*/
-
-typedef unsigned int	SERVICETYPE;
-typedef struct _flowspec
-{
-	unsigned int	TokenRate;
-	unsigned int	TokenBucketSize;
-	unsigned int	PeakBandwidth;
-	unsigned int	Latency;
-	unsigned int	DelayVariation;
-	SERVICETYPE	ServiceType;
-	unsigned int	MaxSduSize;
-	unsigned int	MinimumPolicedSize;
-   } FLOWSPEC, *PFLOWSPEC, *LPFLOWSPEC;
-
 typedef struct _QualityOfService
 {
 	FLOWSPEC	SendingFlowspec;