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