Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1631 lines
28 KiB

/*++
Copyright (c) 1990 Microsoft Corporation
Module Name:
detect.h
Abstract:
The internal header for the MsNetDetect DLL.
Author:
Sean Selitrennikoff (SeanSe) October 1992
Environment:
This is expected to work in DOS, OS2 and NT at the equivalent
of user mode.
Notes:
Revision History:
--*/
#ifndef _NET_DETECT_
#define _NET_DETECT_
//
// The compiler has a bug which does not handle the \0 character in a unicode
// string correctly. This flag implements a workaround for the bug.
//
#if _MSC_VER < 1000
#define WORKAROUND 1
#endif
//
// Private memory allocation routines
//
/*
PVOID
NTAPI
DetectAllocateHeap(
IN ULONG Size
)
*/
#define DetectAllocateHeap( Size ) RtlAllocateHeap( RtlProcessHeap(), 0, (Size) )
/*
BOOLEAN
NTAPI
DetectFreeHeap(
IN PVOID BaseAddress
)
*/
#define DetectFreeHeap( BaseAddress ) RtlFreeHeap( RtlProcessHeap(), 0, (BaseAddress) )
BOOLEAN
LoadAdapterInformation(
IN PWSTR BusName,
IN UINT AdapterEntrySize,
OUT PVOID *AdapterList,
OUT UINT *CountOfAdapters
);
//
// This action routine is called when a handling a NcDetectIdentify.
//
typedef
LONG
(*NC_DETECT_IDENTIFY)(
IN LONG Index,
IN WCHAR * Buffer,
IN LONG BuffSize
);
//
// This action routine is called when a handling a NcDetectFirstNext.
//
typedef
LONG
(*NC_DETECT_FIRST_NEXT)(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
IN BOOL First,
OUT PVOID *pvToken,
OUT LONG *Confidence
);
//
// This action routine is called when a handling a NcDetectOpenHandle.
//
typedef
LONG
(*NC_DETECT_OPEN_HANDLE)(
IN PVOID Token,
OUT PVOID *Handle
);
//
// This action routine is called when a handling a NcDetectCreateHandle.
//
typedef
LONG
(*NC_DETECT_CREATE_HANDLE)(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
OUT PVOID *Handle
);
//
// This action routine is called when a handling a NcDetectCloseHandle.
//
typedef
LONG
(*NC_DETECT_CLOSE_HANDLE)(
IN PVOID Handle
);
//
// This action routine is called when a handling a NcDetectQueryCfg.
//
typedef
LONG
(*NC_DETECT_QUERY_CFG)(
IN PVOID Handle,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
//
// This action routine is called when a handling a NcDetectVerifyCfg.
//
typedef
LONG
(*NC_DETECT_VERIFY_CFG)(
IN PVOID Handle,
IN WCHAR *Buffer
);
//
// This action routine is called when a handling a NcDetectQueryMask.
//
typedef
LONG
(*NC_DETECT_QUERY_MASK)(
IN LONG NetcardId,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
//
// This action routine is called when a handling a NcDetectParamRange.
//
typedef
LONG
(*NC_DETECT_PARAM_RANGE)(
IN LONG NetcardId,
IN WCHAR *Param,
OUT LONG *Values,
OUT LONG *BuffSize
);
//
// This action routine is called when a handling a NcDetectQueryParameterName.
//
typedef
LONG
(*NC_DETECT_QUERY_PARAMETER_NAME)(
IN WCHAR *Param,
OUT WCHAR *Buffer,
IN LONG BufferSize
);
typedef struct _COMMON_ADAPTER_INFO
{
LONG Index;
PWCHAR InfId;
ULONG Id;
ULONG Mask;
PWCHAR Parameters;
NC_DETECT_FIRST_NEXT FirstNext;
ULONG BusNumber;
ULONG SlotNumber;
}
COMMON_ADAPTER_INFO,
*PCOMMON_ADAPTER_INFO;
//
// Main structure
//
// This structure holds all the information necessary for a single
// adapters detection. It holds the adapter names recognized and the
// handling routines for the adapters.
//
typedef struct _DETECT_ADAPTER {
//
// Routines for handling requests
//
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, *PDETECT_ADAPTER;
//
// Extracts the DLL structure from the handle.
//
#define PDETECT_ADAPTER_FROM_HANDLE(Handle) ((PDETECT_ADAPTER)(Handle))
//
// Makes a handle from the DLL's structure.
//
#define HANDLE_FROM_PDETECT_ADAPTER(Adapter) ((PVOID)(Adapter))
//
// Helpful defines
//
//
// Constant strings for parameters
//
extern WCHAR IrqString[];
extern WCHAR IrqTypeString[];
extern WCHAR IoAddrString[];
extern WCHAR IoLengthString[];
extern WCHAR MemAddrString[];
extern WCHAR MemLengthString[];
extern WCHAR TransceiverString[];
extern WCHAR ZeroWaitStateString[];
extern WCHAR SlotNumberString[];
extern WCHAR IoChannelReadyString[];
extern WCHAR CardTypeString[];
extern WCHAR PcmciaString[];
extern WCHAR PCCARDAttributeMemLengthString[];
extern WCHAR PCCARDAttributeMemString[];
//
// This is the routine for copying information to a card which contains
// an 8390 (or compatible) NIC.
//
typedef
VOID
(*COPY_ROUTINE)(
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
IN ULONG IoBaseAddress,
IN ULONG MemoryBaseAddress,
IN PUCHAR Buffer,
IN ULONG Length
);
//
// Helpful functions
//
ULONG
UnicodeStrLen(
IN WCHAR *String
);
WCHAR *
FindParameterString(
IN WCHAR *String1,
IN WCHAR *String2
);
VOID
ScanForNumber(
IN WCHAR *Place,
OUT ULONG *Value,
OUT BOOLEAN *Found
);
BOOLEAN
CheckFor8390(
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
IN ULONG IoBaseAddress
);
VOID
Send8390Packet(
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
IN ULONG IoBaseAddress,
IN ULONG MemoryBaseAddress,
IN COPY_ROUTINE CardCopyDownBuffer,
IN UCHAR *NetworkAddress
);
BOOLEAN
GetMcaKey(
IN ULONG BusNumber,
OUT PVOID *BusHandle
);
BOOLEAN
GetMcaPosId(
IN PVOID BusHandle,
IN ULONG SlotNumber,
OUT PULONG PosId
);
VOID
DeleteMcaKey(
IN PVOID BusHandle
);
BOOLEAN
GetEisaKey(
IN ULONG BusNumber,
OUT PVOID *BusHandle
);
BOOLEAN
GetEisaCompressedId(
IN PVOID BusHandle,
IN ULONG SlotNumber,
OUT PULONG CompressedId,
IN ULONG Mask
);
VOID
DeleteEisaKey(
IN PVOID BusHandle
);
BOOLEAN PcmciaGetCardInfo(
OUT PHANDLE phCardInfo,
IN PWSTR pCardName
);
VOID PcmciaFreeCardInfo(
HANDLE hCardInfo
);
BOOLEAN PcmciaQueryCardResource(
OUT PVOID *ppvValue,
IN HANDLE hCardInfo,
IN ULONG ulResource
);
//
// Structure for the individual drivers for holding card info
//
typedef struct _ADAPTER_INFO {
LONG Index;
PWCHAR InfId;
PWCHAR Parameters;
NC_DETECT_FIRST_NEXT FirstNext;
ULONG SearchOrder;
}ADAPTER_INFO, *PADAPTER_INFO;
//
// Structure for holding handles in the NcDetect routines
//
typedef struct _ADAPTER_HANDLE {
PVOID Handle;
LONG DriverNumber;
} ADAPTER_HANDLE, *PADAPTER_HANDLE;
//
// Non-network detection routines
//
VOID
FreeAdapterInformation(
IN PVOID AdapterList,
IN UINT NumberOfAdapters
);
extern
VOID
SoundBlaster(
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber
);
//
// Lance Detection routines
//
extern LONG LanceIdentifyHandler(
IN LONG Index,
IN WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG LanceFirstNextHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
IN BOOL First,
OUT PVOID *Token,
OUT LONG *Confidence
);
extern LONG LanceOpenHandleHandler(
IN PVOID Token,
OUT PVOID *Handle
);
extern LONG LanceCreateHandleHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
OUT PVOID *Handle
);
extern LONG LanceCloseHandleHandler(
IN PVOID Handle
);
extern LONG LanceQueryCfgHandler(
IN PVOID Handle,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG LanceVerifyCfgHandler(
IN PVOID Handle,
IN WCHAR *Buffer
);
extern LONG LanceQueryMaskHandler(
IN LONG NetcardId,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG LanceParamRangeHandler(
IN LONG NetcardId,
IN WCHAR *Param,
OUT LONG *plValues,
OUT LONG *plBuffSize
);
extern LONG LanceQueryParameterNameHandler(
IN WCHAR *Param,
OUT WCHAR *Buffer,
IN LONG BufferSize
);
//
// Ibmtok Detection routines
//
extern LONG IbmtokIdentifyHandler(
IN LONG Index,
IN WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG IbmtokFirstNextHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
IN BOOL First,
OUT PVOID *Token,
OUT LONG *Confidence
);
extern LONG IbmtokOpenHandleHandler(
IN PVOID Token,
OUT PVOID *Handle
);
extern LONG IbmtokCreateHandleHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
OUT PVOID *Handle
);
extern LONG IbmtokCloseHandleHandler(
IN PVOID Handle
);
extern LONG IbmtokQueryCfgHandler(
IN PVOID Handle,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG IbmtokVerifyCfgHandler(
IN PVOID Handle,
IN WCHAR *Buffer
);
extern LONG IbmtokQueryMaskHandler(
IN LONG NetcardId,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG IbmtokParamRangeHandler(
IN LONG NetcardId,
IN WCHAR *Param,
OUT LONG *plValues,
OUT LONG *plBuffSize
);
extern LONG IbmtokQueryParameterNameHandler(
IN WCHAR *Param,
OUT WCHAR *Buffer,
IN LONG BufferSize
);
//
// Wd Detection routines
//
extern LONG WdIdentifyHandler(
IN LONG Index,
IN WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG WdFirstNextHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
IN BOOL First,
OUT PVOID *Token,
OUT LONG *Confidence
);
extern LONG WdOpenHandleHandler(
IN PVOID Token,
OUT PVOID *Handle
);
extern LONG WdCreateHandleHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
OUT PVOID *Handle
);
extern LONG WdCloseHandleHandler(
IN PVOID Handle
);
extern LONG WdQueryCfgHandler(
IN PVOID Handle,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG WdVerifyCfgHandler(
IN PVOID Handle,
IN WCHAR *Buffer
);
extern LONG WdQueryMaskHandler(
IN LONG NetcardId,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG WdParamRangeHandler(
IN LONG NetcardId,
IN WCHAR *Param,
OUT LONG *plValues,
OUT LONG *plBuffSize
);
extern LONG WdQueryParameterNameHandler(
IN WCHAR *Param,
OUT WCHAR *Buffer,
IN LONG BufferSize
);
//
// Elnkii Detection routines
//
extern LONG ElnkiiIdentifyHandler(
IN LONG Index,
IN WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG ElnkiiFirstNextHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
IN BOOL First,
OUT PVOID *Token,
OUT LONG *Confidence
);
extern LONG ElnkiiOpenHandleHandler(
IN PVOID Token,
OUT PVOID *Handle
);
extern LONG ElnkiiCreateHandleHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
OUT PVOID *Handle
);
extern LONG ElnkiiCloseHandleHandler(
IN PVOID Handle
);
extern LONG ElnkiiQueryCfgHandler(
IN PVOID Handle,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG ElnkiiVerifyCfgHandler(
IN PVOID Handle,
IN WCHAR *Buffer
);
extern LONG ElnkiiQueryMaskHandler(
IN LONG NetcardId,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG ElnkiiParamRangeHandler(
IN LONG NetcardId,
IN WCHAR *Param,
OUT LONG *plValues,
OUT LONG *plBuffSize
);
extern LONG ElnkiiQueryParameterNameHandler(
IN WCHAR *Param,
OUT WCHAR *Buffer,
IN LONG BufferSize
);
//
// Ne2000 Detection routines
//
extern LONG Ne2000IdentifyHandler(
IN LONG Index,
IN WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG Ne2000FirstNextHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
IN BOOL First,
OUT PVOID *Token,
OUT LONG *Confidence
);
extern LONG Ne2000OpenHandleHandler(
IN PVOID Token,
OUT PVOID *Handle
);
extern LONG Ne2000CreateHandleHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
OUT PVOID *Handle
);
extern LONG Ne2000CloseHandleHandler(
IN PVOID Handle
);
extern LONG Ne2000QueryCfgHandler(
IN PVOID Handle,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG Ne2000VerifyCfgHandler(
IN PVOID Handle,
IN WCHAR *Buffer
);
extern LONG Ne2000QueryMaskHandler(
IN LONG NetcardId,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG Ne2000ParamRangeHandler(
IN LONG NetcardId,
IN WCHAR *Param,
OUT LONG *plValues,
OUT LONG *plBuffSize
);
extern LONG Ne2000QueryParameterNameHandler(
IN WCHAR *Param,
OUT WCHAR *Buffer,
IN LONG BufferSize
);
//
// Ne1000 Detection routines
//
extern LONG Ne1000IdentifyHandler(
IN LONG Index,
IN WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG Ne1000FirstNextHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
IN BOOL First,
OUT PVOID *Token,
OUT LONG *Confidence
);
extern LONG Ne1000OpenHandleHandler(
IN PVOID Token,
OUT PVOID *Handle
);
extern LONG Ne1000CreateHandleHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
OUT PVOID *Handle
);
extern LONG Ne1000CloseHandleHandler(
IN PVOID Handle
);
extern LONG Ne1000QueryCfgHandler(
IN PVOID Handle,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG Ne1000VerifyCfgHandler(
IN PVOID Handle,
IN WCHAR *Buffer
);
extern LONG Ne1000QueryMaskHandler(
IN LONG NetcardId,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG Ne1000ParamRangeHandler(
IN LONG NetcardId,
IN WCHAR *Param,
OUT LONG *plValues,
OUT LONG *plBuffSize
);
extern LONG Ne1000QueryParameterNameHandler(
IN WCHAR *Param,
OUT WCHAR *Buffer,
IN LONG BufferSize
);
//
// Mca Detection routines
//
extern VOID
FreeMcaAdapterInfo(
VOID
);
extern BOOLEAN
LoadMcaAdapterInfo(
VOID
);
extern LONG McaIdentifyHandler(
IN LONG Index,
IN WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG McaFirstNextHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
IN BOOL First,
OUT PVOID *Token,
OUT LONG *Confidence
);
extern LONG McaOpenHandleHandler(
IN PVOID Token,
OUT PVOID *Handle
);
extern LONG McaCreateHandleHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
OUT PVOID *Handle
);
extern LONG McaCloseHandleHandler(
IN PVOID Handle
);
extern LONG McaQueryCfgHandler(
IN PVOID Handle,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG McaVerifyCfgHandler(
IN PVOID Handle,
IN WCHAR *Buffer
);
extern LONG McaQueryMaskHandler(
IN LONG NetcardId,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG McaParamRangeHandler(
IN LONG NetcardId,
IN WCHAR *Param,
OUT LONG *plValues,
OUT LONG *plBuffSize
);
extern LONG McaQueryParameterNameHandler(
IN WCHAR *Param,
OUT WCHAR *Buffer,
IN LONG BufferSize
);
//
// Eisa Detection routines
//
extern VOID
FreeEisaAdapterInfo(
VOID
);
extern BOOLEAN
LoadEisaAdapterInfo(
VOID
);
extern LONG EisaIdentifyHandler(
IN LONG Index,
IN WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG EisaFirstNextHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
IN BOOL First,
OUT PVOID *Token,
OUT LONG *Confidence
);
extern LONG EisaOpenHandleHandler(
IN PVOID Token,
OUT PVOID *Handle
);
extern LONG EisaCreateHandleHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
OUT PVOID *Handle
);
extern LONG EisaCloseHandleHandler(
IN PVOID Handle
);
extern LONG EisaQueryCfgHandler(
IN PVOID Handle,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG EisaVerifyCfgHandler(
IN PVOID Handle,
IN WCHAR *Buffer
);
extern LONG EisaQueryMaskHandler(
IN LONG NetcardId,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG EisaParamRangeHandler(
IN LONG NetcardId,
IN WCHAR *Param,
OUT LONG *plValues,
OUT LONG *plBuffSize
);
extern LONG EisaQueryParameterNameHandler(
IN WCHAR *Param,
OUT WCHAR *Buffer,
IN LONG BufferSize
);
//
// Pci Detection routines
//
extern VOID
FreePciAdapterInfo(
VOID
);
extern BOOLEAN
LoadPciAdapterInfo(
VOID
);
extern LONG PciIdentifyHandler(
IN LONG Index,
IN WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG PciFirstNextHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
IN BOOL First,
OUT PVOID *Token,
OUT LONG *Confidence
);
extern LONG PciOpenHandleHandler(
IN PVOID Token,
OUT PVOID *Handle
);
extern LONG PciCreateHandleHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
OUT PVOID *Handle
);
extern LONG PciCloseHandleHandler(
IN PVOID Handle
);
extern LONG PciQueryCfgHandler(
IN PVOID Handle,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG PciVerifyCfgHandler(
IN PVOID Handle,
IN WCHAR *Buffer
);
extern LONG PciQueryMaskHandler(
IN LONG NetcardId,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG PciParamRangeHandler(
IN LONG NetcardId,
IN WCHAR *Param,
OUT LONG *plValues,
OUT LONG *plBuffSize
);
extern LONG PciQueryParameterNameHandler(
IN WCHAR *Param,
OUT WCHAR *Buffer,
IN LONG BufferSize
);
//
// PCMCIA Detection routines
//
extern LONG PcmciaIdentifyHandler(
IN LONG Index,
IN WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG PcmciaFirstNextHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
IN BOOL First,
OUT PVOID *Token,
OUT LONG *Confidence
);
extern LONG PcmciaOpenHandleHandler(
IN PVOID Token,
OUT PVOID *Handle
);
extern LONG PcmciaCreateHandleHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
OUT PVOID *Handle
);
extern LONG PcmciaCloseHandleHandler(
IN PVOID Handle
);
extern LONG PcmciaQueryCfgHandler(
IN PVOID Handle,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG PcmciaVerifyCfgHandler(
IN PVOID Handle,
IN WCHAR *Buffer
);
extern LONG PcmciaQueryMaskHandler(
IN LONG NetcardId,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG PcmciaParamRangeHandler(
IN LONG NetcardId,
IN WCHAR *Param,
OUT LONG *plValues,
OUT LONG *plBuffSize
);
extern LONG PcmciaQueryParameterNameHandler(
IN WCHAR *Param,
OUT WCHAR *Buffer,
IN LONG BufferSize
);
//
// UB Detection routines
//
extern LONG UbIdentifyHandler(
IN LONG Index,
IN WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG UbFirstNextHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
IN BOOL First,
OUT PVOID *Token,
OUT LONG *Confidence
);
extern LONG UbOpenHandleHandler(
IN PVOID Token,
OUT PVOID *Handle
);
extern LONG UbCreateHandleHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
OUT PVOID *Handle
);
extern LONG UbCloseHandleHandler(
IN PVOID Handle
);
extern LONG UbQueryCfgHandler(
IN PVOID Handle,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG UbVerifyCfgHandler(
IN PVOID Handle,
IN WCHAR *Buffer
);
extern LONG UbQueryMaskHandler(
IN LONG NetcardId,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG UbParamRangeHandler(
IN LONG NetcardId,
IN WCHAR *Param,
OUT LONG *plValues,
OUT LONG *plBuffSize
);
extern LONG UbQueryParameterNameHandler(
IN WCHAR *Param,
OUT WCHAR *Buffer,
IN LONG BufferSize
);
//
// Proteon Detection routines
//
extern LONG ProteonIdentifyHandler(
IN LONG Index,
IN WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG ProteonFirstNextHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
IN BOOL First,
OUT PVOID *Token,
OUT LONG *Confidence
);
extern LONG ProteonOpenHandleHandler(
IN PVOID Token,
OUT PVOID *Handle
);
extern LONG ProteonCreateHandleHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
OUT PVOID *Handle
);
extern LONG ProteonCloseHandleHandler(
IN PVOID Handle
);
extern LONG ProteonQueryCfgHandler(
IN PVOID Handle,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG ProteonVerifyCfgHandler(
IN PVOID Handle,
IN WCHAR *Buffer
);
extern LONG ProteonQueryMaskHandler(
IN LONG NetcardId,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG ProteonParamRangeHandler(
IN LONG NetcardId,
IN WCHAR *Param,
OUT LONG *plValues,
OUT LONG *plBuffSize
);
extern LONG ProteonQueryParameterNameHandler(
IN WCHAR *Param,
OUT WCHAR *Buffer,
IN LONG BufferSize
);
//
// Elnk16 Detection routines
//
extern LONG Elnk16IdentifyHandler(
IN LONG Index,
IN WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG Elnk16FirstNextHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
IN BOOL First,
OUT PVOID *Token,
OUT LONG *Confidence
);
extern LONG Elnk16OpenHandleHandler(
IN PVOID Token,
OUT PVOID *Handle
);
extern LONG Elnk16CreateHandleHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
OUT PVOID *Handle
);
extern LONG Elnk16CloseHandleHandler(
IN PVOID Handle
);
extern LONG Elnk16QueryCfgHandler(
IN PVOID Handle,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG Elnk16VerifyCfgHandler(
IN PVOID Handle,
IN WCHAR *Buffer
);
extern LONG Elnk16QueryMaskHandler(
IN LONG NetcardId,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG Elnk16ParamRangeHandler(
IN LONG NetcardId,
IN WCHAR *Param,
OUT LONG *plValues,
OUT LONG *plBuffSize
);
extern LONG Elnk16QueryParameterNameHandler(
IN WCHAR *Param,
OUT WCHAR *Buffer,
IN LONG BufferSize
);
//
// Ee16 Detection routines
//
extern LONG Ee16IdentifyHandler(
IN LONG Index,
IN WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG Ee16FirstNextHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
IN BOOL First,
OUT PVOID *Token,
OUT LONG *Confidence
);
extern LONG Ee16OpenHandleHandler(
IN PVOID Token,
OUT PVOID *Handle
);
extern LONG Ee16CreateHandleHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
OUT PVOID *Handle
);
extern LONG Ee16CloseHandleHandler(
IN PVOID Handle
);
extern LONG Ee16QueryCfgHandler(
IN PVOID Handle,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG Ee16VerifyCfgHandler(
IN PVOID Handle,
IN WCHAR *Buffer
);
extern LONG Ee16QueryMaskHandler(
IN LONG NetcardId,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG Ee16ParamRangeHandler(
IN LONG NetcardId,
IN WCHAR *Param,
OUT LONG *plValues,
OUT LONG *plBuffSize
);
extern LONG Ee16QueryParameterNameHandler(
IN WCHAR *Param,
OUT WCHAR *Buffer,
IN LONG BufferSize
);
//
// EPro Detection routines
//
extern LONG EProIdentifyHandler(
IN LONG Index,
IN WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG EProFirstNextHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
IN BOOL First,
OUT PVOID *Token,
OUT LONG *Confidence
);
extern LONG EProOpenHandleHandler(
IN PVOID Token,
OUT PVOID *Handle
);
extern LONG EProCreateHandleHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
OUT PVOID *Handle
);
extern LONG EProCloseHandleHandler(
IN PVOID Handle
);
extern LONG EProQueryCfgHandler(
IN PVOID Handle,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG EProVerifyCfgHandler(
IN PVOID Handle,
IN WCHAR *Buffer
);
extern LONG EProQueryMaskHandler(
IN LONG NetcardId,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG EProParamRangeHandler(
IN LONG NetcardId,
IN WCHAR *Param,
OUT LONG *plValues,
OUT LONG *plBuffSize
);
extern LONG EProQueryParameterNameHandler(
IN WCHAR *Param,
OUT WCHAR *Buffer,
IN LONG BufferSize
);
//
// Mips Detection routines
//
extern LONG MipsIdentifyHandler(
IN LONG Index,
IN WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG MipsFirstNextHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
IN BOOL First,
OUT PVOID *Token,
OUT LONG *Confidence
);
extern LONG MipsOpenHandleHandler(
IN PVOID Token,
OUT PVOID *Handle
);
extern LONG MipsCreateHandleHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
OUT PVOID *Handle
);
extern LONG MipsCloseHandleHandler(
IN PVOID Handle
);
extern LONG MipsQueryCfgHandler(
IN PVOID Handle,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG MipsVerifyCfgHandler(
IN PVOID Handle,
IN WCHAR *Buffer
);
extern LONG MipsQueryMaskHandler(
IN LONG NetcardId,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG MipsParamRangeHandler(
IN LONG NetcardId,
IN WCHAR *Param,
OUT LONG *plValues,
OUT LONG *plBuffSize
);
extern LONG MipsQueryParameterNameHandler(
IN WCHAR *Param,
OUT WCHAR *Buffer,
IN LONG BufferSize
);
//
// Elnk3 Detection routines
//
extern LONG Elnk3IdentifyHandler(
IN LONG Index,
IN WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG Elnk3FirstNextHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
IN BOOL First,
OUT PVOID *Token,
OUT LONG *Confidence
);
extern LONG Elnk3OpenHandleHandler(
IN PVOID Token,
OUT PVOID *Handle
);
extern LONG Elnk3CreateHandleHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
OUT PVOID *Handle
);
extern LONG Elnk3CloseHandleHandler(
IN PVOID Handle
);
extern LONG Elnk3QueryCfgHandler(
IN PVOID Handle,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG Elnk3VerifyCfgHandler(
IN PVOID Handle,
IN WCHAR *Buffer
);
extern LONG Elnk3QueryMaskHandler(
IN LONG NetcardId,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG Elnk3ParamRangeHandler(
IN LONG NetcardId,
IN WCHAR *Param,
OUT LONG *plValues,
OUT LONG *plBuffSize
);
extern LONG Elnk3QueryParameterNameHandler(
IN WCHAR *Param,
OUT WCHAR *Buffer,
IN LONG BufferSize
);
//
// Tok162 Detection routines
//
extern LONG Tok162IdentifyHandler(
IN LONG Index,
IN WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG Tok162FirstNextHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
IN BOOL First,
OUT PVOID *Token,
OUT LONG *Confidence
);
extern LONG Tok162OpenHandleHandler(
IN PVOID Token,
OUT PVOID *Handle
);
extern LONG Tok162CreateHandleHandler(
IN LONG NetcardId,
IN INTERFACE_TYPE InterfaceType,
IN ULONG BusNumber,
OUT PVOID *Handle
);
extern LONG Tok162CloseHandleHandler(
IN PVOID Handle
);
extern LONG Tok162QueryCfgHandler(
IN PVOID Handle,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG Tok162VerifyCfgHandler(
IN PVOID Handle,
IN WCHAR *Buffer
);
extern LONG Tok162QueryMaskHandler(
IN LONG NetcardId,
OUT WCHAR *Buffer,
IN LONG BuffSize
);
extern LONG Tok162ParamRangeHandler(
IN LONG NetcardId,
IN WCHAR *Param,
OUT LONG *plValues,
OUT LONG *plBuffSize
);
extern LONG Tok162QueryParameterNameHandler(
IN WCHAR *Param,
OUT WCHAR *Buffer,
IN LONG BufferSize
);
VOID
AcquireAllPcmciaResources(
VOID
);
#endif