grub2: bring back build of aros-side grub2 tools
[AROS.git] / workbench / devs / AHI / Drivers / EMU10kx / emu10kx-camd.h
blobb979d9d7b41dbcc2ca3d765b923ec270867eed10
1 /*
2 emu10kx.audio - AHI driver for SoundBlaster Live! series
3 Copyright (C) 2002-2005 Martin Blom <martin@blom.org>
5 This program is free software; you can redistribute it and/or
6 modify it under the terms of the GNU General Public License
7 as published by the Free Software Foundation; either version 2
8 of the License, or (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
20 #ifndef AHI_Drivers_EMU10kx_emu10kx_camd_h
21 #define AHI_Drivers_EMU10kx_emu10kx_camd_h
23 #include <config.h>
24 #include <exec/semaphores.h>
26 #define EMU10KX_CAMD_SEMAPHORE "emu10kx.camd"
28 /* This is the global, public data structure used to communicate with
29 * the CAMD part of emu10kx.audio. Find it, lock it, use it and then
30 * release it. */
32 struct EMU10kxCamd
34 struct SignalSemaphore Semaphore;
35 UWORD Cards;
36 UWORD Version;
37 UWORD Revision;
38 struct Hook OpenPortFunc;
39 struct Hook ClosePortFunc;
40 struct Hook ActivateXmitFunc;
44 /* Message for OpenPortFunc */
45 struct OpenMessage
47 LONG PortNum;
48 ULONG V40Mode;
49 struct Hook* TransmitFunc;
50 struct Hook* ReceiveFunc;
53 /* Message for ClosePortFunc */
54 struct CloseMessage
56 LONG PortNum;
59 /* Message for ActivateXmitFunc */
60 struct ActivateMessage
62 LONG PortNum;
65 /* Message for ReceiveFunc */
66 struct ReceiveMessage
68 ULONG InputByte;
72 struct EMU10kxBase;
74 ULONG
75 OpenCAMDPort( struct Hook* hook,
76 struct EMU10kxBase* EMU10kxBase,
77 struct OpenMessage* msg );
79 VOID
80 CloseCAMDPort( struct Hook* hook,
81 struct EMU10kxBase* EMU10kxBase,
82 struct CloseMessage* msg );
84 VOID
85 ActivateCAMDXmit( struct Hook* hook,
86 struct EMU10kxBase* EMU10kxBase,
87 struct ActivateMessage* msg );
89 #endif /* AHI_Drivers_EMU10kx_emu10kx_camd_h */