import of ftp.dlink.com/GPL/DSMG-600_reB/ppclinux.tar.gz
[linux-2.4.21-pre4.git] / drivers / sound / emu10k1 / midi.h
1 /*     
2  **********************************************************************
3  *     midi.h
4  *     Copyright 1999, 2000 Creative Labs, Inc. 
5  * 
6  ********************************************************************** 
7  * 
8  *     Date                 Author          Summary of changes 
9  *     ----                 ------          ------------------ 
10  *     October 20, 1999     Bertrand Lee    base code release 
11  * 
12  ********************************************************************** 
13  * 
14  *     This program is free software; you can redistribute it and/or 
15  *     modify it under the terms of the GNU General Public License as 
16  *     published by the Free Software Foundation; either version 2 of 
17  *     the License, or (at your option) any later version. 
18  * 
19  *     This program is distributed in the hope that it will be useful, 
20  *     but WITHOUT ANY WARRANTY; without even the implied warranty of 
21  *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
22  *     GNU General Public License for more details. 
23  * 
24  *     You should have received a copy of the GNU General Public 
25  *     License along with this program; if not, write to the Free 
26  *     Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, 
27  *     USA. 
28  * 
29  ********************************************************************** 
30  */ 
31
32 #ifndef _MIDI_H
33 #define _MIDI_H
34
35 #define FMODE_MIDI_SHIFT 3
36 #define FMODE_MIDI_READ  (FMODE_READ << FMODE_MIDI_SHIFT)
37 #define FMODE_MIDI_WRITE (FMODE_WRITE << FMODE_MIDI_SHIFT)
38
39 #define MIDIIN_STATE_STARTED 0x00000001
40 #define MIDIIN_STATE_STOPPED 0x00000002
41
42 #define MIDIIN_BUFLEN 1024
43
44 struct emu10k1_mididevice
45 {
46         struct emu10k1_card *card;
47         u32 mistate;
48         wait_queue_head_t oWait;
49         wait_queue_head_t iWait;
50         s8 iBuf[MIDIIN_BUFLEN];
51         u16 ird, iwr, icnt;
52         struct list_head mid_hdrs;
53 };
54
55 #endif /* _MIDI_H */