61edb2e262752aad88cbe8de517149ac1cda289a
[reactos.git] / reactos / base / services / audiosrv / audiosrv.h
1 /*
2 * PROJECT: ReactOS
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: base/services/audiosrv/audiosrv.h
5 * PURPOSE: Audio Service (private header)
6 * COPYRIGHT: Copyright 2007 Andrew Greenwood
7 */
8
9 #include <windows.h>
10 #include <assert.h>
11 #include <winuser.h>
12 #include <setupapi.h>
13 #include <ks.h>
14 #include <ksmedia.h>
15 #include <stdio.h>
16 #include <stdarg.h>
17 #include <stdlib.h>
18 #include <dbt.h>
19 #include <audiosrv/audiosrv.h>
20
21 #ifndef AUDIOSRV_PRIVATE_H
22 #define AUDIOSRV_PRIVATE_H
23
24 extern SERVICE_STATUS_HANDLE service_status_handle;
25
26
27 /* List management (pnp_list_manager.c) */
28
29 VOID*
30 CreateDeviceDescriptor(WCHAR* path, BOOL is_enabled);
31
32 #define DestroyDeviceDescriptor(descriptor) free(descriptor)
33
34 BOOL
35 AppendAudioDeviceToList(PnP_AudioDevice* device);
36
37 BOOL
38 CreateAudioDeviceList(DWORD max_size);
39
40 VOID
41 DestroyAudioDeviceList(VOID);
42
43
44 /* Plug and Play (pnp.c) */
45
46 BOOL
47 ProcessExistingDevices(VOID);
48
49 DWORD
50 ProcessDeviceArrival(DEV_BROADCAST_DEVICEINTERFACE* device);
51
52 BOOL
53 RegisterForDeviceNotifications(VOID);
54
55 VOID
56 UnregisterDeviceNotifications(VOID);
57
58 DWORD
59 HandleDeviceEvent(
60 DWORD dwEventType,
61 LPVOID lpEventData);
62
63 BOOL
64 StartSystemAudioServices(VOID);
65
66 /* Debugging */
67
68 void logmsg(char* string, ...);
69
70 #endif