mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-09-18 22:14:16 +00:00 
			
		
		
		
	 1da177e4c3
			
		
	
	
		1da177e4c3
		
	
	
	
	
		
			
			Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!
		
			
				
	
	
		
			163 lines
		
	
	
	
		
			5.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			163 lines
		
	
	
	
		
			5.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  **********************************************************************
 | |
|  *     isblive_mid.h
 | |
|  *     Copyright 1999, 2000 Creative Labs, Inc.
 | |
|  *
 | |
|  **********************************************************************
 | |
|  *
 | |
|  *     Date                 Author          Summary of changes
 | |
|  *     ----                 ------          ------------------
 | |
|  *     October 20, 1999     Bertrand Lee    base code release
 | |
|  *
 | |
|  **********************************************************************
 | |
|  *
 | |
|  *     This program is free software; you can redistribute it and/or
 | |
|  *     modify it under the terms of the GNU General Public License as
 | |
|  *     published by the Free Software Foundation; either version 2 of
 | |
|  *     the License, or (at your option) any later version.
 | |
|  *
 | |
|  *     This program 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 General Public License for more details.
 | |
|  *
 | |
|  *     You should have received a copy of the GNU General Public
 | |
|  *     License along with this program; if not, write to the Free
 | |
|  *     Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
 | |
|  *     USA.
 | |
|  *
 | |
|  **********************************************************************
 | |
|  */
 | |
| 
 | |
| #ifndef _ICARDMIDI_H
 | |
| #define _ICARDMIDI_H
 | |
| 
 | |
| /* MIDI defines */
 | |
| #define MIDI_DATA_FIRST                 0x00
 | |
| #define MIDI_DATA_LAST                  0x7F
 | |
| #define MIDI_STATUS_FIRST               0x80
 | |
| #define MIDI_STATUS_LAST                0xFF
 | |
| 
 | |
| /* Channel status bytes */
 | |
| #define MIDI_STATUS_CHANNEL_FIRST       0x80
 | |
| #define MIDI_STATUS_CHANNEL_LAST        0xE0
 | |
| #define MIDI_STATUS_CHANNEL_MASK        0xF0
 | |
| 
 | |
| /* Channel voice messages */
 | |
| #define MIDI_VOICE_NOTE_OFF             0x80
 | |
| #define MIDI_VOICE_NOTE_ON              0x90
 | |
| #define MIDI_VOICE_POLY_PRESSURE        0xA0
 | |
| #define MIDI_VOICE_CONTROL_CHANGE       0xB0
 | |
| #define MIDI_VOICE_PROGRAM_CHANGE       0xC0
 | |
| #define MIDI_VOICE_CHANNEL_PRESSURE     0xD0
 | |
| #define MIDI_VOICE_PITCH_BEND           0xE0
 | |
| 
 | |
| /* Channel mode messages */
 | |
| #define MIDI_MODE_CHANNEL               MIDI_VOICE_CONTROL_CHANGE
 | |
| 
 | |
| /* System status bytes */
 | |
| #define MIDI_STATUS_SYSTEM_FIRST        0xF0
 | |
| #define MIDI_STATUS_SYSTEM_LAST         0xFF
 | |
| 
 | |
| /* System exclusive messages */
 | |
| #define MIDI_SYSEX_BEGIN                0xF0
 | |
| #define MIDI_SYSEX_EOX                  0xF7
 | |
| 
 | |
| /* System common messages */
 | |
| #define MIDI_COMMON_TCQF                0xF1	/* Time code quarter frame  */
 | |
| #define MIDI_COMMON_SONG_POSITION       0xF2
 | |
| #define MIDI_COMMON_SONG_SELECT         0xF3
 | |
| #define MIDI_COMMON_UNDEFINED_F4        0xF4
 | |
| #define MIDI_COMMON_UNDEFINED_F5        0xF5
 | |
| #define MIDI_COMMON_TUNE_REQUEST        0xF6
 | |
| 
 | |
| /* System real-time messages */
 | |
| #define MIDI_RTIME_TIMING_CLOCK         0xF8
 | |
| #define MIDI_RTIME_UNDEFINED_F9         0xF9
 | |
| #define MIDI_RTIME_START                0xFA
 | |
| #define MIDI_RTIME_CONTINUE             0xFB
 | |
| #define MIDI_RTIME_STOP                 0xFC
 | |
| #define MIDI_RTIME_UNDEFINED_FD         0xFD
 | |
