1 #ifndef _PCMCIA_PCH_ 2 #define _PCMCIA_PCH_ 3 4 #include <wdm.h> 5 6 typedef enum 7 { 8 dsStopped, 9 dsStarted, 10 dsPaused, 11 dsRemoved, 12 dsSurpriseRemoved 13 } PCMCIA_DEVICE_STATE; 14 15 typedef struct _PCMCIA_COMMON_EXTENSION 16 { 17 PDEVICE_OBJECT Self; 18 BOOLEAN IsFDO; 19 POWER_SEQUENCE PowerSequence; 20 PCMCIA_DEVICE_STATE State; 21 DEVICE_POWER_STATE DevicePowerState; 22 SYSTEM_POWER_STATE SystemPowerState; 23 } PCMCIA_COMMON_EXTENSION, *PPCMCIA_COMMON_EXTENSION; 24 25 typedef struct _PCMCIA_PDO_EXTENSION 26 { 27 PCMCIA_COMMON_EXTENSION Common; 28 } PCMCIA_PDO_EXTENSION, *PPCMCIA_PDO_EXTENSION; 29 30 typedef struct _PCMCIA_FDO_EXTENSION 31 { 32 PCMCIA_COMMON_EXTENSION Common; 33 PDEVICE_OBJECT Ldo; 34 LIST_ENTRY ChildDeviceList; 35 KSPIN_LOCK Lock; 36 } PCMCIA_FDO_EXTENSION, *PPCMCIA_FDO_EXTENSION; 37 38 /* pdo.c */ 39 NTSTATUS 40 NTAPI 41 PcmciaPdoPlugPlay(PPCMCIA_PDO_EXTENSION PdoExt, 42 PIRP Irp); 43 44 NTSTATUS 45 NTAPI 46 PcmciaPdoSetPowerState(PPCMCIA_PDO_EXTENSION PdoExt); 47 48 /* fdo.c */ 49 NTSTATUS 50 NTAPI 51 PcmciaFdoPlugPlay(PPCMCIA_FDO_EXTENSION FdoExt, 52 PIRP Irp); 53 54 #endif /* _PCMCIA_PCH_ */ 55