aboutsummaryrefslogtreecommitdiff
path: root/x86_64-w64-mingw32/include/idf.h
blob: 0445b0295f8d5ba51867ffa1762c156a1b20f229 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
/**
 * This file has no copyright assigned and is placed in the Public Domain.
 * This file is part of the mingw-w64 runtime package.
 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
 */
#ifndef __IDF_H__
#define __IDF_H__

typedef struct tag_IDFHEADER {
  DWORD cbStruct;
  DWORD dwVersion;
  DWORD dwCreator;
  DWORD cbInstID;
  BYTE abInstID[1];
} IDFHEADER,*PIDFHEADER,*LPIDFHEADER;

typedef struct tag_IDFINSTINFO {
  DWORD cbStruct;
  DWORD dwManufactID;
  DWORD dwProductID;
  DWORD dwRevision;
  DWORD cbManufactASCII;
  DWORD cbManufactUNICODE;
  DWORD cbProductASCII;
  DWORD cbProductUNICODE;
  BYTE abData[1];
} IDFINSTINFO,*LPIDFINSTINFO;

typedef struct tag_IDFINSTCAPS {
  DWORD cbStruct;
  DWORD fdwFlags;
  DWORD dwBasicChannel;
  DWORD cNumChannels;
  DWORD cInstrumentPolyphony;
  DWORD cChannelPolyphony;
} IDFINSTCAPS,*PIDFINSTCAPS,*LPIDFINSTCAPS;

#define IDFINSTCAPS_F_GENERAL_MIDI 0x00000001
#define IDFINSTCAPS_F_SYSTEMEXCLUSIVE 0x00000002

typedef struct tag_IDFCHANNELHDR {
  DWORD cbStruct;
  DWORD dwGeneralMask;
  DWORD dwDrumMask;
  DWORD dwReserved;
  DWORD fdwFlags;
} IDFCHANNELHDR,*PIDFCHANNELHDR,*LPIDFCHANNELHDR;

#define IDFCHANNELHDR_F_GENERAL_MIDI 0x00000001

typedef struct tag_IDFCHANNELINFO {
  DWORD cbStruct;
  DWORD dwChannel;
  DWORD cbInitData;
  BYTE abData[];
} IDFCHANNELINFO,*PIDFCHANNELINFO,*LPIDFCHANNELINFO;

typedef struct tag_IDFPATCHMAPHDR {
  DWORD cbStruct;
  BYTE abPatchMap[128];
} IDFPATCHMAPHDR,*PIDFPATCHMAPHDR,*LPIDFPATCHMAPHDR;

typedef struct tag_IDFKEYMAPHDR {
  DWORD cbStruct;
  DWORD cNumKeyMaps;
  DWORD cbKeyMap;
} IDFKEYMAPHDR,*PIDFKEYMAPHDR,*LPIDFKEYMAPHDR;

typedef struct tag_IDFKEYMAP {
  DWORD cbStruct;
  BYTE abKeyMap[128];
} IDFKEYMAP,*PIDFKEYMAP,*LPIDFKEYMAP;

#endif