| #define MIDI_RTIME_ACTIVE_SENSING       0xFE
 | |
| #define MIDI_RTIME_SYSTEM_RESET         0xFF
 | |
| 
 | |
| /* Flags for flags parm of midiOutCachePatches(), midiOutCacheDrumPatches() */
 | |
| #define MIDI_CACHE_ALL                  1
 | |
| #define MIDI_CACHE_BESTFIT              2
 | |
| #define MIDI_CACHE_QUERY                3
 | |
| #define MIDI_UNCACHE                    4
 | |
| 
 | |
| /* Event declarations for MPU IRQ Callbacks */
 | |
| #define ICARDMIDI_INLONGDATA            0x00000001 /* MIM_LONGDATA */
 | |
| #define ICARDMIDI_INLONGERROR           0x00000002 /* MIM_LONGERROR */
 | |
| #define ICARDMIDI_OUTLONGDATA           0x00000004 /* MOM_DONE for MPU OUT buffer */
 | |
| #define ICARDMIDI_INDATA                0x00000010 /* MIM_DATA */
 | |
| #define ICARDMIDI_INDATAERROR           0x00000020 /* MIM_ERROR */
 | |
| 
 | |
| /* Declaration for flags in CARDMIDIBUFFERHDR */
 | |
| /* Make it the same as MHDR_DONE, MHDR_INQUEUE in mmsystem.h */
 | |
| #define MIDIBUF_DONE                    0x00000001
 | |
| #define MIDIBUF_INQUEUE                 0x00000004
 | |
| 
 | |
| /* Declaration for msg parameter in midiCallbackFn */
 | |
| #define ICARDMIDI_OUTBUFFEROK           0x00000001
 | |
| #define ICARDMIDI_INMIDIOK              0x00000002
 | |
| 
 | |
| /* Declaration for technology in struct midi_caps */
 | |
| #define MT_MIDIPORT                     0x00000001	/* In original MIDIOUTCAPS structure */
 | |
| #define MT_FMSYNTH                      0x00000004	/* In original MIDIOUTCAPS structure */
 | |
| #define MT_AWESYNTH                     0x00001000
 | |
| #define MT_PCISYNTH                     0x00002000
 | |
| #define MT_PCISYNTH64                   0x00004000
 | |
| #define CARDMIDI_AWEMASK                0x0000F000
 | |
| 
 | |
| enum LocalErrorCode
 | |
| {
 | |
|         CTSTATUS_NOTENABLED = 0x7000,
 | |
|         CTSTATUS_READY,
 | |
|         CTSTATUS_BUSY,
 | |
|         CTSTATUS_DATAAVAIL,
 | |
|         CTSTATUS_NODATA,
 | |
|         CTSTATUS_NEXT_BYTE
 | |
| };
 | |
| 
 | |
| /* MIDI data block header */
 | |
| struct midi_hdr
 | |
| {
 | |
| 	u8 *reserved;		/* Pointer to original locked data block */
 | |
| 	u32 bufferlength;	/* Length of data in data block */
 | |
| 	u32 bytesrecorded;	/* Used for input only */
 | |
| 	u32 user;		/* For client's use */
 | |
| 	u32 flags;		/* Assorted flags (see defines) */
 | |
| 	struct list_head list;	/* Reserved for driver */
 | |
| 	u8 *data;		/* Second copy of first pointer */
 | |
| };
 | |
| 
 | |
| /* Enumeration for SetControl */
 | |
| enum
 | |
| {
 | |
| 	MIDIOBJVOLUME = 0x1,
 | |
| 	MIDIQUERYACTIVEINST
 | |
| };
 | |
| 
 | |
| struct midi_queue
 | |
| {
 | |
| 	struct midi_queue  *next;
 | |
| 	u32 qtype;            /* 0 = short message, 1 = long data */
 | |
| 	u32 length;
 | |
| 	u32 sizeLeft;
 | |
| 	u8 *midibyte;
 | |
| 	unsigned long refdata;
 | |
| };
 | |
| 
 | |
| struct midi_openinfo
 | |
| {
 | |
| 	u32     cbsize;
 | |
| 	u32     flags;
 | |
| 	unsigned long  refdata;
 | |
| 	u32     streamid;
 | |
| };
 | |
| 
 | |
| int emu10k1_midi_callback(unsigned long , unsigned long, unsigned long *);
 | |
| 
 | |
| #endif /* _ICARDMIDI_H */
 |