ReactOS 0.4.16-dev-122-g325d74c
serenum.h
Go to the documentation of this file.
1/*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS Serial enumerator driver
4 * FILE: drivers/bus/serenum/serenum.h
5 * PURPOSE: Serial enumerator driver header
6 *
7 * PROGRAMMERS: Hervé Poussineau (hpoussin@reactos.org)
8 */
9
10#ifndef _SERENUM_PCH_
11#define _SERENUM_PCH_
12
13#include <ntifs.h>
14#include <ntddser.h>
15
16typedef enum
17{
24
25typedef struct _COMMON_DEVICE_EXTENSION
26{
30
31typedef struct _FDO_DEVICE_EXTENSION
32{
34
38
40
44
45typedef struct _PDO_DEVICE_EXTENSION
46{
48
50
54 UNICODE_STRING HardwareIds; // REG_MULTI_SZ
57
58#define SERENUM_TAG 'ereS'
59
60/* Flags */
61#define FLAG_ENUMERATION_DONE 0x01
62
63/************************************ detect.c */
64
68 IN PDEVICE_OBJECT LowerDevice);
69
73 IN PDEVICE_OBJECT LowerDevice);
74
75/************************************ fdo.c */
76
77DRIVER_ADD_DEVICE SerenumAddDevice;
78
82 IN PIRP Irp);
83
84/************************************ misc.c */
85
89 ... /* list of PCSZ */);
90
94 IN PIRP Irp);
95
99 IN PIRP Irp);
100
104 IN PIRP Irp);
105
109 IN PIRP Irp);
110
113 IN ULONG Flags,
116
117/************************************ pdo.c */
118
122 IN PIRP Irp);
123
124/************************************ serenum.c */
125
129 IN PUNICODE_STRING RegPath);
130
131#endif /* _SERENUM_PCH_ */
unsigned char BOOLEAN
LONG NTSTATUS
Definition: precomp.h:26
_In_ PIRP Irp
Definition: csq.h:116
DRIVER_INITIALIZE DriverEntry
Definition: condrv.c:21
DRIVER_DISPATCH ForwardIrpAndForget
Definition: i8042prt.h:341
_Out_ _Inout_ POEM_STRING _In_ PCUNICODE_STRING SourceString
Definition: rtlfuncs.h:1922
_In_ PUNICODE_STRING _Inout_ PUNICODE_STRING Destination
Definition: rtlfuncs.h:3016
_Out_ _Inout_ POEM_STRING DestinationString
Definition: rtlfuncs.h:1921
struct _FDO_DEVICE_EXTENSION FDO_DEVICE_EXTENSION
NTSTATUS SerenumInitMultiSzString(OUT PUNICODE_STRING Destination,...)
Definition: misc.c:18
DRIVER_ADD_DEVICE SerenumAddDevice
Definition: serenum.h:77
NTSTATUS SerenumFdoPnp(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: fdo.c:152
struct _FDO_DEVICE_EXTENSION * PFDO_DEVICE_EXTENSION
NTSTATUS DuplicateUnicodeString(IN ULONG Flags, IN PCUNICODE_STRING SourceString, OUT PUNICODE_STRING DestinationString)
Definition: misc.c:31
struct _PDO_DEVICE_EXTENSION PDO_DEVICE_EXTENSION
NTSTATUS SerenumDetectPnpDevice(IN PDEVICE_OBJECT DeviceObject, IN PDEVICE_OBJECT LowerDevice)
Definition: detect.c:223
struct _PDO_DEVICE_EXTENSION * PPDO_DEVICE_EXTENSION
SERENUM_DEVICE_STATE
Definition: serenum.h:17
@ dsSurpriseRemoved
Definition: serenum.h:22
@ dsStopped
Definition: serenum.h:18
@ dsPaused
Definition: serenum.h:20
@ dsStarted
Definition: serenum.h:19
@ dsRemoved
Definition: serenum.h:21
NTSTATUS NTAPI ForwardIrpToAttachedFdoAndForget(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: misc.c:108
NTSTATUS ForwardIrpAndWait(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
struct _COMMON_DEVICE_EXTENSION COMMON_DEVICE_EXTENSION
NTSTATUS SerenumPdoPnp(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: pdo.c:109
NTSTATUS SerenumDetectLegacyDevice(IN PDEVICE_OBJECT DeviceObject, IN PDEVICE_OBJECT LowerDevice)
Definition: detect.c:444
NTSTATUS NTAPI ForwardIrpToLowerDeviceAndForget(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: misc.c:90
struct _COMMON_DEVICE_EXTENSION * PCOMMON_DEVICE_EXTENSION
SERENUM_DEVICE_STATE PnpState
Definition: serenum.h:28
UNICODE_STRING SerenumInterfaceName
Definition: serenum.h:39
PDEVICE_OBJECT LowerDevice
Definition: i8042prt.h:130
PDEVICE_OBJECT AttachedPdo[2]
Definition: parport.h:44
COMMON_DEVICE_EXTENSION Common
Definition: pci.h:84
IO_REMOVE_LOCK RemoveLock
Definition: serenum.h:37
PDEVICE_OBJECT Pdo
Definition: i8042prt.h:128
UNICODE_STRING InstanceId
Definition: serenum.h:53
UNICODE_STRING DeviceDescription
Definition: pci.h:73
UNICODE_STRING HardwareIds
Definition: serenum.h:54
COMMON_DEVICE_EXTENSION Common
Definition: pci.h:59
UNICODE_STRING CompatibleIds
Definition: serenum.h:55
PDEVICE_OBJECT AttachedFdo
Definition: parport.h:59
UNICODE_STRING DeviceId
Definition: serenum.h:52
#define NTAPI
Definition: typedefs.h:36
#define IN
Definition: typedefs.h:39
uint32_t ULONG
Definition: typedefs.h:59
#define OUT
Definition: typedefs.h:40
_In_ PDEVICE_OBJECT DeviceObject
Definition: wdfdevice.h:2055
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
Definition: wdfdriver.h:213
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170