313 lines
5.3 KiB
C
313 lines
5.3 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1994 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
extern.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
External definitions for intermodule functions.
|
||
|
|
||
|
Revision History:
|
||
|
6-Apr-95
|
||
|
Databook support added.
|
||
|
|
||
|
--*/
|
||
|
|
||
|
//
|
||
|
// Intel PCIC (82365SL) and compatible routines.
|
||
|
//
|
||
|
|
||
|
BOOLEAN
|
||
|
PcicInitializePcmciaSocket(
|
||
|
IN PSOCKET SocketPtr
|
||
|
);
|
||
|
|
||
|
UCHAR
|
||
|
PcicReadController(
|
||
|
IN PUCHAR Base,
|
||
|
IN USHORT Socket,
|
||
|
IN UCHAR PcicRegister
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
PcicWriteController(
|
||
|
IN PUCHAR Base,
|
||
|
IN USHORT Socket,
|
||
|
IN UCHAR PcicRegister,
|
||
|
IN UCHAR DataByte
|
||
|
);
|
||
|
|
||
|
BOOLEAN
|
||
|
PcicReadAttributeMemory(
|
||
|
IN PSOCKET SocketPtr,
|
||
|
IN PUCHAR *TupleBuffer,
|
||
|
IN PULONG TupleBufferSize
|
||
|
);
|
||
|
|
||
|
BOOLEAN
|
||
|
PcicReadCIS(
|
||
|
IN PUCHAR Base,
|
||
|
IN USHORT Socket,
|
||
|
IN PUCHAR *TupleBuffer,
|
||
|
IN PULONG TupleBufferSize
|
||
|
);
|
||
|
|
||
|
BOOLEAN
|
||
|
PcicDetectCardInSocket(
|
||
|
IN PSOCKET SocketPtr
|
||
|
);
|
||
|
|
||
|
BOOLEAN
|
||
|
PcicDetectCardChanged(
|
||
|
IN PSOCKET SocketPtr
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
PcicProcessConfigureRequest(
|
||
|
IN PSOCKET SocketPtr,
|
||
|
IN PVOID ConfigRequest,
|
||
|
IN PUCHAR Base
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
PcicEnableDisableAttributeMemory(
|
||
|
IN PSOCKET SocketPtr,
|
||
|
IN ULONG CardBase,
|
||
|
IN BOOLEAN Enable
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
PcicEnableControllerInterrupt(
|
||
|
IN PSOCKET SocketPtr,
|
||
|
IN ULONG Irq
|
||
|
);
|
||
|
|
||
|
BOOLEAN
|
||
|
PcicPCCardReady(
|
||
|
IN PSOCKET SocketPtr
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
PcicDetect(
|
||
|
IN PDEVICE_EXTENSION DeviceExtension
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
PcicGetRegisters(
|
||
|
IN PDEVICE_EXTENSION DeviceExtension,
|
||
|
IN PSOCKET SocketPtr,
|
||
|
IN PUCHAR Buffer
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
PcicSetPower(
|
||
|
IN PSOCKET SocketPtr,
|
||
|
IN BOOLEAN Enable
|
||
|
);
|
||
|
|
||
|
//
|
||
|
// Support routines for pcmcia work.
|
||
|
//
|
||
|
|
||
|
VOID
|
||
|
PcmciaLogError(
|
||
|
IN PDEVICE_EXTENSION DeviceExtension,
|
||
|
IN ULONG ErrorCode,
|
||
|
IN ULONG UniqueId,
|
||
|
IN ULONG Argument
|
||
|
);
|
||
|
|
||
|
//
|
||
|
// Registry access to the firmware tree.
|
||
|
//
|
||
|
|
||
|
VOID
|
||
|
PcmciaProcessFirmwareTree(
|
||
|
IN PDEVICE_EXTENSION DeviceExtension
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
PcmciaConstructSerialTreeEntry(
|
||
|
IN PDEVICE_EXTENSION DeviceExtension,
|
||
|
IN PSOCKET_CONFIGURATION SocketConfiguration
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
PcmciaConstructFirmwareEntry(
|
||
|
IN PDEVICE_EXTENSION DeviceExtension,
|
||
|
IN PSOCKET_CONFIGURATION SocketConfiguration
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
PcmciaConstructRegistryEntry(
|
||
|
IN PDEVICE_EXTENSION DeviceExtension,
|
||
|
IN PSOCKET_DATA SocketData,
|
||
|
IN PSOCKET_CONFIGURATION SocketConfiguration
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
PcmciaReportResources(
|
||
|
IN PDEVICE_EXTENSION deviceExtension,
|
||
|
OUT BOOLEAN *conflictDetected
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
PcmciaUnReportResources(
|
||
|
IN PDEVICE_EXTENSION DeviceExtension
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
PcmciaCheckDatabaseInformation(
|
||
|
PDEVICE_EXTENSION DeviceExtension,
|
||
|
PSOCKET Socket,
|
||
|
PSOCKET_DATA SocketData
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
PcmciaCheckNetworkRegistryInformation(
|
||
|
PDEVICE_EXTENSION DeviceExtension,
|
||
|
PSOCKET Socket,
|
||
|
PSOCKET_DATA SocketData,
|
||
|
PSOCKET_CONFIGURATION SocketConfiguration
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
PcmciaCheckSerialRegistryInformation(
|
||
|
PDEVICE_EXTENSION DeviceExtension,
|
||
|
PSOCKET Socket,
|
||
|
PSOCKET_DATA SocketData,
|
||
|
PSOCKET_CONFIGURATION SocketConfig
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
PcmciaRegistryMemoryWindow(
|
||
|
PDEVICE_EXTENSION DeviceExtension
|
||
|
);
|
||
|
|
||
|
//
|
||
|
// Tuple processing routines.
|
||
|
//
|
||
|
|
||
|
PSOCKET_DATA
|
||
|
PcmciaParseCardData(
|
||
|
IN PUCHAR TupleData
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
PcmciaCheckForRecognizedDevice(
|
||
|
PSOCKET_DATA SocketData
|
||
|
);
|
||
|
|
||
|
//
|
||
|
// General detection and support.
|
||
|
//
|
||
|
|
||
|
PUCHAR
|
||
|
PcmciaAllocateOpenMemoryWindow(
|
||
|
IN PDEVICE_EXTENSION DeviceExtension,
|
||
|
IN ULONG Start,
|
||
|
IN PULONG Mapped,
|
||
|
IN PULONG Physical
|
||
|
);
|
||
|
|
||
|
BOOLEAN
|
||
|
PcmciaDetectDevicePresence(
|
||
|
IN ULONG IoPortBase,
|
||
|
IN ULONG Length,
|
||
|
IN UCHAR DeviceType
|
||
|
);
|
||
|
|
||
|
BOOLEAN
|
||
|
PcmciaDetectMca();
|
||
|
|
||
|
VOID
|
||
|
PcmciaDetectSpecialHardware(
|
||
|
IN PDEVICE_EXTENSION DeviceExtension
|
||
|
);
|
||
|
|
||
|
//
|
||
|
// Databook TCIC2 and compatible routines.
|
||
|
//
|
||
|
|
||
|
BOOLEAN
|
||
|
TcicInitializePcmciaSocket(
|
||
|
IN PSOCKET SocketPtr //johnk - 4/6/95
|
||
|
);
|
||
|
|
||
|
|
||
|
BOOLEAN
|
||
|
TcicReadAttributeMemory(
|
||
|
IN PSOCKET SocketPtr, //johnk - 4/6/95
|
||
|
IN PUCHAR *TupleBuffer,
|
||
|
IN PULONG TupleBufferSize
|
||
|
);
|
||
|
|
||
|
BOOLEAN
|
||
|
TcicReadCIS(
|
||
|
IN PSOCKET socketPtr,
|
||
|
IN PUCHAR *TupleBuffer,
|
||
|
IN PULONG TupleBufferSize
|
||
|
);
|
||
|
|
||
|
BOOLEAN
|
||
|
TcicDetectCardInSocket(
|
||
|
IN PSOCKET SocketPtr //johnk - 4/6/95
|
||
|
);
|
||
|
|
||
|
BOOLEAN //johnk - new function 4/6/95
|
||
|
TcicDetectCardChanged(
|
||
|
IN PSOCKET SocketPtr
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
TcicProcessConfigureRequest(
|
||
|
IN PSOCKET SocketPtr,
|
||
|
IN PVOID ConfigRequest,
|
||
|
IN PUCHAR Base
|
||
|
);
|
||
|
|
||
|
|
||
|
VOID
|
||
|
TcicEnableControllerInterrupt(
|
||
|
IN PSOCKET SocketPtr, //johnk - 4/6/95
|
||
|
IN ULONG Irq
|
||
|
);
|
||
|
|
||
|
BOOLEAN
|
||
|
TcicPCCardReady(
|
||
|
IN PSOCKET SocketPtr //johnk - 4/6/95
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
TcicDetect(
|
||
|
IN PDEVICE_EXTENSION DeviceExtension
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
TcicGetRegisters(
|
||
|
IN PDEVICE_EXTENSION DeviceExtension,
|
||
|
IN PSOCKET SocketPtr, //johnk - 4/6/95
|
||
|
IN PUCHAR Buffer
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
TcicSetPower(
|
||
|
IN PSOCKET SocketPtr,
|
||
|
IN BOOLEAN Enable
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
TcicGetControllerProperties (
|
||
|
IN PSOCKET socketPtr,
|
||
|
IN PUSHORT pIoPortBase,
|
||
|
IN PUSHORT pIoPortSize
|
||
|
);
|
||
|
|
||
|
ULONG
|
||
|
TcicGetIrqMask(
|
||
|
IN PDEVICE_EXTENSION deviceExtension
|
||
|
);
|