
// -----------------------------------------------------------------------------
//
//      THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
//      ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
//      THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
//      PARTICULAR PURPOSE.
//      Copyright (c) 1995-2000 Microsoft Corporation.  All rights reserved.
//
// -----------------------------------------------------------------------------
#pragma once

#include "windows.h"

#ifdef __cplusplus
extern "C" {
#endif // __cplusplus

#define FILE_DEVICE_AUDIOSYS    0x301

#define MM_WOM_SETSECONDARYGAINCLASS   (WM_USER)
#define MM_WOM_SETSECONDARYGAINLIMIT   (WM_USER+1)

#define IOCTL_AUDIOSYS_MICROPHONE_SET   CTL_CODE(FILE_DEVICE_AUDIOSYS,   1, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_AUDIOSYS_MICROPHONE_GET   CTL_CODE(FILE_DEVICE_AUDIOSYS,   2, METHOD_BUFFERED, FILE_ANY_ACCESS)

#define AUDIOSYS_MICROPHONE_HANDSET     0x01
#define AUDIOSYS_MICROPHONE_HEADSET     0x02
#define AUDIOSYS_MICROPHONE_CARSET      0x04

#define IOCTL_AUDIOSYS_SPEAKER_SET      CTL_CODE(FILE_DEVICE_AUDIOSYS,   3, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_AUDIOSYS_SPEAKER_GET      CTL_CODE(FILE_DEVICE_AUDIOSYS,   4, METHOD_BUFFERED, FILE_ANY_ACCESS)

#define AUDIOSYS_SPEAKER_HANDSET        0x01
#define AUDIOSYS_SPEAKER_HEADSET        0x02
#define AUDIOSYS_SPEAKER_CARSET         0x04

#define IOCTL_AUDIOSYS_MASTERVOLUME_SET CTL_CODE(FILE_DEVICE_AUDIOSYS,   5, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_AUDIOSYS_MASTERVOLUME_GET CTL_CODE(FILE_DEVICE_AUDIOSYS,   6, METHOD_BUFFERED, FILE_ANY_ACCESS)

#define IOCTL_AUDIOSYS_ROUTING_SET      CTL_CODE(FILE_DEVICE_AUDIOSYS,   7, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_AUDIOSYS_ROUTING_GET      CTL_CODE(FILE_DEVICE_AUDIOSYS,   8, METHOD_BUFFERED, FILE_ANY_ACCESS)

#define AUDIOSYS_ROUTING_CEOUTRADIOIN    0x01
#define AUDIOSYS_ROUTING_RADIOOUTCEIN    0x02
#define AUDIOSYS_ROUTING_MICRADIOIN      0x04
#define AUDIOSYS_ROUTING_MICCEIN         0x08
#define AUDIOSYS_ROUTING_CEOUTSPEAKER    0x10
#define AUDIOSYS_ROUTING_RADIOOUTSPEAKER 0x20

#ifdef __cplusplus
}
#endif // __cplusplus

