2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: Parallel Port Function Driver
4 * FILE: drivers/parallel/parport/parport.h
5 * PURPOSE: Parport driver header
12 #include <ndk/haltypes.h>
30 typedef struct _COMMON_DEVICE_EXTENSION
33 DEVICE_STATE PnpState
;
34 } COMMON_DEVICE_EXTENSION
, *PCOMMON_DEVICE_EXTENSION
;
36 typedef struct _FDO_DEVICE_EXTENSION
38 COMMON_DEVICE_EXTENSION Common
;
41 PDEVICE_OBJECT LowerDevice
;
43 PDEVICE_OBJECT AttachedRawPdo
;
44 PDEVICE_OBJECT AttachedPdo
[2];
51 PKINTERRUPT Interrupt
;
53 } FDO_DEVICE_EXTENSION
, *PFDO_DEVICE_EXTENSION
;
55 typedef struct _PDO_DEVICE_EXTENSION
57 COMMON_DEVICE_EXTENSION Common
;
59 PDEVICE_OBJECT AttachedFdo
;
66 } PDO_DEVICE_EXTENSION
, *PPDO_DEVICE_EXTENSION
;
68 #define PARPORT_TAG 'trpP'
72 DRIVER_ADD_DEVICE AddDevice
;
76 FdoCreate(IN PDEVICE_OBJECT DeviceObject
,
81 FdoClose(IN PDEVICE_OBJECT DeviceObject
,
86 FdoCleanup(IN PDEVICE_OBJECT DeviceObject
,
91 FdoRead(IN PDEVICE_OBJECT DeviceObject
,
96 FdoWrite(IN PDEVICE_OBJECT DeviceObject
,
101 FdoPnp(IN PDEVICE_OBJECT DeviceObject
,
106 FdoPower(IN PDEVICE_OBJECT DeviceObject
,
113 ForwardIrpAndWait(IN PDEVICE_OBJECT DeviceObject
,
116 DRIVER_DISPATCH ForwardIrpAndForget
;
119 GetUserBuffer(IN PIRP Irp
);
121 //KSERVICE_ROUTINE ParportInterruptService;
128 PdoCreate(IN PDEVICE_OBJECT DeviceObject
,
133 PdoClose(IN PDEVICE_OBJECT DeviceObject
,
138 PdoCleanup(IN PDEVICE_OBJECT DeviceObject
,
143 PdoRead(IN PDEVICE_OBJECT DeviceObject
,
148 PdoWrite(IN PDEVICE_OBJECT DeviceObject
,
153 PdoPnp(IN PDEVICE_OBJECT DeviceObject
,
158 PdoPower(IN PDEVICE_OBJECT DeviceObject
,
161 #endif /* _PARPORT_PCH_ */