xref: /reactos/base/services/audiosrv/audiosrv.h (revision c2c66aff)
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 #ifndef _AUDIOSRV_PCH_
10 #define _AUDIOSRV_PCH_
11 
12 #include <stdarg.h>
13 
14 #include <windef.h>
15 #include <winbase.h>
16 #include <malloc.h>
17 #include <dbt.h>
18 #include <audiosrv/audiosrv.h>
19 
20 #ifndef AUDIOSRV_PRIVATE_H
21 #define AUDIOSRV_PRIVATE_H
22 
23 extern SERVICE_STATUS_HANDLE service_status_handle;
24 
25 
26 /* List management (pnp_list_manager.c) */
27 
28 VOID*
29 CreateDeviceDescriptor(WCHAR* path, BOOL is_enabled);
30 
31 #define DestroyDeviceDescriptor(descriptor) free(descriptor)
32 
33 BOOL
34 AppendAudioDeviceToList(PnP_AudioDevice* device);
35 
36 BOOL
37 CreateAudioDeviceList(DWORD max_size);
38 
39 VOID
40 DestroyAudioDeviceList(VOID);
41 
42 
43 /* Plug and Play (pnp.c) */
44 
45 BOOL
46 ProcessExistingDevices(VOID);
47 
48 DWORD
49 ProcessDeviceArrival(DEV_BROADCAST_DEVICEINTERFACE* device);
50 
51 BOOL
52 RegisterForDeviceNotifications(VOID);
53 
54 VOID
55 UnregisterDeviceNotifications(VOID);
56 
57 DWORD
58 HandleDeviceEvent(
59     DWORD dwEventType,
60     LPVOID lpEventData);
61 
62 BOOL
63 StartSystemAudioServices(VOID);
64 
65 /* Debugging */
66 
67 void logmsg(char* string, ...);
68 
69 #endif
70 
71 #endif /* _AUDIOSRV_PCH_ */
72