mmddk.h revision af062818b47340eef15700d2f0211576ba3506ee
f3be0ad6cde0c17c158fbaa14d5c032e89e0d008clar * Copyright 1998, Luiz Otavio L. Zorzella
f3be0ad6cde0c17c158fbaa14d5c032e89e0d008clar * 1999, Eric Pouech
8468be3efdd76e64e871fe3799397721f988ff42noodl * Purpose: multimedia declarations (external to WINMM & MMSYSTEM DLLs
8542a70aedb77a3353d52151d0aa8a01b6393b52lgentis * for other DLLs (MCI, drivers...))
f3be0ad6cde0c17c158fbaa14d5c032e89e0d008clar * This library is free software; you can redistribute it and/or
031b91a62d25106ae69d4693475c79618dd5e884fielding * modify it under the terms of the GNU Lesser General Public
031b91a62d25106ae69d4693475c79618dd5e884fielding * License as published by the Free Software Foundation; either
031b91a62d25106ae69d4693475c79618dd5e884fielding * version 2.1 of the License, or (at your option) any later version.
031b91a62d25106ae69d4693475c79618dd5e884fielding * This library is distributed in the hope that it will be useful,
031b91a62d25106ae69d4693475c79618dd5e884fielding * but WITHOUT ANY WARRANTY; without even the implied warranty of
f3be0ad6cde0c17c158fbaa14d5c032e89e0d008clar * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
f3be0ad6cde0c17c158fbaa14d5c032e89e0d008clar * Lesser General Public License for more details.
f3be0ad6cde0c17c158fbaa14d5c032e89e0d008clar * You should have received a copy of the GNU Lesser General Public
f3be0ad6cde0c17c158fbaa14d5c032e89e0d008clar * License along with this library; if not, write to the Free Software
f3be0ad6cde0c17c158fbaa14d5c032e89e0d008clar * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
358432d9a5b6f663e0f5aa174e8df8a79dc56df1jfclereextern "C" {
358432d9a5b6f663e0f5aa174e8df8a79dc56df1jfclere/* For now I'm making 16 the maximum number of midi devices one can
f3be0ad6cde0c17c158fbaa14d5c032e89e0d008clar * have. This should be more than enough for everybody. But as a purist,
f3be0ad6cde0c17c158fbaa14d5c032e89e0d008clar * I intend to make it unbounded in the future, as soon as I figure
48a1e7c75bdf156529582b537a3bfc13a4f73634takashi * a good way to do so.
48a1e7c75bdf156529582b537a3bfc13a4f73634takashi/* ==================================
c8653decd49c1f7d0b15625c925b6be201660e13lgentis * Multimedia DDK compatible part
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis * ================================== */
8542a70aedb77a3353d52151d0aa8a01b6393b52lgentis/* messages that have IOCTL format
f3be0ad6cde0c17c158fbaa14d5c032e89e0d008clar * dw1 = NULL or handle
f3be0ad6cde0c17c158fbaa14d5c032e89e0d008clar * dw2 = NULL or ptr to DRVM_IOCTL_DATA
358432d9a5b6f663e0f5aa174e8df8a79dc56df1jfclere * return is MMRESULT
f3be0ad6cde0c17c158fbaa14d5c032e89e0d008clartypedef struct {
c8653decd49c1f7d0b15625c925b6be201660e13lgentis DWORD dwCmd; /* IOCTL command code, 0x80000000 and above reserved for system */
f3be0ad6cde0c17c158fbaa14d5c032e89e0d008clar/* command code ranges for dwCmd field of DRVM_IOCTL message
f3be0ad6cde0c17c158fbaa14d5c032e89e0d008clar * - codes from 0 to 0x7FFFFFFF are user defined
f3be0ad6cde0c17c158fbaa14d5c032e89e0d008clar * - codes from 0x80000000 to 0xFFFFFFFF are reserved for future definition by microsoft
358432d9a5b6f663e0f5aa174e8df8a79dc56df1jfclere#define DRVM_MAPPER_CONSOLEVOICECOM_GET (DRVM_MAPPER+23)
358432d9a5b6f663e0f5aa174e8df8a79dc56df1jfclere#define DRV_QUERYDEVICEINTERFACESIZE (DRV_RESERVED + 13)
358432d9a5b6f663e0f5aa174e8df8a79dc56df1jfclere#define DRVM_MAPPER_PREFERRED_FLAGS_PREFERREDONLY 0x00000001
358432d9a5b6f663e0f5aa174e8df8a79dc56df1jfclere/* pre-defined joystick types */
#define JOY_POVVAL_FORWARD 0
typedef struct joypos_tag {
typedef struct joyrange_tag {
typedef struct joyreguservalues_tag {
typedef struct joyreghwsettings_tag {
typedef struct joyreghwvalues_tag {
typedef struct joyreghwconfig_tag {
typedef struct joycalibrate_tag {
} JOYCALIBRATE;
#define MCI_COMMAND_HEAD 0
typedef struct tMIXEROPENDESC
#ifdef __WINESRC__
#include <poppack.h>
#ifdef __cplusplus