Sync with trunk head (r49139)
[reactos.git] / drivers / bus / pcmcia / pcmcia.h
1 #pragma once
2
3 #include <ntifs.h>
4 #include <wdmguid.h>
5 #include <stdio.h>
6 #include <ntddk.h>
7
8 typedef enum {
9 dsStopped,
10 dsStarted,
11 dsPaused,
12 dsRemoved,
13 dsSurpriseRemoved
14 } PCMCIA_DEVICE_STATE;
15
16 typedef struct _PCMCIA_COMMON_EXTENSION {
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 PCMCIA_COMMON_EXTENSION Common;
27 } PCMCIA_PDO_EXTENSION, *PPCMCIA_PDO_EXTENSION;
28
29 typedef struct _PCMCIA_FDO_EXTENSION {
30 PCMCIA_COMMON_EXTENSION Common;
31 PDEVICE_OBJECT Ldo;
32 LIST_ENTRY ChildDeviceList;
33 KSPIN_LOCK Lock;
34 } PCMCIA_FDO_EXTENSION, *PPCMCIA_FDO_EXTENSION;
35
36 /* pdo.c */
37 NTSTATUS
38 NTAPI
39 PcmciaPdoPlugPlay(PPCMCIA_PDO_EXTENSION PdoExt,
40 PIRP Irp);
41
42 NTSTATUS
43 NTAPI
44 PcmciaPdoSetPowerState(PPCMCIA_PDO_EXTENSION PdoExt);
45
46 /* fdo.c */
47 NTSTATUS
48 NTAPI
49 PcmciaFdoPlugPlay(PPCMCIA_FDO_EXTENSION FdoExt,
50 PIRP Irp);
51