summaryrefslogtreecommitdiffstats
path: root/private/ntos/ndis/digi/pcimac/adapter.h
diff options
context:
space:
mode:
Diffstat (limited to 'private/ntos/ndis/digi/pcimac/adapter.h')
-rw-r--r--private/ntos/ndis/digi/pcimac/adapter.h223
1 files changed, 223 insertions, 0 deletions
diff --git a/private/ntos/ndis/digi/pcimac/adapter.h b/private/ntos/ndis/digi/pcimac/adapter.h
new file mode 100644
index 000000000..9a6f3b43e
--- /dev/null
+++ b/private/ntos/ndis/digi/pcimac/adapter.h
@@ -0,0 +1,223 @@
+/*
+ * ADAPTER.H - NDIS Adapter Interface, main include file
+ */
+
+
+#ifndef _ADAPTER_
+#define _ADAPTER_
+
+#define PCIMAC_KEY_BOARDTYPE "BoardType"
+#define PCIMAC_KEY_BASEIO "IOBaseAddress"
+#define PCIMAC_KEY_BASEMEM "MemoryMappedBaseAddress"
+#define PCIMAC_KEY_BOARDNAME "BoardName"
+#define PCIMAC_KEY_LINENAME "LineName"
+#define PCIMAC_KEY_NUMLINES "NumberOfLines"
+#define PCIMAC_KEY_IDPFILENAME "IDPImageFileName"
+#define PCIMAC_KEY_SWITCHSTYLE "SwitchStyle"
+#define PCIMAC_KEY_TERMINALMANAGEMENT "TerminalManagement"
+#define PCIMAC_KEY_NUMLTERMS "LogicalTerminals"
+#define PCIMAC_KEY_TEI "TEI"
+#define PCIMAC_KEY_SPID "SPID"
+#define PCIMAC_KEY_ADDRESS "Address"
+#define PCIMAC_KEY_LINE "Line"
+#define PCIMAC_KEY_LTERM "LTerm"
+#define PCIMAC_KEY_WAITFORL3 "WaitForL3"
+#define PCIMAC_KEY_GENERICDEFINES "GenericDefines"
+
+/* global driver obect */
+typedef struct tagDRIVER_BLOCK
+{
+ NDIS_HANDLE NdisMacHandle;
+ NDIS_HANDLE NdisWrapperHandle;
+ struct _ADAPTER* AdapterTbl[MAX_ADAPTERS_IN_SYSTEM];
+ ULONG InDriverFlag;
+ ULONG NumberOfAdaptersInSystem;
+ ULONG NextAdapterToPoll;
+ struct _ADAPTER* CurrentAdapter;
+ NDIS_SPIN_LOCK lock;
+} DRIVER_BLOCK;
+
+typedef struct _ADAPTER
+{
+ NDIS_HANDLE Handle;
+// ULONG InDriverFlag;
+// NDIS_SPIN_LOCK InDriverLock;
+ CHAR Name[64];
+ ULONG BaseIO;
+ PVOID VBaseIO;
+ ULONG BaseMem;
+ PVOID VBaseMem;
+ ULONG BoardType;
+ ULONG TapiBaseID;
+ ULONG NumberOfIddOnAdapter;
+ ULONG LastIddPolled;
+ VOID *TapiLineInfo[MAX_CM_PER_ADAPTER]; // 8
+ VOID *IddTbl[MAX_IDD_PER_ADAPTER]; // 4
+ VOID *CmTbl[MAX_CM_PER_ADAPTER]; // 8
+ VOID *MtlTbl[MAX_MTL_PER_ADAPTER]; // 8
+ NDIS_MINIPORT_TIMER IddPollTimer; // idd polling timer
+ NDIS_MINIPORT_TIMER MtlPollTimer; // mtl polling timer
+ NDIS_MINIPORT_TIMER CmPollTimer; // cm polling timer
+}ADAPTER;
+
+typedef struct _CONFIGPARAM
+{
+ INT ParamType;
+ CHAR String[512];
+ ULONG StringLen;
+ ULONG Value;
+ ULONG MustBePresent;
+ NDIS_HANDLE ConfigHandle;
+ NDIS_HANDLE AdapterHandle;
+} CONFIGPARAM;
+
+VOID StopTimers(ADAPTER* Adapter);
+VOID StartTimers(ADAPTER* Adapter);
+
+//VOID
+//SetInDriverFlag(
+// ADAPTER *Adapter
+// );
+//
+//VOID
+//ClearInDriverFlag(
+// ADAPTER *Adapter
+// );
+//
+//ULONG
+//CheckInDriverFlag(
+// ADAPTER *Adapter
+// );
+
+VOID
+SetInDriverFlag(
+ ADAPTER *Adapter
+ );
+
+VOID
+ClearInDriverFlag(
+ ADAPTER *Adapter
+ );
+
+ULONG
+CheckInDriverFlag(
+ ADAPTER *Adapter
+ );
+
+BOOLEAN
+PcimacCheckForHang(
+ NDIS_HANDLE AdapterContext
+ );
+
+VOID
+PcimacHalt(
+ NDIS_HANDLE AdapterContext
+ );
+
+NDIS_STATUS
+PcimacInitialize(
+ PNDIS_STATUS OpenErrorStatus,
+ PUINT SelectMediumIndex,
+ PNDIS_MEDIUM MediumArray,
+ UINT MediumArraySize,
+ NDIS_HANDLE AdapterHandle,
+ NDIS_HANDLE WrapperConfigurationContext
+ );
+
+NDIS_STATUS
+PcimacSetQueryInfo(
+ NDIS_HANDLE AdapterContext,
+ NDIS_OID Oid,
+ PVOID InfoBuffer,
+ ULONG InfoBufferLen,
+ PULONG BytesWritten,
+ PULONG BytesNeeded
+ );
+
+NDIS_STATUS
+PcimacReconfigure(
+ PNDIS_STATUS OpenErrorStatus,
+ NDIS_HANDLE AdapterContext,
+ NDIS_HANDLE WrapperConfigurationContext
+ );
+
+NDIS_STATUS
+PcimacReset(
+ PBOOLEAN AddressingReset,
+ NDIS_HANDLE AdapterContext
+ );
+
+NDIS_STATUS
+PcimacSend(
+ NDIS_HANDLE MacBindingHandle,
+ NDIS_HANDLE LinkContext,
+ PNDIS_WAN_PACKET WanPacket
+ );
+
+INT
+IoEnumAdapter(
+ VOID *cmd_1
+ );
+
+ADAPTER*
+GetAdapterByIndex(
+ ULONG Index
+ );
+
+ULONG
+EnumAdaptersInSystem(
+ VOID
+ );
+
+ADAPTER*
+GetNextAdapter(
+ ADAPTER *Adapter
+ );
+
+VOID
+AdapterDestroy(
+ ADAPTER *Adapter
+ );
+
+NDIS_STATUS
+WanOidProc(
+ NDIS_HANDLE AdapterContext,
+ NDIS_OID Oid,
+ PVOID InfoBuffer,
+ ULONG InfoBufferLen,
+ PULONG BytesReadWritten,
+ PULONG BytesNeeded
+ );
+
+NDIS_STATUS
+TapiOidProc(
+ NDIS_HANDLE AdapterContext,
+ NDIS_OID Oid,
+ PVOID InfoBuffer,
+ ULONG InfoBufferLen,
+ PULONG BytesWritten,
+ PULONG BytesNeeded
+ );
+
+NDIS_STATUS
+LanOidProc(
+ NDIS_HANDLE AdapterContext,
+ NDIS_OID Oid,
+ PVOID InfoBuffer,
+ ULONG InfoBufferLen,
+ PULONG BytesReadWritten,
+ PULONG BytesNeeded
+ );
+
+
+#if DIGIASSERT
+#undef ASSERT
+#define ASSERT( STRING ) \
+ if( !(STRING) ) \
+ { \
+ DbgPrint( "ASSERT failed: " #STRING "\nfile: %s, line %d\n", __FILE__, __LINE__ ); \
+ DbgBreakPoint(); \
+ }
+#endif
+
+#endif /* _ADAPTER_ */