* REVISIONS:
* CSH 01/08-2000 Created
*/
-#include <ddk/ntddndis.h>
#include <miniport.h>
#include <protocol.h>
#ifdef DBG
#include <buffer.h>
#endif /* DBG */
+
/* Number of media we know */
#define MEDIA_ARRAY_SIZE 15
KeReleaseSpinLock(&Adapter->NdisMiniportBlock.Lock, OldIrql);
- (*AdapterBinding->ProtocolBinding->Chars.ReceiveHandler)(
- AdapterBinding->NdisOpenBlock.NdisCommonOpenBlock.ProtocolBindingContext,
+ (*AdapterBinding->ProtocolBinding->Chars.u4.ReceiveHandler)(
+ AdapterBinding->NdisOpenBlock.ProtocolBindingContext,
MacReceiveContext,
HeaderBuffer,
HeaderBufferSize,
KeReleaseSpinLock(&Adapter->NdisMiniportBlock.Lock, OldIrql);
(*AdapterBinding->ProtocolBinding->Chars.ReceiveCompleteHandler)(
- AdapterBinding->NdisOpenBlock.NdisCommonOpenBlock.ProtocolBindingContext);
+ AdapterBinding->NdisOpenBlock.ProtocolBindingContext);
KeAcquireSpinLock(&Adapter->NdisMiniportBlock.Lock, &OldIrql);
AdapterBinding = (PADAPTER_BINDING)Packet->Reserved[0];
- (*AdapterBinding->ProtocolBinding->Chars.SendCompleteHandler)(
- AdapterBinding->NdisOpenBlock.NdisCommonOpenBlock.ProtocolBindingContext,
+ (*AdapterBinding->ProtocolBinding->Chars.u2.SendCompleteHandler)(
+ AdapterBinding->NdisOpenBlock.ProtocolBindingContext,
Packet,
Status);
}
NDIS_DbgPrint(DEBUG_MINIPORT, ("Called.\n"));
- (*AdapterBinding->ProtocolBinding->Chars.TransferDataCompleteHandler)(
- AdapterBinding->NdisOpenBlock.NdisCommonOpenBlock.ProtocolBindingContext,
+ (*AdapterBinding->ProtocolBinding->Chars.u3.TransferDataCompleteHandler)(
+ AdapterBinding->NdisOpenBlock.ProtocolBindingContext,
Packet,
Status,
BytesTransferred);
} else {
Item = ExAllocatePool(NonPagedPool, sizeof(NDIS_MINIPORT_WORK_ITEM));
if (Item) {
-#if 0
/* Set flag so we know that the buffer should be freed
when work item is dequeued */
Item->Allocated = TRUE;
-#endif
} else {
NDIS_DbgPrint(MIN_TRACE, ("Insufficient resources.\n"));
return NDIS_STATUS_RESOURCES;
Item->WorkItemType = WorkItemType;
Item->WorkItemContext = WorkItemContext;
-#if 0
Item->Initiator = Initiator;
-#endif
+
Item->Link.Next = NULL;
if (!Adapter->WorkQueueHead) {
Adapter->WorkQueueHead = Item;
*WorkItemType = Item->WorkItemType;
*WorkItemContext = Item->WorkItemContext;
-#if 0
*Initiator = Item->Initiator;
+
if (Item->Allocated) {
-#else
- if (TRUE) {
-#endif
ExFreePool(Item);
} else {
Adapter->WorkQueueLevel--;
VOID
-STDCALL
+EXPORT
NdisMCloseLog(
IN NDIS_HANDLE LogHandle)
{
NDIS_STATUS
-STDCALL
+EXPORT
NdisMCreateLog(
IN NDIS_HANDLE MiniportAdapterHandle,
IN UINT Size,
VOID
-STDCALL
+EXPORT
NdisMDeregisterAdapterShutdownHandler(
IN NDIS_HANDLE MiniportHandle)
{
VOID
-STDCALL
+EXPORT
NdisMFlushLog(
IN NDIS_HANDLE LogHandle)
{
}
-#undef NdisMIndicateStatus
-
VOID
-STDCALL
+EXPORT
NdisMIndicateStatus(
IN NDIS_HANDLE MiniportAdapterHandle,
IN NDIS_STATUS GeneralStatus,
}
-#undef NdisMIndicateStatusComplete
-
VOID
-STDCALL
+EXPORT
NdisMIndicateStatusComplete(
IN NDIS_HANDLE MiniportAdapterHandle)
{
VOID
-STDCALL
+EXPORT
NdisInitializeWrapper(
OUT PNDIS_HANDLE NdisWrapperHandle,
IN PVOID SystemSpecific1,
}
-#undef NdisMQueryInformationComplete
-
VOID
-STDCALL
+EXPORT
NdisMQueryInformationComplete(
IN NDIS_HANDLE MiniportAdapterHandle,
IN NDIS_STATUS Status)
NDIS_DbgPrint(MAX_TRACE, ("Called.\n"));
(*AdapterBinding->ProtocolBinding->Chars.RequestCompleteHandler)(
- AdapterBinding->NdisOpenBlock.NdisCommonOpenBlock.ProtocolBindingContext,
+ AdapterBinding->NdisOpenBlock.ProtocolBindingContext,
Adapter->NdisMiniportBlock.MediaRequest,
Status);
}
VOID
-STDCALL
+EXPORT
NdisMRegisterAdapterShutdownHandler(
IN NDIS_HANDLE MiniportHandle,
IN PVOID ShutdownContext,
NDIS_STATUS
-STDCALL
+EXPORT
NdisMRegisterMiniport(
IN NDIS_HANDLE NdisWrapperHandle,
IN PNDIS_MINIPORT_CHARACTERISTICS MiniportCharacteristics,
switch (MiniportCharacteristics->MajorNdisVersion) {
case 0x03:
- MinSize = sizeof(NDIS30_MINIPORT_CHARACTERISTICS);
+ MinSize = sizeof(NDIS30_MINIPORT_CHARACTERISTICS_S);
break;
case 0x04:
- MinSize = sizeof(NDIS40_MINIPORT_CHARACTERISTICS);
+ MinSize = sizeof(NDIS40_MINIPORT_CHARACTERISTICS_S);
break;
case 0x05:
- MinSize = sizeof(NDIS50_MINIPORT_CHARACTERISTICS);
+ MinSize = sizeof(NDIS50_MINIPORT_CHARACTERISTICS_S);
break;
default:
/* Create the device object for this adapter */
/* FIXME: Use GUIDs */
- RtlInitUnicodeString(&Adapter->DeviceName, L"\\Device\\ne2000");
+ RtlInitUnicodeStringFromLiteral(&Adapter->DeviceName, L"\\Device\\ne2000");
Status = IoCreateDevice(Miniport->DriverObject,
0,
&Adapter->DeviceName,
AddressOID = OID_802_3_CURRENT_ADDRESS;
Adapter->AddressLength = ETH_LENGTH_OF_ADDRESS;
- Adapter->NdisMiniportBlock.FilterDbs.EthDB = ExAllocatePool(NonPagedPool,
+ Adapter->NdisMiniportBlock.FilterDbs.u.EthDB = ExAllocatePool(NonPagedPool,
sizeof(ETH_FILTER));
- if (Adapter->NdisMiniportBlock.FilterDbs.EthDB) {
- RtlZeroMemory(Adapter->NdisMiniportBlock.FilterDbs.EthDB, sizeof(ETH_FILTER));
- Adapter->NdisMiniportBlock.FilterDbs.EthDB->Miniport = (PNDIS_MINIPORT_BLOCK)Adapter;
+ if (Adapter->NdisMiniportBlock.FilterDbs.u.EthDB) {
+ RtlZeroMemory(Adapter->NdisMiniportBlock.FilterDbs.u.EthDB, sizeof(ETH_FILTER));
+ Adapter->NdisMiniportBlock.FilterDbs.u.EthDB->Miniport = (PNDIS_MINIPORT_BLOCK)Adapter;
} else
MemError = TRUE;
break;
VOID
-STDCALL
+EXPORT
NdisMResetComplete(
IN NDIS_HANDLE MiniportAdapterHandle,
IN NDIS_STATUS Status,
VOID
-STDCALL
+EXPORT
NdisMSendComplete(
IN NDIS_HANDLE MiniportAdapterHandle,
IN PNDIS_PACKET Packet,
VOID
-STDCALL
+EXPORT
NdisMSendResourcesAvailable(
IN NDIS_HANDLE MiniportAdapterHandle)
{
VOID
-STDCALL
+EXPORT
NdisMTransferDataComplete(
IN NDIS_HANDLE MiniportAdapterHandle,
IN PNDIS_PACKET Packet,
}
-#undef NdisMSetInformationComplete
-
VOID
-STDCALL
+EXPORT
NdisMSetInformationComplete(
IN NDIS_HANDLE MiniportAdapterHandle,
IN NDIS_STATUS Status)
NDIS_DbgPrint(MAX_TRACE, ("Called.\n"));
(*AdapterBinding->ProtocolBinding->Chars.RequestCompleteHandler)(
- AdapterBinding->NdisOpenBlock.NdisCommonOpenBlock.ProtocolBindingContext,
+ AdapterBinding->NdisOpenBlock.ProtocolBindingContext,
Adapter->NdisMiniportBlock.MediaRequest,
Status);
}
-#undef NdisMSetAttributes
-
VOID
-STDCALL
+EXPORT
NdisMSetAttributes(
IN NDIS_HANDLE MiniportAdapterHandle,
IN NDIS_HANDLE MiniportAdapterContext,
VOID
-STDCALL
+EXPORT
NdisMSetAttributesEx(
IN NDIS_HANDLE MiniportAdapterHandle,
IN NDIS_HANDLE MiniportAdapterContext,
VOID
-STDCALL
+EXPORT
NdisMSleep(
IN ULONG MicrosecondsToSleep)
{
BOOLEAN
-STDCALL
+EXPORT
NdisMSynchronizeWithInterrupt(
IN PNDIS_MINIPORT_INTERRUPT Interrupt,
IN PVOID SynchronizeFunction,
NDIS_STATUS
-STDCALL
+EXPORT
NdisMWriteLogData(
IN NDIS_HANDLE LogHandle,
IN PVOID LogBuffer,
VOID
-STDCALL
+EXPORT
NdisTerminateWrapper(
IN NDIS_HANDLE NdisWrapperHandle,
IN PVOID SystemSpecific)