/*
* Copyright 1998, Luiz Otavio L. Zorzella
* 1999, Eric Pouech
*
* Purpose: multimedia declarations (external to WINMM & MMSYSTEM DLLs
* for other DLLs (MCI, drivers...))
*
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
/*
* Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
* other than GPL or LGPL is available it will apply instead, Oracle elects to use only
* the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
* a choice of LGPL license versions is made available with the language indicating
* that LGPLv2 or any later version may be used, or where a choice of which version
* of the LGPL is applied is otherwise unspecified.
*/
#ifndef __MMDDK_H
#define __MMDDK_H
#include <mmsystem.h>
#include <winbase.h>
#ifdef __cplusplus
extern "C" {
#endif
/* For now I'm making 16 the maximum number of midi devices one can
* have. This should be more than enough for everybody. But as a purist,
* I intend to make it unbounded in the future, as soon as I figure
* a good way to do so.
*/
/* ==================================
* Multimedia DDK compatible part
* ================================== */
#include <pshpack1.h>
/* messages that have IOCTL format
* dw1 = NULL or handle
* dw2 = NULL or ptr to DRVM_IOCTL_DATA
* return is MMRESULT
*/
typedef struct {
/* command code ranges for dwCmd field of DRVM_IOCTL message
* - codes from 0 to 0x7FFFFFFF are user defined
* - codes from 0x80000000 to 0xFFFFFFFF are reserved for future definition by microsoft
*/
#ifdef __WINESRC__
#endif
#define WAVEOUT_MAPPER_STATUS_DEVICE 0
#define WAVEIN_MAPPER_STATUS_DEVICE 0
/* pre-defined joystick types */
#define JOY_HW_NONE 0
/* calibration flags */
/* point of view constants */
#define JOY_POVVAL_FORWARD 0
/* Specific settings for joystick hardware */
/* X defaults to J1 X axis */
/* Y defaults to J1 Y axis */
/* Z defaults to J2 Y axis */
/* POV defaults to J2 Y axis, if it is not button based */
/* R defaults to J2 X axis */
/* U & V for future hardware */
/* Usage settings */
/* struct for storing x,y, z, and rudder values */
typedef struct joypos_tag {
/* struct for storing ranges */
typedef struct joyrange_tag {
typedef struct joyreguservalues_tag {
as "dead". specified as a percentage
(0-100). Only X & Y handled by system driver */
typedef struct joyreghwsettings_tag {
/* range of values returned by the hardware (filled in by calibration) */
typedef struct joyreghwvalues_tag {
/* hardware configuration */
typedef struct joyreghwconfig_tag {
/* joystick calibration info structure */
typedef struct joycalibrate_tag {
} JOYCALIBRATE;
/* prototype for joystick message function */
/* messages sent to joystick driver's DriverProc() function */
#define MCI_COMMAND_HEAD 0
typedef struct {
typedef struct {
typedef struct {
typedef struct tMIXEROPENDESC
{
typedef struct {
typedef struct {
#ifdef __WINESRC__
#endif
#include <poppack.h>
#ifdef __cplusplus
}
#endif
#endif /* __MMDDK_H */