Check for SYS/GL during library init. Reason is that
[AROS.git] / workbench / devs / AHI / Device / header.h
blob7cdf9bf041ea4b00789259bca60f6646a32e8fb4
1 /*
2 AHI - Hardware independent audio subsystem
3 Copyright (C) 1996-2005 Martin Blom <martin@blom.org>
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public
7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version.
10 This library 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 GNU
13 Library General Public License for more details.
15 You should have received a copy of the GNU Library General Public
16 License along with this library; if not, write to the
17 Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge,
18 MA 02139, USA.
21 #ifndef ahi_header_h
22 #define ahi_header_h
24 #include <config.h>
26 #include <exec/types.h>
27 #include <dos/dos.h>
28 #include "addroutines.h"
30 struct AHIBase;
32 enum MixBackend_t
34 MB_NATIVE
35 #if defined( ENABLE_WARPUP )
36 ,MB_WARPUP
37 #endif
41 extern const ULONG DriverVersion;
42 extern const ULONG Version;
43 extern const ULONG Revision;
44 extern const char DevName[];
45 extern const char IDString[];
47 extern enum MixBackend_t MixBackend;
49 #if defined( ENABLE_WARPUP )
50 extern void* PPCObject;
51 #endif
53 extern ADDFUNC* AddByteMonoPtr;
54 extern ADDFUNC* AddByteStereoPtr;
55 extern ADDFUNC* AddBytesMonoPtr;
56 extern ADDFUNC* AddBytesStereoPtr;
57 extern ADDFUNC* AddWordMonoPtr;
58 extern ADDFUNC* AddWordStereoPtr;
59 extern ADDFUNC* AddWordsMonoPtr;
60 extern ADDFUNC* AddWordsStereoPtr;
61 extern ADDFUNC* AddLongMonoPtr;
62 extern ADDFUNC* AddLongStereoPtr;
63 extern ADDFUNC* AddLongsMonoPtr;
64 extern ADDFUNC* AddLongsStereoPtr;
65 extern ADDFUNC* Add71MonoPtr;
66 extern ADDFUNC* Add71StereoPtr;
67 extern ADDFUNC* AddByteMonoBPtr;
68 extern ADDFUNC* AddByteStereoBPtr;
69 extern ADDFUNC* AddBytesMonoBPtr;
70 extern ADDFUNC* AddBytesStereoBPtr;
71 extern ADDFUNC* AddWordMonoBPtr;
72 extern ADDFUNC* AddWordStereoBPtr;
73 extern ADDFUNC* AddWordsMonoBPtr;
74 extern ADDFUNC* AddWordsStereoBPtr;
75 extern ADDFUNC* AddLongMonoBPtr;
76 extern ADDFUNC* AddLongStereoBPtr;
77 extern ADDFUNC* AddLongsMonoBPtr;
78 extern ADDFUNC* AddLongsStereoBPtr;
79 extern ADDFUNC* Add71MonoBPtr;
80 extern ADDFUNC* Add71StereoBPtr;
82 extern ADDFUNC* AddByte71Ptr;
83 extern ADDFUNC* AddBytes71Ptr;
84 extern ADDFUNC* AddWord71Ptr;
85 extern ADDFUNC* AddWords71Ptr;
86 extern ADDFUNC* AddLong71Ptr;
87 extern ADDFUNC* AddLongs71Ptr;
88 extern ADDFUNC* Add7171Ptr;
89 extern ADDFUNC* AddByte71BPtr;
90 extern ADDFUNC* AddBytes71BPtr;
91 extern ADDFUNC* AddWord71BPtr;
92 extern ADDFUNC* AddWords71BPtr;
93 extern ADDFUNC* AddLong71BPtr;
94 extern ADDFUNC* AddLongs71BPtr;
95 extern ADDFUNC* Add7171BPtr;
97 extern ADDFUNC* AddLofiByteMonoPtr;
98 extern ADDFUNC* AddLofiByteStereoPtr;
99 extern ADDFUNC* AddLofiBytesMonoPtr;
100 extern ADDFUNC* AddLofiBytesStereoPtr;
101 extern ADDFUNC* AddLofiWordMonoPtr;
102 extern ADDFUNC* AddLofiWordStereoPtr;
103 extern ADDFUNC* AddLofiWordsMonoPtr;
104 extern ADDFUNC* AddLofiWordsStereoPtr;
105 extern ADDFUNC* AddLofiLongMonoPtr;
106 extern ADDFUNC* AddLofiLongStereoPtr;
107 extern ADDFUNC* AddLofiLongsMonoPtr;
108 extern ADDFUNC* AddLofiLongsStereoPtr;
109 extern ADDFUNC* AddLofiByteMonoBPtr;
110 extern ADDFUNC* AddLofiByteStereoBPtr;
111 extern ADDFUNC* AddLofiBytesMonoBPtr;
112 extern ADDFUNC* AddLofiBytesStereoBPtr;
113 extern ADDFUNC* AddLofiWordMonoBPtr;
114 extern ADDFUNC* AddLofiWordStereoBPtr;
115 extern ADDFUNC* AddLofiWordsMonoBPtr;
116 extern ADDFUNC* AddLofiWordsStereoBPtr;
117 extern ADDFUNC* AddLofiLongMonoBPtr;
118 extern ADDFUNC* AddLofiLongStereoBPtr;
119 extern ADDFUNC* AddLofiLongsMonoBPtr;
120 extern ADDFUNC* AddLofiLongsStereoBPtr;
122 struct AHIBase*
123 _DevInit( struct AHIBase* device,
124 APTR seglist,
125 struct ExecBase* sysbase );
127 BPTR
128 _DevExpunge( struct AHIBase* device );
130 ULONG
131 _DevNULL( void );
133 #endif /* ahi_header_h */