summaryrefslogtreecommitdiffstats
path: root/private/ntos/ndis/ieepro/epro.h
diff options
context:
space:
mode:
Diffstat (limited to 'private/ntos/ndis/ieepro/epro.h')
-rw-r--r--private/ntos/ndis/ieepro/epro.h221
1 files changed, 221 insertions, 0 deletions
diff --git a/private/ntos/ndis/ieepro/epro.h b/private/ntos/ndis/ieepro/epro.h
new file mode 100644
index 000000000..f5f6ed7aa
--- /dev/null
+++ b/private/ntos/ndis/ieepro/epro.h
@@ -0,0 +1,221 @@
+#ifndef _IEPRO_
+#define _IEPRO_
+
+#define EPRO_DRIVER_VER_MAJOR 1
+#define EPRO_DRIVER_VER_MINOR 0
+
+#include "eprosw.h"
+
+///////////////////////////////////////////////////////////////////
+//epro.c:
+///////////////////////////////////////////////////////////////////
+
+NDIS_STATUS EProSelReset(PEPRO_ADAPTER adapter);
+
+VOID EProInitializeAdapterData(PEPRO_ADAPTER adapter);
+
+VOID EProEnableInterrupts(IN NDIS_HANDLE miniportAdapterContext);
+
+VOID EProDisableInterrupts(IN NDIS_HANDLE miniportAdapterContext);
+
+BOOLEAN EProVerifyRoundRobin(UCHAR *buf);
+
+BOOLEAN EProPowerupBoard(PEPRO_ADAPTER adapter);
+
+extern VOID EProHalt(IN NDIS_HANDLE miniportAdapterContext);
+
+NDIS_STATUS EProReset(OUT PBOOLEAN fAddressingReset,
+ IN NDIS_HANDLE miniportAdapterContext);
+
+BOOLEAN EProCheckForHang(IN NDIS_HANDLE miniportAdapterContext);
+
+VOID EProHandleInterrupt(IN NDIS_HANDLE miniportAdapterContext);
+
+VOID EProISR(OUT PBOOLEAN interruptRecognized,
+ OUT PBOOLEAN queueMiniportHandleInterrupt,
+ IN NDIS_HANDLE miniportAdapterContext);
+
+BOOLEAN EProCardReadEthernetAddress(PEPRO_ADAPTER adapter);
+
+BOOLEAN EProAltIOCHRDYTest(PEPRO_ADAPTER adapter);
+
+BOOLEAN EProSyncSetInterruptMask(PVOID context);
+
+// This is implemented via a macro
+//VOID EProSetInterruptMask(PEPRO_ADAPTER adapter, UCHAR newMask);
+
+#define EProSetInterruptMask(_adapter, _newMask) { \
+ EPRO_SETINTERRUPT_CONTEXT _context; \
+ _context.Adapter = _adapter; \
+ _context.NewMask = _newMask; \
+ NdisMSynchronizeWithInterrupt(&_adapter->Interrupt, \
+ &EProSyncSetInterruptMask, \
+ &_context); \
+}
+
+BOOLEAN EProWaitForExeDma(PEPRO_ADAPTER adapter);
+
+BOOLEAN EProReceiveEnable(PEPRO_ADAPTER adapter);
+
+BOOLEAN EProReceiveDisable(PEPRO_ADAPTER adapter);
+
+VOID EProMyLog(char *s);
+
+//VOID EProTimerFunc(IN PVOID foo1, IN PVOID context, IN PVOID foo2, IN PVOID foo3);
+
+#if DBG
+
+VOID EProLogStr(char *s);
+VOID EProLogLong(ULONG l);
+VOID EProLogBuffer(UCHAR *s, ULONG len);
+
+#else
+
+#define EProLogStr(a)
+#define EProLogLong(a)
+#define EProLogBuffer(a, b)
+
+#endif
+
+///////////////////////////////////////////////////////////////////
+// init.c
+///////////////////////////////////////////////////////////////////
+
+NTSTATUS DriverEntry(IN PDRIVER_OBJECT pDriverObject_,
+ IN PUNICODE_STRING RegistryPath_);
+
+NDIS_STATUS EProInitialize(OUT PNDIS_STATUS openErrorStatus,
+ OUT PUINT selectedMedumIndex,
+ IN PNDIS_MEDIUM medumArray,
+ IN UINT mediumArraySize,
+ IN NDIS_HANDLE miniportAdapterHandle,
+ IN NDIS_HANDLE configurationHandle);
+
+NDIS_STATUS EProReadConfiguration(IN PEPRO_ADAPTER adapterxo,
+ IN NDIS_HANDLE configurationHandle);
+
+NDIS_STATUS EProRegisterAdapterHW(IN PEPRO_ADAPTER adapter);
+
+NDIS_STATUS EProInitialReset(IN PEPRO_ADAPTER adapter);
+
+NDIS_STATUS EProHWInitialize(IN PEPRO_ADAPTER adapter);
+
+VOID EProUpdateEEProm(IN PEPRO_ADAPTER adapter);
+
+NDIS_STATUS EProHWConfigure(IN PEPRO_ADAPTER adapter);
+
+//////////////////////////////////////////////////////////////////////
+// request.c:
+//////////////////////////////////////////////////////////////////////
+
+NDIS_STATUS EProSetInformation(IN NDIS_HANDLE miniportAdapterContext,
+ IN NDIS_OID oid,
+ IN PVOID informationBuffer,
+ IN ULONG informationLength,
+ OUT PULONG bytesRead,
+ OUT PULONG bytesNeeded);
+
+NDIS_STATUS EProQueryInformation(IN NDIS_HANDLE miniportAdapterContext,
+ IN NDIS_OID oid,
+ IN PVOID informationBuffer,
+ IN ULONG informationBuffrLength,
+ OUT PULONG bytesWritten,
+ OUT PULONG bytesNeeded);
+
+BOOLEAN EProSetEthernetAddress(PEPRO_ADAPTER adapter);
+
+NDIS_STATUS EProSetPacketFilter(PEPRO_ADAPTER adapter, ULONG newFilter);
+
+BOOLEAN EProSyncBroadcastPromiscuousChange(PVOID context);
+
+// Implemented via a macro
+//VOID EProBroadcastPromiscuousChange(PEPRO_ADAPTER adapter, UCHAR reg2flags);
+#define EProBroadcastPromiscuousChange(_adapter, _reg2Flags) { \
+ EPRO_BRDPROM_CONTEXT _context; \
+ _context.Adapter =_adapter; \
+ _context.Reg2Flags = _reg2Flags; \
+ NdisMSynchronizeWithInterrupt(&adapter->Interrupt, \
+ &EProSyncBroadcastPromiscuousChange, \
+ (PVOID)&_context); \
+}
+
+
+//////////////////////////////////////////////////////////////////////
+// eeprom.c:
+//////////////////////////////////////////////////////////////////////
+
+// EEProm Routines
+VOID EProEECleanup(PEPRO_ADAPTER adapter);
+VOID EProEEUpdateChecksum(PEPRO_ADAPTER adapter);
+VOID EProEEStandBy(PEPRO_ADAPTER adapter);
+VOID EProEERead(PEPRO_ADAPTER adapter, USHORT address, PUSHORT data);
+VOID EProEEWrite(PEPRO_ADAPTER adapter, USHORT address, USHORT data);
+VOID EProEEReverseRead(PEPRO_ADAPTER adapter, USHORT address, PUSHORT data);
+VOID EProEEShiftOutBits(PEPRO_ADAPTER adapter, USHORT data, SHORT count);
+VOID EProEEShiftInBits(PEPRO_ADAPTER adapter, PUSHORT data, SHORT count);
+VOID EProEEReverseShiftInBits(PEPRO_ADAPTER adapter, PUSHORT data, SHORT count);
+VOID EProEERaiseClock(PEPRO_ADAPTER adapter, PUCHAR result);
+VOID EProEELowerClock(PEPRO_ADAPTER adapter, PUCHAR result);
+BOOLEAN EProEEWaitCmdDone(PEPRO_ADAPTER adapter);
+
+
+//////////////////////////////////////////////////////////////////////
+// sndrcv.c
+//////////////////////////////////////////////////////////////////////
+
+BOOLEAN EProSyncReadBufferFromNicUlong(PVOID context);
+BOOLEAN EProSyncWriteBufferToNicUlong(PVOID context);
+
+NDIS_STATUS EProSend(IN NDIS_HANDLE miniportAdapterContext,
+ IN PNDIS_PACKET packet,
+ IN UINT flags);
+
+VOID EProCopyPacketToCard(PEPRO_ADAPTER adapter, PNDIS_PACKET packet);
+
+
+BOOLEAN EProCheckTransmitCompletion(PEPRO_ADAPTER adapter,
+ PEPRO_TRANSMIT_BUFFER txBuf);
+
+UINT EProHandleReceive(PEPRO_ADAPTER adapter);
+
+NDIS_STATUS EProTransferData(OUT PNDIS_PACKET packet,
+ OUT PUINT bytesTransferred,
+ IN NDIS_HANDLE miniportAdapterContext,
+ IN NDIS_HANDLE miniportReceivedContext,
+ IN UINT byteOffset,
+ IN UINT bytesToTransfer);
+
+BOOLEAN EProChangeMulticastList(PEPRO_ADAPTER adapter,
+ UINT addressCount,
+ UCHAR addresses[][EPRO_LENGTH_OF_ADDRESS]);
+
+#define EPRO_SET_CARD_MC 0
+#define EPRO_CLEAR_CARD_MC 1
+BOOLEAN EProSetCardMulticastList(PEPRO_ADAPTER adapter, int operation);
+
+BOOLEAN EProSyncCopyBufferToNicUlong(PVOID context);
+
+#define EPRO_READ_BUFFER_FROM_NIC_ULONG(adapter, buffer, len) \
+ { \
+ EPRO_COPYBUF_CONTEXT _context; \
+ _context.Adapter = adapter; \
+ _context.Buffer = buffer; \
+ _context.Len = len; \
+ NdisMSynchronizeWithInterrupt(&adapter->Interrupt, \
+ &EProSyncReadBufferFromNicUlong, \
+ (PVOID)&_context); \
+ }
+
+#define EPRO_COPY_BUFFER_TO_NIC_ULONG(adapter, buffer, len) \
+ { \
+ EPRO_COPYBUF_CONTEXT _context; \
+ _context.Adapter = adapter; \
+ _context.Buffer = buffer; \
+ _context.Len = len; \
+ NdisMSynchronizeWithInterrupt(&adapter->Interrupt, \
+ &EProSyncCopyBufferToNicUlong, \
+ (PVOID)&_context); \
+ }
+
+
+#endif _IEPRO_