From e611b132f9b8abe35b362e5870b74bce94a1e58e Mon Sep 17 00:00:00 2001 From: Adam Date: Sat, 16 May 2020 20:51:50 -0700 Subject: initial commit --- private/ntos/ndis/madge/detect/mdgncdet.h | 930 ++++++++++++++++++++++++++++++ 1 file changed, 930 insertions(+) create mode 100644 private/ntos/ndis/madge/detect/mdgncdet.h (limited to 'private/ntos/ndis/madge/detect/mdgncdet.h') diff --git a/private/ntos/ndis/madge/detect/mdgncdet.h b/private/ntos/ndis/madge/detect/mdgncdet.h new file mode 100644 index 000000000..0fc2046c5 --- /dev/null +++ b/private/ntos/ndis/madge/detect/mdgncdet.h @@ -0,0 +1,930 @@ +/**************************************************************************** +* +* MDGNCDET.H +* +* Madge Adapter Dection DLL Global Header File +* +* Copyright (c) Madge Networks Ltd 1994 +* +* COMPANY CONFIDENTIAL - RELEASED TO MICROSOFT CORP. ONLY FOR DEVELOPMENT +* OF WINDOWS95 NETCARD DETECTION - THIS SOURCE IS NOT TO BE RELEASED OUTSIDE +* OF MICROSOFT WITHOUT EXPLICIT WRITTEN PERMISSION FROM AN AUTHORISED +* OFFICER OF MADGE NETWORKS LTD. +* +* Created: PBA 19/08/1994 +* +****************************************************************************/ + +#ifndef __MDGNCDET__ +#define __MDGNCDET__ + + +/*--------------------------------------------------------------------------- +| +| Debugging macros. +| +|--------------------------------------------------------------------------*/ + +#if DBG + +#define MadgePrint1(p1) DbgPrint("MdgNcDet: "##p1) +#define MadgePrint2(p1, p2) DbgPrint("MdgNcDet: "##p1, (p2)) +#define MadgePrint3(p1, p2, p3) DbgPrint("MdgNcDet: "##p1, (p2), (p3)) + +#else + +#define MadgePrint1(p1) +#define MadgePrint2(p1, p2) +#define MadgePrint3(p1, p2, p3) + +#endif + + +/*--------------------------------------------------------------------------- +| +| Adapter option tokens. +| +Ý Note: The MDGMPISA and MDGMPMCA tokens are used so that the OEMSETUP.INF +Ý can be backwards compatible (and therefore upgradeable). +Ý +|--------------------------------------------------------------------------*/ + +#define MDGMPORT + +#ifdef MDGMPORT + +#define MDGAT L"MSMDGMPISA" +#define MDGATP L"MSMDGMPATP" +#define MDGISAC L"MSMDGMPISAC" +#define MDGISACP L"MSMDGMPISACP" +#define MDGPC L"MSMDGMPPC" +#define MDGSM16 L"MSMDGMPSM16" +#define MDGPNP L"MSMDGMPPNP" +#define MDGEISA L"MSMDGMPEISA" +#define MDGMC16 L"MSMDGMPMCA" +#define MDGMC32 L"MSMDGMPMC32" +#define MDGPCI L"MSMDGMPPCI" +#define MDGPCIBM L"MSMDGMPPCIBM" +#define MDGPCMCIA L"MSMDGMPPCMCIA" + +#endif + + +/*--------------------------------------------------------------------------- +| +Ý Name of the net detect DLL. +Ý +--------------------------------------------------------------------------*/ + +#define NET_DETECT_DLL_NAME "NETDTECT" + + +/*--------------------------------------------------------------------------- +| +| Resource constants. +Ý +Ý Note: For historical reasons DMA channel 0 is used to mean PIO and +Ý 0 < DMA channel < 16 means bus master DMA on ATULA based adapters. +Ý (This scheme also works well for Windows95 where we have to +Ý give a DMA resource range in the NETMADGE.INF file. The user +Ý must choose one of the valid DMA channels at installtion time. +Ý The simplest way to say to Windows95 that although we have +Ý said the we use a DMA channel we don't actually wont want is +Ý specify a DMA channel of 0 when the use wants PIO.) To make things +Ý easier for OEMSETUP.INF we have extended this approach. +Ý A DMA channel of GENERAL_DMA means the adapter uses DMA but +Ý the channel is determined by the driver at start up (EISA and MC). +Ý A DMA channel of GENERAL_MMIO means that the driver uses MMIO. +| +|--------------------------------------------------------------------------*/ + +#define RESOURCE_UNKNOWN 0xffff // Unknown DMA, IRQ etc. + +#define GENERAL_DMA 500 // DMA without explicit channel + // (EISA/MC). +#define GENERAL_MMIO 501 // General memory mapped IO. + +#define END_OF_LIST 1000 // End of a resource list. + + +/*--------------------------------------------------------------------------- +| +| Function typedefs for the functions exported by the individual adapter +| detection modules. +| +|--------------------------------------------------------------------------*/ + +typedef +LONG +(*NC_DETECT_IDENTIFY)( + LONG index, + WCHAR * buffer, + LONG bufferSize + ); + +typedef +LONG +(*NC_DETECT_FIRST_NEXT)( + LONG index, + INTERFACE_TYPE interface, + ULONG busNumber, + BOOL first, + VOID * * token, + LONG * confidence + ); + +typedef +LONG +(*NC_DETECT_OPEN_HANDLE)( + VOID * token, + VOID * * handle + ); + +typedef +LONG +(*NC_DETECT_CREATE_HANDLE)( + LONG index, + INTERFACE_TYPE interface, + ULONG busNumber, + VOID * * handle + ); + +typedef +LONG +(*NC_DETECT_CLOSE_HANDLE)( + VOID * handle + ); + +typedef +LONG +(*NC_DETECT_QUERY_CFG)( + VOID * handle, + WCHAR * buffer, + LONG bufferSize + ); + +typedef +LONG +(*NC_DETECT_VERIFY_CFG)( + VOID * handle, + WCHAR * buffer + ); + +typedef +LONG +(*NC_DETECT_QUERY_MASK)( + LONG index, + WCHAR * buffer, + LONG bufferSize + ); + +typedef +LONG +(*NC_DETECT_PARAM_RANGE)( + LONG index, + WCHAR * param, + LONG * buffer, + LONG * bufferSize + ); + +typedef +LONG +(*NC_DETECT_QUERY_PARAMETER_NAME)( + WCHAR * param, + WCHAR * buffer, + LONG bufferSize + ); + + +/*--------------------------------------------------------------------------- +| +| Structure used to hold all the information required by the main wrapper +| about an individual adapter setection module. +| +|--------------------------------------------------------------------------*/ + +typedef struct +{ + NC_DETECT_IDENTIFY NcDetectIdentifyHandler; + NC_DETECT_FIRST_NEXT NcDetectFirstNextHandler; + NC_DETECT_OPEN_HANDLE NcDetectOpenHandleHandler; + NC_DETECT_CREATE_HANDLE NcDetectCreateHandleHandler; + NC_DETECT_CLOSE_HANDLE NcDetectCloseHandleHandler; + NC_DETECT_QUERY_CFG NcDetectQueryCfgHandler; + NC_DETECT_VERIFY_CFG NcDetectVerifyCfgHandler; + NC_DETECT_QUERY_MASK NcDetectQueryMaskHandler; + NC_DETECT_PARAM_RANGE NcDetectParamRangeHandler; + NC_DETECT_QUERY_PARAMETER_NAME NcDetectQueryParameterNameHandler; + + LONG SupportedAdapters; + +} +DETECT_ADAPTER; + + +/*-------------------------------------------------------------------------- +| +| Structure for holding information about an adapter type. +| +---------------------------------------------------------------------------*/ + +typedef struct +{ + LONG Index; + WCHAR * InfId; + WCHAR * CardDescription; + WCHAR * Manufacturer; + WCHAR * Parameters; + NC_DETECT_FIRST_NEXT FirstNext; + ULONG SearchOrder; + +} +ADAPTER_INFO; + + +/*--------------------------------------------------------------------------- +| +| Structure for holding handles in the NcDetect routines. +| +---------------------------------------------------------------------------*/ + +typedef struct +{ + VOID * Handle; + LONG DriverNumber; + +} +ADAPTER_HANDLE; + + +/*--------------------------------------------------------------------------- +| +| Parameter identifier strings. Instantiated in MDGNCDET.C. +| +|--------------------------------------------------------------------------*/ + +extern WCHAR IrqString[]; +extern WCHAR IoAddrString[]; +extern WCHAR DmaChanString[]; +extern WCHAR AdapTypeString[]; +extern WCHAR SlotNumberString[]; +extern WCHAR MultiprocessorString[]; + + +/*--------------------------------------------------------------------------- +| +| Functions exported by MDGUTILS.C +| +|--------------------------------------------------------------------------*/ + +ULONG +UnicodeStrLen( + WCHAR * string + ); + +WCHAR * +FindParameterString( + WCHAR * string1, + WCHAR * string2 + ); + +VOID +ScanForNumber( + WCHAR * place, + ULONG * value, + BOOLEAN * found + ); + +VOID * +DetectAllocateHeap( + LONG size + ); + +VOID +DetectFreeHeap( + VOID * ptr + ); + +BOOLEAN +GetMcaKey( + ULONG busNumber, + VOID * * infoHandle + ); + +BOOLEAN +GetMcaPosId( + VOID * infoHandle, + ULONG slotNumber, + ULONG * posId + ); + +VOID +DeleteMcaKey( + VOID * infoHandle + ); + +BOOLEAN +GetEisaKey( + ULONG busNumber, + VOID * * infoHandle + ); + +BOOLEAN +GetEisaCompressedId( + VOID * infoHandle, + ULONG slotNumber, + ULONG * compressedId + ); + +VOID +DeleteEisaKey( + VOID * infoHandle + ); + +LONG +AppendParameter( + WCHAR * * buffer, + LONG * bufferSize, + WCHAR * title, + ULONG value + ); + +BOOLEAN +UnicodeStringsEqual( + WCHAR *string1, + WCHAR *string2 + ); + +BOOLEAN +MadgeCardAlreadyInstalled( + BOOLEAN useSlotNumber, + ULONG busNumber, + ULONG descriptor + ); + +ULONG +IsMultiprocessor(void); + +BOOLEAN +IsValueInList( + ULONG value, + ULONG * list + ); + +BOOLEAN +CheckForPcmciaCard( + ULONG * ioLocation, + ULONG * irqNumber + ); + + +/*--------------------------------------------------------------------------- +| +| Functions exported by MDGEISA.C. +| +|--------------------------------------------------------------------------*/ + +LONG +MadgeEisaIdentifyHandler( + LONG index, + WCHAR * buffer, + LONG bufferSize + ); + +LONG +MadgeEisaFirstNextHandler( + LONG index, + INTERFACE_TYPE interface, + ULONG busNumber, + BOOL first, + VOID * * token, + LONG * confidence + ); + +LONG +MadgeEisaOpenHandleHandler( + VOID * token, + VOID * * handle + ); + +LONG +MadgeEisaCreateHandleHandler( + LONG index, + INTERFACE_TYPE interface, + ULONG busNumber, + VOID * * handle + ); + +LONG +MadgeEisaCloseHandleHandler( + VOID * handle + ); + +LONG +MadgeEisaQueryCfgHandler( + VOID * handle, + WCHAR * buffer, + LONG bufferSize + ); + +LONG +MadgeEisaVerifyCfgHandler( + VOID * handle, + WCHAR * buffer + ); + +LONG +MadgeEisaQueryMaskHandler( + LONG index, + WCHAR * buffer, + LONG bufferSize + ); + +LONG +MadgeEisaParamRangeHandler( + LONG index, + WCHAR * param, + LONG * buffer, + LONG * bufferSize + ); + +LONG +MadgeEisaQueryParameterNameHandler( + WCHAR * param, + WCHAR * buffer, + LONG bufferSize + ); + + +/*--------------------------------------------------------------------------- +| +| Functions exported by MDGPCI.C. +| +|--------------------------------------------------------------------------*/ + +LONG +MadgePciIdentifyHandler( + LONG index, + WCHAR * buffer, + LONG bufferSize + ); + +LONG +MadgePciFirstNextHandler( + LONG index, + INTERFACE_TYPE interface, + ULONG busNumber, + BOOL first, + VOID * * token, + LONG * confidence + ); + +LONG +MadgePciOpenHandleHandler( + VOID * token, + VOID * * handle + ); + +LONG +MadgePciCreateHandleHandler( + LONG index, + INTERFACE_TYPE interface, + ULONG busNumber, + VOID * * handle + ); + +LONG +MadgePciCloseHandleHandler( + VOID * handle + ); + +LONG +MadgePciQueryCfgHandler( + VOID * handle, + WCHAR * buffer, + LONG bufferSize + ); + +LONG +MadgePciVerifyCfgHandler( + VOID * handle, + WCHAR * buffer + ); + +LONG +MadgePciQueryMaskHandler( + LONG index, + WCHAR * buffer, + LONG bufferSize + ); + +LONG +MadgePciParamRangeHandler( + LONG index, + WCHAR * param, + LONG * buffer, + LONG * bufferSize + ); + +LONG +MadgePciQueryParameterNameHandler( + WCHAR * param, + WCHAR * buffer, + LONG bufferSize + ); + + +/*--------------------------------------------------------------------------- +| +| Functions exported by MDGPCMC.C. +| +|--------------------------------------------------------------------------*/ + +LONG +MadgePcmciaIdentifyHandler( + LONG index, + WCHAR * buffer, + LONG bufferSize + ); + +LONG +MadgePcmciaFirstNextHandler( + LONG index, + INTERFACE_TYPE interface, + ULONG busNumber, + BOOL first, + VOID * * token, + LONG * confidence + ); + +LONG +MadgePcmciaOpenHandleHandler( + VOID * token, + VOID * * handle + ); + +LONG +MadgePcmciaCreateHandleHandler( + LONG index, + INTERFACE_TYPE interface, + ULONG busNumber, + VOID * * handle + ); + +LONG +MadgePcmciaCloseHandleHandler( + VOID * handle + ); + +LONG +MadgePcmciaQueryCfgHandler( + VOID * handle, + WCHAR * buffer, + LONG bufferSize + ); + +LONG +MadgePcmciaVerifyCfgHandler( + VOID * handle, + WCHAR * buffer + ); + +LONG +MadgePcmciaQueryMaskHandler( + LONG index, + WCHAR * buffer, + LONG bufferSize + ); + +LONG +MadgePcmciaParamRangeHandler( + LONG index, + WCHAR * param, + LONG * buffer, + LONG * bufferSize + ); + +LONG +MadgePcmciaQueryParameterNameHandler( + WCHAR * param, + WCHAR * buffer, + LONG bufferSize + ); + + +/*--------------------------------------------------------------------------- +| +| Functions exported by MDGAT.C. +| +|--------------------------------------------------------------------------*/ + +LONG +MadgeATIdentifyHandler( + LONG index, + WCHAR * buffer, + LONG bufferSize + ); + +LONG +MadgeATFirstNextHandler( + LONG index, + INTERFACE_TYPE interface, + ULONG busNumber, + BOOL first, + VOID * * token, + LONG * confidence + ); + +LONG +MadgeATOpenHandleHandler( + VOID * token, + VOID * * handle + ); + +LONG +MadgeATCreateHandleHandler( + LONG index, + INTERFACE_TYPE interface, + ULONG busNumber, + VOID * * handle + ); + +LONG +MadgeATCloseHandleHandler( + VOID * handle + ); + +LONG +MadgeATQueryCfgHandler( + VOID * handle, + WCHAR * buffer, + LONG bufferSize + ); + +LONG +MadgeATVerifyCfgHandler( + VOID * handle, + WCHAR * buffer + ); + +LONG +MadgeATQueryMaskHandler( + LONG index, + WCHAR * buffer, + LONG bufferSize + ); + +LONG +MadgeATParamRangeHandler( + LONG index, + WCHAR * param, + LONG * buffer, + LONG * bufferSize + ); + +LONG +MadgeATQueryParameterNameHandler( + WCHAR * param, + WCHAR * buffer, + LONG bufferSize + ); + + +/*--------------------------------------------------------------------------- +| +| Functions exported by MDGSM16.C. +| +|--------------------------------------------------------------------------*/ + +LONG +MadgeSm16IdentifyHandler( + LONG index, + WCHAR * buffer, + LONG bufferSize + ); + +LONG +MadgeSm16FirstNextHandler( + LONG index, + INTERFACE_TYPE interface, + ULONG busNumber, + BOOL first, + VOID * * token, + LONG * confidence + ); + +LONG +MadgeSm16OpenHandleHandler( + VOID * token, + VOID * * handle + ); + +LONG +MadgeSm16CreateHandleHandler( + LONG index, + INTERFACE_TYPE interface, + ULONG busNumber, + VOID * * handle + ); + +LONG +MadgeSm16CloseHandleHandler( + VOID * handle + ); + +LONG +MadgeSm16QueryCfgHandler( + VOID * handle, + WCHAR * buffer, + LONG bufferSize + ); + +LONG +MadgeSm16VerifyCfgHandler( + VOID * handle, + WCHAR * buffer + ); + +LONG +MadgeSm16QueryMaskHandler( + LONG index, + WCHAR * buffer, + LONG bufferSize + ); + +LONG +MadgeSm16ParamRangeHandler( + LONG index, + WCHAR * param, + LONG * buffer, + LONG * bufferSize + ); + +LONG +MadgeSm16QueryParameterNameHandler( + WCHAR * param, + WCHAR * buffer, + LONG bufferSize + ); + + +/*--------------------------------------------------------------------------- +| +| Functions exported by MDGPNP.C. +| +|--------------------------------------------------------------------------*/ + +LONG +MadgePnPIdentifyHandler( + LONG index, + WCHAR * buffer, + LONG bufferSize + ); + +LONG +MadgePnPFirstNextHandler( + LONG index, + INTERFACE_TYPE interface, + ULONG busNumber, + BOOL first, + VOID * * token, + LONG * confidence + ); + +LONG +MadgePnPOpenHandleHandler( + VOID * token, + VOID * * handle + ); + +LONG +MadgePnPCreateHandleHandler( + LONG index, + INTERFACE_TYPE interface, + ULONG busNumber, + VOID * * handle + ); + +LONG +MadgePnPCloseHandleHandler( + VOID * handle + ); + +LONG +MadgePnPQueryCfgHandler( + VOID * handle, + WCHAR * buffer, + LONG bufferSize + ); + +LONG +MadgePnPVerifyCfgHandler( + VOID * handle, + WCHAR * buffer + ); + +LONG +MadgePnPQueryMaskHandler( + LONG index, + WCHAR * buffer, + LONG bufferSize + ); + +LONG +MadgePnPParamRangeHandler( + LONG index, + WCHAR * param, + LONG * buffer, + LONG * bufferSize + ); + +LONG +MadgePnPQueryParameterNameHandler( + WCHAR * param, + WCHAR * buffer, + LONG bufferSize + ); + + +/*--------------------------------------------------------------------------- +| +| Functions exported by MDGMC.C. +| +|--------------------------------------------------------------------------*/ + +LONG +MadgeMCIdentifyHandler( + LONG index, + WCHAR * buffer, + LONG bufferSize + ); + +LONG +MadgeMCFirstNextHandler( + LONG index, + INTERFACE_TYPE interface, + ULONG busNumber, + BOOL first, + VOID * * token, + LONG * confidence + ); + +LONG +MadgeMCOpenHandleHandler( + VOID * token, + VOID * * handle + ); + +LONG +MadgeMCCreateHandleHandler( + LONG index, + INTERFACE_TYPE interface, + ULONG busNumber, + VOID * * handle + ); + +LONG +MadgeMCCloseHandleHandler( + VOID * handle + ); + +LONG +MadgeMCQueryCfgHandler( + VOID * handle, + WCHAR * buffer, + LONG bufferSize + ); + +LONG +MadgeMCVerifyCfgHandler( + VOID * handle, + WCHAR * buffer + ); + +LONG +MadgeMCQueryMaskHandler( + LONG index, + WCHAR * buffer, + LONG bufferSize + ); + +LONG +MadgeMCParamRangeHandler( + LONG index, + WCHAR * param, + LONG * buffer, + LONG * bufferSize + ); + +LONG +MadgeMCQueryParameterNameHandler( + WCHAR * param, + WCHAR * buffer, + LONG bufferSize + ); + + +#endif + +/******** End of MDGNCDET.H ************************************************/ + -- cgit v1.2.3