Sync to trunk head(r38096)
[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 #define TAG(A, B, C, D) (ULONG)(((A)<<0) + ((B)<<8) + ((C)<<16) + ((D)<<24))
18 #define TAG_PORTCLASS TAG('P', 'C', 'L', 'S')
19
20 #ifdef _MSC_VER
21 #define STDCALL
22 #define DDKAPI
23 #endif
24
25 NTSTATUS
26 NTAPI
27 PortClsCreate(
28 IN PDEVICE_OBJECT DeviceObject,
29 IN PIRP Irp);
30
31 NTSTATUS
32 NTAPI
33 PortClsPnp(
34 IN PDEVICE_OBJECT DeviceObject,
35 IN PIRP Irp);
36
37 NTSTATUS
38 NTAPI
39 PortClsPower(
40 IN PDEVICE_OBJECT DeviceObject,
41 IN PIRP Irp);
42
43 NTSTATUS
44 NTAPI
45 PortClsSysControl(
46 IN PDEVICE_OBJECT DeviceObject,
47 IN PIRP Irp);
48
49 NTSTATUS NewMiniportDMusUART(
50 OUT PMINIPORT* OutMiniport,
51 IN REFCLSID ClassId);
52
53 NTSTATUS NewMiniportFmSynth(
54 OUT PMINIPORT* OutMiniport,
55 IN REFCLSID ClassId);
56
57 NTSTATUS NewPortMidi(
58 OUT PPORT* OutPort);
59
60 NTSTATUS NewPortDMus(
61 OUT PPORT* OutPort);
62
63 NTSTATUS NewPortTopology(
64 OUT PPORT* OutPort);
65
66 NTSTATUS NewPortWaveCyclic(
67 OUT PPORT* OutPort);
68
69 NTSTATUS NewPortWavePci(
70 OUT PPORT* OutPort);
71
72 NTSTATUS NewDmaChannelSlave(
73 IN PDEVICE_DESCRIPTION DeviceDesc,
74 IN PDMA_ADAPTER Adapter,
75 OUT PDMACHANNELSLAVE* DmaChannel);
76
77 NTSTATUS NewIDrmPort(
78 OUT PDRMPORT2 *OutPort);
79
80 typedef struct
81 {
82 PCPFNSTARTDEVICE StartDevice;
83 KSDEVICE_HEADER KsDeviceHeader;
84 IAdapterPowerManagement * AdapterPowerManagement;
85
86 IResourceList* resources;
87 } PCExtension;
88
89 #endif