Synchronize with trunk's revision r57629.
[reactos.git] / drivers / bus / pcmcia / pcmcia.h
1
2 #include <ntifs.h>
3 #include <wdmguid.h>
4 #include <stdio.h>
5 #include <ntddk.h>
6
7 typedef enum {
8 dsStopped,
9 dsStarted,
10 dsPaused,
11 dsRemoved,
12 dsSurpriseRemoved
13 } PCMCIA_DEVICE_STATE;
14
15 typedef struct _PCMCIA_COMMON_EXTENSION {
16 PDEVICE_OBJECT Self;
17 BOOLEAN IsFDO;
18 POWER_SEQUENCE PowerSequence;
19 PCMCIA_DEVICE_STATE State;
20 DEVICE_POWER_STATE DevicePowerState;
21 SYSTEM_POWER_STATE SystemPowerState;
22 } PCMCIA_COMMON_EXTENSION, *PPCMCIA_COMMON_EXTENSION;
23
24 typedef struct _PCMCIA_PDO_EXTENSION {
25 PCMCIA_COMMON_EXTENSION Common;
26 } PCMCIA_PDO_EXTENSION, *PPCMCIA_PDO_EXTENSION;
27
28 typedef struct _PCMCIA_FDO_EXTENSION {
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