summaryrefslogtreecommitdiffstats
path: root/private/ntos/ndis/netflex/protos.h
diff options
context:
space:
mode:
Diffstat (limited to 'private/ntos/ndis/netflex/protos.h')
-rw-r--r--private/ntos/ndis/netflex/protos.h450
1 files changed, 450 insertions, 0 deletions
diff --git a/private/ntos/ndis/netflex/protos.h b/private/ntos/ndis/netflex/protos.h
new file mode 100644
index 000000000..47204461d
--- /dev/null
+++ b/private/ntos/ndis/netflex/protos.h
@@ -0,0 +1,450 @@
+//************************************************************************
+//************************************************************************
+//
+// File Name: PROTOS.H
+//
+// Program Name: NetFlex NDIS 3.0 Miniport Driver
+//
+// Companion Files: All
+//
+// Function: This module contains the NetFlex Miniport Driver
+// routine prototypes references.
+//
+// (c) Compaq Computer Corporation, 1992,1993,1994
+//
+// This file is licensed by Compaq Computer Corporation to Microsoft
+// Corporation pursuant to the letter of August 20, 1992 from
+// Gary Stimac to Mark Baber.
+//
+// History:
+//
+// 04/15/94 Robert Van Cleve - Converted from NDIS Mac Driver
+//***********************************************************************
+//***********************************************************************
+
+
+#ifndef _PROTOS_
+#define _PROTOS_
+
+
+NDIS_STATUS
+NetFlexBoardTest(
+ PACB acb,
+ NDIS_HANDLE NdisAdapterHandle
+ );
+
+NDIS_STATUS
+NetFlexBoardInitandReg(
+ PACB acb,
+ PNDIS_EISA_FUNCTION_INFORMATION EisaData
+ );
+
+
+VOID
+NetFlexSetupNetType(
+ PACB acb
+ );
+
+VOID
+NetFlexGetBIA(
+ PACB acb
+ );
+
+NDIS_STATUS
+NetFlexDownload(
+ PACB acb
+ );
+
+NDIS_STATUS
+NetFlexReadConfigurationParameters(
+ PACB acb,
+ NDIS_HANDLE ConfigHandle
+ );
+
+VOID
+NetFlexGetUpstreamAddrPtr(
+ PACB acb
+ );
+
+//++
+
+NTSTATUS
+DriverEntry(
+ IN PDRIVER_OBJECT DriverObject,
+ IN PUNICODE_STRING RegistryPath
+ );
+
+BOOLEAN
+NetFlexCheckForHang(
+ IN NDIS_HANDLE MiniportAdapterContext
+ );
+
+VOID
+NetFlexISR(
+ OUT PBOOLEAN InterruptRecognized,
+ OUT PBOOLEAN QueueDpc,
+ IN PVOID Context
+ );
+
+VOID
+NetFlexHandleInterrupt(
+ IN NDIS_HANDLE MiniportAdapterContext
+ );
+
+VOID
+NetFlexDeferredTimer(
+ IN PVOID SystemSpecific1,
+ IN PACB acb,
+ IN PVOID SystemSpecific2,
+ IN PVOID SystemSpecific3
+ );
+
+VOID
+NetFlexEnableInterrupt(
+ IN NDIS_HANDLE Context
+ );
+
+VOID
+NetFlexDisableInterrupt(
+ IN NDIS_HANDLE Context
+ );
+
+VOID
+NetFlexHalt(
+ IN NDIS_HANDLE MiniportAdapterContext
+ );
+
+VOID
+NetFlexShutdown(
+ IN NDIS_HANDLE MiniportAdapterContext
+ );
+
+NDIS_STATUS
+NetFlexInitialize(
+ OUT PNDIS_STATUS OpenErrorStatus,
+ OUT PUINT SelectedMediumIndex,
+ IN PNDIS_MEDIUM MediumArray,
+ IN UINT MediumArraySize,
+ IN NDIS_HANDLE MiniportAdapterHandle,
+ IN NDIS_HANDLE ConfigurationHandle
+ );
+
+NDIS_STATUS
+NetFlexSetInformation(
+ IN NDIS_HANDLE MiniportAdapterContext,
+ IN NDIS_OID Oid,
+ IN PVOID InformationBuffer,
+ IN ULONG InformationBufferLength,
+ OUT PULONG BytesRead,
+ OUT PULONG BytesNeeded
+ );
+
+NDIS_STATUS
+NetFlexQueryInformation(
+ IN NDIS_HANDLE MiniportAdapterContext,
+ IN NDIS_OID Oid,
+ IN PVOID InformationBuffer,
+ IN ULONG InformationBufferLength,
+ OUT PULONG BytesWritten,
+ OUT PULONG BytesNeeded
+ );
+
+VOID
+NetFlexFinishQueryInformation(
+ PACB acb,
+ NDIS_STATUS Status
+ );
+
+NDIS_STATUS
+NetFlexResetDispatch(
+ OUT PBOOLEAN AddressingReset,
+ IN NDIS_HANDLE MiniportAdapterContext
+ );
+
+VOID
+NetFlexResetHandler(
+ IN PVOID SystemSpecific1,
+ IN PACB acb,
+ IN PVOID SystemSpecific2,
+ IN PVOID SystemSpecific3
+ );
+
+NDIS_STATUS NetFlexSend(
+ IN NDIS_HANDLE MiniportAdapterContext,
+ IN PNDIS_PACKET Packet,
+ IN UINT Flags
+ );
+
+NDIS_STATUS NetFlexTransferData(
+ OUT PNDIS_PACKET Packet,
+ OUT PUINT BytesTransferred,
+ IN NDIS_HANDLE MiniportAdapterContext,
+ IN NDIS_HANDLE MiniportReceiveContext,
+ IN UINT ByteOffset,
+ IN UINT BytesToTransfer
+ );
+
+NDIS_STATUS
+NetFlexRegisterAdapter(
+ PACB *acbp,
+ PACB FirstHeadsAcb,
+ NDIS_HANDLE ConfigurationHandle,
+ USHORT baseaddr,
+ NDIS_HANDLE MiniportAdapterHandle
+ );
+
+NDIS_STATUS
+NetFlexInitializeAcb(
+ PACB acb
+ );
+VOID
+NetFlexDeallocateAcb(
+ PACB acb);
+
+
+VOID
+NetFlexSendNextSCB(
+ PACB acb
+ );
+
+VOID
+NetFlexRemoveRequests(
+ PACB acb
+ );
+
+VOID
+NetFlexDoResetIndications(
+ IN PACB acb,
+ IN NDIS_STATUS Status
+ );
+
+VOID
+NetFlexQueueSCB(
+ PACB acb,
+ PSCBREQ scbreq
+ );
+
+NDIS_STATUS
+NetFlexAdapterReset(
+ PACB acb,
+ INT mode
+ );
+
+NDIS_STATUS
+NetFlexBudWait(
+ PACB acb
+ );
+
+NDIS_STATUS
+NetFlexInitializeAdapter(
+ PACB acb
+ );
+
+NDIS_STATUS
+NetFlexProcessRequest(
+ PACB acb
+ );
+
+VOID
+NetFlexFinishUnloading(
+ VOID
+ );
+
+VOID
+NetFlexDeregisterAdapter(
+ PACB acb
+ );
+
+NDIS_STATUS
+NetFlexAsciiToHex(
+ PNDIS_STRING src,
+ PUCHAR dst,
+ USHORT dst_length
+ );
+
+VOID
+FASTCALL
+NetFlexProcessXmit(
+ PACB acb
+ );
+
+USHORT
+FASTCALL
+NetFlexProcessTrRcv(
+ PACB acb
+ );
+
+USHORT
+FASTCALL
+NetFlexProcessEthRcv(
+ PACB acb
+ );
+
+NDIS_STATUS
+NetFlexProcessSendQueue(
+ PACB acb
+ );
+
+NDIS_STATUS
+NetFlexProcessSend(
+ PACB acb,
+ PNDIS_PACKET Packet,
+ UINT PhysicalBufferCount,
+ UINT BufferCount,
+ PNDIS_BUFFER curbuf,
+ UINT TotalPacketLength
+ );
+
+VOID
+NetFlexGetUpstreamAddress(
+ PACB acb
+ );
+
+VOID
+NetFlexRingStatus(
+ PACB acb
+ );
+
+VOID
+NetFlexCommand(
+ PACB acb
+ );
+
+VOID
+NetFlexTransmitStatus(
+ PACB acb
+ );
+
+BOOLEAN
+NetFlexReset_Test(
+ PACB acb,
+ PMACREQ *resetreq
+ );
+
+VOID
+NetFlexProcessMacReq(
+ PACB acb
+ );
+
+NDIS_STATUS
+NetFlexValidateMulticasts(
+ PUCHAR multiaddrs,
+ USHORT multinumber
+ );
+
+NDIS_STATUS
+NetFlexOpenAdapter(
+ PACB acb
+ );
+
+
+BOOLEAN
+NetFlexCloseAdapter(
+ PACB acb
+ );
+
+NDIS_STATUS
+NetFlexInitGlobals(
+ );
+
+NDIS_STATUS
+NetFlexConstrainPacket(
+ PACB acb,
+ PXMIT xmitptr,
+ PNDIS_PACKET Packet,
+ UINT PhysicalBufferCount,
+ PNDIS_BUFFER curbuf,
+ UINT TotalPacketLength
+ );
+
+BOOLEAN
+NetFlexFindEntry(
+ PVOID head,
+ PVOID *back,
+ PVOID entry
+ );
+VOID
+NetFlexDequeue_OnePtrQ(
+ PVOID *head,
+ PVOID entry
+ );
+
+VOID
+NetFlexEnqueue_OnePtrQ_Head(
+ PVOID *head,
+ PVOID entry
+ );
+
+NDIS_STATUS
+NetFlexDequeue_OnePtrQ_Head(
+ PVOID *head,
+ PVOID *entry
+ );
+
+NDIS_STATUS
+NetFlexEnqueue_TwoPtrQ_Tail(
+ PVOID *head,
+ PVOID *tail,
+ PVOID entry
+ );
+
+VOID
+NetFlexDequeue_TwoPtrQ(
+ PVOID *head,
+ PVOID *tail,
+ PVOID entry
+ );
+
+NDIS_STATUS
+NetFlexDequeue_TwoPtrQ_Head(
+ PVOID *head,
+ PVOID *tail,
+ PVOID *entry
+ );
+
+//
+// Debug macros
+//
+
+#if (DBG || DBGPRINT)
+extern ULONG DebugLevel;
+
+
+VOID
+_DebugPrint(
+ PCCHAR DebugMessage,
+ ...
+ );
+
+#define DebugPrint(level, msg) \
+ if ((ULONG) level <= DebugLevel) \
+ _DebugPrint msg
+
+extern USHORT DisplayLists;
+VOID
+_DisplayXmitList(
+ PACB acb
+ );
+
+VOID
+_DisplayRcvList(
+ PACB acb
+ );
+
+#define DisplayXmitList(_acb) \
+ if (DisplayLists) \
+ _DisplayXmitList(_acb)
+
+#define DisplayRcvList(_acb) \
+ if (DisplayLists) \
+ _DisplayRcvList(_acb)
+
+#else
+
+#define DebugPrint(level, x)
+#define DisplayXmitList(x)
+#define DisplayRcvList(x)
+#endif // DBG
+
+
+#endif