- Merge aicom-network-fixes up to r36740
[reactos.git] / reactos / include / ddk / ndis.h
index 396c5d0..089369a 100644 (file)
@@ -842,6 +842,19 @@ typedef struct _NDIS_PACKET_EXTENSION {
   PVOID  NdisPacketInfo[MaxPerPacketInfo];
 } NDIS_PACKET_EXTENSION, *PNDIS_PACKET_EXTENSION;
 
+typedef struct _NDIS_OBJECT_HEADER {
+  UCHAR  Type;
+  UCHAR  Revision;
+  USHORT  Size;
+} NDIS_OBJECT_HEADER, *PNDIS_OBJECT_HEADER;
+
+typedef struct _NDIS_GENERIC_OBJECT {
+  NDIS_OBJECT_HEADER  Header;
+  PVOID  Caller;
+  PVOID  CallersCaller;
+  PDRIVER_OBJECT  DriverObject;
+} NDIS_GENERIC_OBJECT, *PNDIS_GENERIC_OBJECT;
+
 /*
  * PNDIS_PACKET
  * NDIS_GET_ORIGINAL_PACKET(
@@ -1589,7 +1602,7 @@ NdisCopyFromPacketToPacket(
  *   IN ULONG ReceiveFlags);
  */
 
-#ifdef _M_IX86
+#if defined(_M_IX86) || defined(_M_AMD64)
 #define NdisCopyLookaheadData(Destination, Source, Length, MacOptions) \
   RtlCopyMemory(Destination, Source, Length)
 #else
@@ -2285,7 +2298,7 @@ NdisDestroyLookaheadBufferFromSharedMemory(
 
 #endif
 
-#if defined(_M_IX86) || defined(_M_AMD64) || defined(_M_ARM)
+#if defined(_M_IX86) || defined(_M_AMD64) || defined(_M_ARM) || defined(_M_PPC)
 
 /*
  * VOID
@@ -2309,17 +2322,17 @@ NdisDestroyLookaheadBufferFromSharedMemory(
 #else
 
 #define NdisMoveMappedMemory(Destination, Source, Length) \
-{
-  PUCHAR _Dest = Destination, _Src = Source, _End = _Dest + Length;
-  while (_Dest < _End)
-    *_Dest++ = _Src++;
+{ \
+  PUCHAR _Dest = Destination, _Src = Source, _End = _Dest + Length; \
+  while (_Dest < _End) \
+    *_Dest++ = _Src++; \
 }
 
 #define NdisZeroMappedMemory(Destination, Length) \
-{
-  PUCHAR _Dest = Destination, _End = _Dest + Length;
-  while (_Dest < _End)
-    *_Dest++ = 0;
+{ \
+  PUCHAR _Dest = Destination, _End = _Dest + Length; \
+  while (_Dest < _End) \
+    *_Dest++ = 0; \
 }
 
 #endif /* _M_IX86 or _M_AMD64 */
@@ -4152,6 +4165,8 @@ typedef struct _NDIS_MINIPORT_WORK_ITEM {
        PVOID  WorkItemContext;
 } NDIS_MINIPORT_WORK_ITEM, *PNDIS_MINIPORT_WORK_ITEM;
 
+/* Forward declare to pick up a consistent type */
+typedef struct _NDIS_WORK_ITEM;
 #pragma warning(push)
 typedef VOID    (*NDIS_PROC)(struct _NDIS_WORK_ITEM *, PVOID);
 #pragma warning(pop)
@@ -4162,7 +4177,6 @@ typedef struct _NDIS_WORK_ITEM
     UCHAR WrapperReserved[8*sizeof(PVOID)];
 } NDIS_WORK_ITEM, *PNDIS_WORK_ITEM;
 
-
 typedef struct _NDIS_BIND_PATHS {
        UINT  Number;
        NDIS_STRING  Paths[1];