diff --git a/reactos/drivers/net/ndis/include/miniport.h b/reactos/drivers/net/ndis/include/miniport.h index a769365454c..5a6205b9113 100644 --- a/reactos/drivers/net/ndis/include/miniport.h +++ b/reactos/drivers/net/ndis/include/miniport.h @@ -8,6 +8,7 @@ #ifndef __MINIPORT_H #define __MINIPORT_H +#include #include struct _ADAPTER_BINDING; @@ -70,6 +71,36 @@ typedef struct _NDIS_WRAPPER_CONTEXT { #define GET_MINIPORT_DRIVER(Handle)((PNDIS_M_DRIVER_BLOCK)Handle) +#ifndef NUMBER_OF_WORK_ITEM_TYPES + +typedef enum _NDIS_WORK_ITEM_TYPE { + NdisWorkItemRequest, + NdisWorkItemSend, + NdisWorkItemReturnPackets, + NdisWorkItemResetRequested, + NdisWorkItemResetInProgress, + NdisWorkItemHalt, + NdisWorkItemSendLoopback, + NdisWorkItemMiniportCallback, + NdisMaxWorkItems +} NDIS_WORK_ITEM_TYPE, *PNDIS_WORK_ITEM_TYPE; + +#define NUMBER_OF_WORK_ITEM_TYPES NdisMaxWorkItems +#define NUMBER_OF_SINGLE_WORK_ITEMS 6 + +typedef struct _NDIS_MINIPORT_WORK_ITEM { + SINGLE_LIST_ENTRY Link; + NDIS_WORK_ITEM_TYPE WorkItemType; + PVOID WorkItemContext; +} NDIS_MINIPORT_WORK_ITEM, *PNDIS_MINIPORT_WORK_ITEM; + +typedef struct _X_FILTER FDDI_FILTER, *PFDDI_FILTER; + +typedef VOID (NTAPI *W_MINIPORT_CALLBACK)( + IN NDIS_HANDLE MiniportAdapterContext, + IN PVOID CallbackContext); +#endif + /* Information about a logical adapter */ typedef struct _LOGICAL_ADAPTER { diff --git a/reactos/drivers/net/ndis/include/ndissys.h b/reactos/drivers/net/ndis/include/ndissys.h index 5303aadf2a4..1de5a9983ee 100644 --- a/reactos/drivers/net/ndis/include/ndissys.h +++ b/reactos/drivers/net/ndis/include/ndissys.h @@ -11,9 +11,19 @@ #define __NDISSYS_H typedef unsigned long NDIS_STATS; + +/* This magical flag combo seems to work. Filip should verify this */ +#undef NDIS_WRAPPER +#define NDIS_LEGACY_DRIVER 1 +#define NDIS_LEGACY_MINIPORT 1 +#define NDIS_LEGACY_PROTOCOL 1 +#define NDIS51_MINIPORT 1 +#define NDIS_MINIPORT_DRIVER 1 #include +#undef EXPORT #include #include +#include #if _MSC_VER /* FIXME: These were removed and are no longer used! */ @@ -23,13 +33,6 @@ typedef unsigned long NDIS_STATS; typedef struct _ATM_ADDRESS *PATM_ADDRESS; #endif /* _MSC_VER */ -/* FIXME: This should go away once NDK will be compatible with MS DDK headers. */ -#if _MSC_VER -NTSTATUS NTAPI ZwDuplicateObject(IN HANDLE, IN HANDLE, IN HANDLE, OUT PHANDLE, IN ACCESS_MASK, IN ULONG, IN ULONG); -#else -#include -#endif - struct _ADAPTER_BINDING; typedef struct _NDISI_PACKET_POOL { diff --git a/reactos/drivers/net/ndis/ndis/buffer.c b/reactos/drivers/net/ndis/ndis/buffer.c index 6a616be4a61..90d8676b430 100644 --- a/reactos/drivers/net/ndis/ndis/buffer.c +++ b/reactos/drivers/net/ndis/ndis/buffer.c @@ -8,7 +8,7 @@ * CSH 01/08-2000 Created */ -#include +#include __inline ULONG SkipToOffset(