- Revert to pre-38722 to unbreak build
[reactos.git] / reactos / drivers / wdm / audio / backpln / portcls / private.h
1 /*
2 PortCls FDO Extension
3
4 by Andrew Greenwood
5 */
6
7 #ifndef PORTCLS_PRIVATE_H
8 #define PORTCLS_PRIVATE_H
9
10 #include <ntddk.h>
11 #include <portcls.h>
12 #include <debug.h>
13
14 #include <portcls.h>
15 #include <dmusicks.h>
16
17 #include "interfaces.h"
18
19 #define TAG(A, B, C, D) (ULONG)(((A)<<0) + ((B)<<8) + ((C)<<16) + ((D)<<24))
20 #define TAG_PORTCLASS TAG('P', 'C', 'L', 'S')
21
22 #ifdef _MSC_VER
23 #define STDCALL
24 #define DDKAPI
25 #endif
26
27 NTSTATUS
28 NTAPI
29 PortClsCreate(
30 IN PDEVICE_OBJECT DeviceObject,
31 IN PIRP Irp);
32
33 NTSTATUS
34 NTAPI
35 PortClsPnp(
36 IN PDEVICE_OBJECT DeviceObject,
37 IN PIRP Irp);
38
39 NTSTATUS
40 NTAPI
41 PortClsPower(
42 IN PDEVICE_OBJECT DeviceObject,
43 IN PIRP Irp);
44
45 NTSTATUS
46 NTAPI
47 PortClsSysControl(
48 IN PDEVICE_OBJECT DeviceObject,
49 IN PIRP Irp);
50
51 NTSTATUS NewMiniportDMusUART(
52 OUT PMINIPORT* OutMiniport,
53 IN REFCLSID ClassId);
54
55 NTSTATUS NewMiniportFmSynth(
56 OUT PMINIPORT* OutMiniport,
57 IN REFCLSID ClassId);
58
59 NTSTATUS NewPortMidi(
60 OUT PPORT* OutPort);
61
62 NTSTATUS NewPortDMus(
63 OUT PPORT* OutPort);
64
65 NTSTATUS NewPortTopology(
66 OUT PPORT* OutPort);
67
68 NTSTATUS NewPortWaveCyclic(
69 OUT PPORT* OutPort);
70
71 NTSTATUS NewPortWavePci(
72 OUT PPORT* OutPort);
73
74 NTSTATUS NewIDrmPort(
75 OUT PDRMPORT2 *OutPort);
76
77 NTSTATUS NewPortClsVersion(
78 OUT PPORTCLSVERSION * OutVersion);
79
80 NTSTATUS NewPortFilterWaveCyclic(
81 OUT IPortFilterWaveCyclic ** OutFilter);
82
83 typedef struct
84 {
85 LIST_ENTRY Entry;
86 KSOBJECT_HEADER ObjectHeader;
87 }SUBDEVICE_ENTRY;
88
89
90 typedef struct
91 {
92 PDEVICE_OBJECT PhysicalDeviceObject;
93 PCPFNSTARTDEVICE StartDevice;
94 KSDEVICE_HEADER KsDeviceHeader;
95 IAdapterPowerManagement * AdapterPowerManagement;
96
97 IResourceList* resources;
98 LIST_ENTRY SubDeviceList;
99
100 } PCExtension;
101
102
103 NTSTATUS
104 NTAPI
105 PcDmaMasterDescription(
106 IN PRESOURCELIST ResourceList OPTIONAL,
107 IN BOOLEAN ScatterGather,
108 IN BOOLEAN Dma32BitAddresses,
109 IN BOOLEAN IgnoreCount,
110 IN BOOLEAN Dma64BitAddresses,
111 IN DMA_WIDTH DmaWidth,
112 IN DMA_SPEED DmaSpeed,
113 IN ULONG MaximumLength,
114 IN ULONG DmaPort,
115 OUT PDEVICE_DESCRIPTION DeviceDescription);
116
117 NTSTATUS
118 NTAPI
119 PcDmaSlaveDescription(
120 IN PRESOURCELIST ResourceList OPTIONAL,
121 IN ULONG DmaIndex,
122 IN BOOL DemandMode,
123 IN ULONG AutoInitialize,
124 IN DMA_SPEED DmaSpeed,
125 IN ULONG MaximumLength,
126 IN ULONG DmaPort,
127 OUT PDEVICE_DESCRIPTION DeviceDescription);
128
129
130
131 #endif