diff options
Diffstat (limited to '')
-rw-r--r-- | private/ntos/ndis/pcimac/adapter.h | 230 |
1 files changed, 230 insertions, 0 deletions
diff --git a/private/ntos/ndis/pcimac/adapter.h b/private/ntos/ndis/pcimac/adapter.h new file mode 100644 index 000000000..673a01082 --- /dev/null +++ b/private/ntos/ndis/pcimac/adapter.h @@ -0,0 +1,230 @@ +/* + * 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 +PcimacDisableInterrupts( + NDIS_HANDLE AdapterContext + ); + +VOID +PcimacEnableInterrupts( + NDIS_HANDLE AdapterContext + ); + +VOID +PcimacHalt( + NDIS_HANDLE AdapterContext + ); + +VOID +PcimacHandleInterrupt( + NDIS_HANDLE AdapterContext + ); + +NDIS_STATUS +PcimacInitialize( + PNDIS_STATUS OpenErrorStatus, + PUINT SelectMediumIndex, + PNDIS_MEDIUM MediumArray, + UINT MediumArraySize, + NDIS_HANDLE AdapterHandle, + NDIS_HANDLE WrapperConfigurationContext + ); + +VOID +PcimacISR( + PBOOLEAN InterruptRecognized, + PBOOLEAN QueueMiniportHandleInterrupt, + NDIS_HANDLE AdapterContext + ); + +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 + ); + +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 + ); + + +#endif /* _ADAPTER_ */ |