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(
* IN ULONG ReceiveFlags);
*/
-#ifdef _M_IX86
+#if defined(_M_IX86) || defined(_M_AMD64)
#define NdisCopyLookaheadData(Destination, Source, Length, MacOptions) \
RtlCopyMemory(Destination, Source, Length)
#else
#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
#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 */
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)
+typedef struct _NDIS_WORK_ITEM
+{
+ PVOID Context;
+ NDIS_PROC Routine;
+ UCHAR WrapperReserved[8*sizeof(PVOID)];
+} NDIS_WORK_ITEM, *PNDIS_WORK_ITEM;
typedef struct _NDIS_BIND_PATHS {
UINT Number;
IN PNDIS_PROTOCOL_CHARACTERISTICS ProtocolCharacteristics,
IN UINT CharacteristicsLength);
+NDISAPI
+NDIS_STATUS
+DDKAPI
+NdisScheduleWorkItem(
+ IN PNDIS_WORK_ITEM WorkItem);
+
/* Obsoleted in Windows XP */
/* Prototypes for NDIS_MAC_CHARACTERISTICS */