xref: /aosp_15_r20/external/sonivox/arm-wt-22k/host_src/eas.h (revision f81fb7c475c4b71ff83bdcc517de2a8c174e4e5c)
1*f81fb7c4SAndroid Build Coastguard Worker /*----------------------------------------------------------------------------
2*f81fb7c4SAndroid Build Coastguard Worker  *
3*f81fb7c4SAndroid Build Coastguard Worker  * File:
4*f81fb7c4SAndroid Build Coastguard Worker  * eas.h
5*f81fb7c4SAndroid Build Coastguard Worker  *
6*f81fb7c4SAndroid Build Coastguard Worker  * Contents and purpose:
7*f81fb7c4SAndroid Build Coastguard Worker  * The public interface header for the EAS synthesizer.
8*f81fb7c4SAndroid Build Coastguard Worker  *
9*f81fb7c4SAndroid Build Coastguard Worker  * This header only contains declarations that are specific
10*f81fb7c4SAndroid Build Coastguard Worker  * to this implementation.
11*f81fb7c4SAndroid Build Coastguard Worker  *
12*f81fb7c4SAndroid Build Coastguard Worker  * DO NOT MODIFY THIS FILE!
13*f81fb7c4SAndroid Build Coastguard Worker  *
14*f81fb7c4SAndroid Build Coastguard Worker  * Copyright Sonic Network Inc. 2005, 2006
15*f81fb7c4SAndroid Build Coastguard Worker 
16*f81fb7c4SAndroid Build Coastguard Worker  * Licensed under the Apache License, Version 2.0 (the "License");
17*f81fb7c4SAndroid Build Coastguard Worker  * you may not use this file except in compliance with the License.
18*f81fb7c4SAndroid Build Coastguard Worker  * You may obtain a copy of the License at
19*f81fb7c4SAndroid Build Coastguard Worker  *
20*f81fb7c4SAndroid Build Coastguard Worker  *      http://www.apache.org/licenses/LICENSE-2.0
21*f81fb7c4SAndroid Build Coastguard Worker  *
22*f81fb7c4SAndroid Build Coastguard Worker  * Unless required by applicable law or agreed to in writing, software
23*f81fb7c4SAndroid Build Coastguard Worker  * distributed under the License is distributed on an "AS IS" BASIS,
24*f81fb7c4SAndroid Build Coastguard Worker  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
25*f81fb7c4SAndroid Build Coastguard Worker  * See the License for the specific language governing permissions and
26*f81fb7c4SAndroid Build Coastguard Worker  * limitations under the License.
27*f81fb7c4SAndroid Build Coastguard Worker  *
28*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
29*f81fb7c4SAndroid Build Coastguard Worker  * Revision Control:
30*f81fb7c4SAndroid Build Coastguard Worker  *   $Revision: 852 $
31*f81fb7c4SAndroid Build Coastguard Worker  *   $Date: 2007-09-04 11:43:49 -0700 (Tue, 04 Sep 2007) $
32*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
33*f81fb7c4SAndroid Build Coastguard Worker */
34*f81fb7c4SAndroid Build Coastguard Worker 
35*f81fb7c4SAndroid Build Coastguard Worker #ifndef _EAS_H
36*f81fb7c4SAndroid Build Coastguard Worker #define _EAS_H
37*f81fb7c4SAndroid Build Coastguard Worker 
38*f81fb7c4SAndroid Build Coastguard Worker #include "eas_types.h"
39*f81fb7c4SAndroid Build Coastguard Worker 
40*f81fb7c4SAndroid Build Coastguard Worker /* for C++ linkage */
41*f81fb7c4SAndroid Build Coastguard Worker #ifdef __cplusplus
42*f81fb7c4SAndroid Build Coastguard Worker extern "C" {
43*f81fb7c4SAndroid Build Coastguard Worker #endif
44*f81fb7c4SAndroid Build Coastguard Worker 
45*f81fb7c4SAndroid Build Coastguard Worker /* library version macro */
46*f81fb7c4SAndroid Build Coastguard Worker #define MAKE_LIB_VERSION(a,b,c,d) (((((((EAS_U32) a <<8) | (EAS_U32) b) << 8) | (EAS_U32) c) << 8) | (EAS_U32) d)
47*f81fb7c4SAndroid Build Coastguard Worker #define LIB_VERSION MAKE_LIB_VERSION(3, 6, 10, 14)
48*f81fb7c4SAndroid Build Coastguard Worker 
49*f81fb7c4SAndroid Build Coastguard Worker typedef struct
50*f81fb7c4SAndroid Build Coastguard Worker {
51*f81fb7c4SAndroid Build Coastguard Worker     EAS_U32     libVersion;
52*f81fb7c4SAndroid Build Coastguard Worker     EAS_BOOL    checkedVersion;
53*f81fb7c4SAndroid Build Coastguard Worker     EAS_I32     maxVoices;
54*f81fb7c4SAndroid Build Coastguard Worker     EAS_I32     numChannels;
55*f81fb7c4SAndroid Build Coastguard Worker     EAS_I32     sampleRate;
56*f81fb7c4SAndroid Build Coastguard Worker     EAS_I32     mixBufferSize;
57*f81fb7c4SAndroid Build Coastguard Worker     EAS_BOOL    filterEnabled;
58*f81fb7c4SAndroid Build Coastguard Worker     EAS_U32     buildTimeStamp;
59*f81fb7c4SAndroid Build Coastguard Worker     EAS_CHAR    *buildGUID;
60*f81fb7c4SAndroid Build Coastguard Worker } S_EAS_LIB_CONFIG;
61*f81fb7c4SAndroid Build Coastguard Worker 
62*f81fb7c4SAndroid Build Coastguard Worker /* enumerated effects module numbers for configuration */
63*f81fb7c4SAndroid Build Coastguard Worker typedef enum
64*f81fb7c4SAndroid Build Coastguard Worker {
65*f81fb7c4SAndroid Build Coastguard Worker     EAS_MODULE_ENHANCER = 0,
66*f81fb7c4SAndroid Build Coastguard Worker     EAS_MODULE_COMPRESSOR,
67*f81fb7c4SAndroid Build Coastguard Worker     EAS_MODULE_REVERB,
68*f81fb7c4SAndroid Build Coastguard Worker     EAS_MODULE_CHORUS,
69*f81fb7c4SAndroid Build Coastguard Worker     EAS_MODULE_WIDENER,
70*f81fb7c4SAndroid Build Coastguard Worker     EAS_MODULE_GRAPHIC_EQ,
71*f81fb7c4SAndroid Build Coastguard Worker     EAS_MODULE_WOW,
72*f81fb7c4SAndroid Build Coastguard Worker     EAS_MODULE_MAXIMIZER,
73*f81fb7c4SAndroid Build Coastguard Worker     EAS_MODULE_TONECONTROLEQ,
74*f81fb7c4SAndroid Build Coastguard Worker     NUM_EFFECTS_MODULES
75*f81fb7c4SAndroid Build Coastguard Worker } E_FX_MODULES;
76*f81fb7c4SAndroid Build Coastguard Worker 
77*f81fb7c4SAndroid Build Coastguard Worker /* enumerated optional module numbers for configuration */
78*f81fb7c4SAndroid Build Coastguard Worker typedef enum
79*f81fb7c4SAndroid Build Coastguard Worker {
80*f81fb7c4SAndroid Build Coastguard Worker     EAS_MODULE_MMAPI_TONE_CONTROL = 0,
81*f81fb7c4SAndroid Build Coastguard Worker     EAS_MODULE_METRICS
82*f81fb7c4SAndroid Build Coastguard Worker } E_OPT_MODULES;
83*f81fb7c4SAndroid Build Coastguard Worker #define NUM_OPTIONAL_MODULES    2
84*f81fb7c4SAndroid Build Coastguard Worker 
85*f81fb7c4SAndroid Build Coastguard Worker /* enumerated audio decoders for configuration */
86*f81fb7c4SAndroid Build Coastguard Worker typedef enum
87*f81fb7c4SAndroid Build Coastguard Worker {
88*f81fb7c4SAndroid Build Coastguard Worker     EAS_DECODER_PCM = 0,
89*f81fb7c4SAndroid Build Coastguard Worker     EAS_DECODER_SMAF_ADPCM,
90*f81fb7c4SAndroid Build Coastguard Worker     EAS_DECODER_IMA_ADPCM,
91*f81fb7c4SAndroid Build Coastguard Worker     EAS_DECODER_7BIT_SMAF_ADPCM,
92*f81fb7c4SAndroid Build Coastguard Worker     EAS_DECODER_NOT_SUPPORTED
93*f81fb7c4SAndroid Build Coastguard Worker } E_DECODER_MODULES;
94*f81fb7c4SAndroid Build Coastguard Worker #define NUM_DECODER_MODULES     4
95*f81fb7c4SAndroid Build Coastguard Worker 
96*f81fb7c4SAndroid Build Coastguard Worker /* defines for EAS_PEOpenStream flags parameter */
97*f81fb7c4SAndroid Build Coastguard Worker #define PCM_FLAGS_STEREO        0x00000100  /* stream is stereo */
98*f81fb7c4SAndroid Build Coastguard Worker #define PCM_FLAGS_8_BIT         0x00000001  /* 8-bit format */
99*f81fb7c4SAndroid Build Coastguard Worker #define PCM_FLAGS_UNSIGNED      0x00000010  /* unsigned format */
100*f81fb7c4SAndroid Build Coastguard Worker #define PCM_FLAGS_STREAMING     0x80000000  /* streaming mode */
101*f81fb7c4SAndroid Build Coastguard Worker 
102*f81fb7c4SAndroid Build Coastguard Worker /* maximum volume setting */
103*f81fb7c4SAndroid Build Coastguard Worker #define EAS_MAX_VOLUME          100
104*f81fb7c4SAndroid Build Coastguard Worker 
105*f81fb7c4SAndroid Build Coastguard Worker /*----------------------------------------------------------------------------
106*f81fb7c4SAndroid Build Coastguard Worker  * EAS_Init()
107*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
108*f81fb7c4SAndroid Build Coastguard Worker  * Purpose:
109*f81fb7c4SAndroid Build Coastguard Worker  * Initialize the synthesizer library
110*f81fb7c4SAndroid Build Coastguard Worker  *
111*f81fb7c4SAndroid Build Coastguard Worker  * Inputs:
112*f81fb7c4SAndroid Build Coastguard Worker  *  polyphony       - number of voices to play (dynamic memory model only)
113*f81fb7c4SAndroid Build Coastguard Worker  *  ppLibData       - pointer to data handle variable for this instance
114*f81fb7c4SAndroid Build Coastguard Worker  *
115*f81fb7c4SAndroid Build Coastguard Worker  * Outputs:
116*f81fb7c4SAndroid Build Coastguard Worker  *
117*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
118*f81fb7c4SAndroid Build Coastguard Worker */
119*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT EAS_Init (EAS_DATA_HANDLE *ppEASData);
120*f81fb7c4SAndroid Build Coastguard Worker 
121*f81fb7c4SAndroid Build Coastguard Worker /*----------------------------------------------------------------------------
122*f81fb7c4SAndroid Build Coastguard Worker  * EAS_Config()
123*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
124*f81fb7c4SAndroid Build Coastguard Worker  * Purpose:
125*f81fb7c4SAndroid Build Coastguard Worker  * Returns a pointer to a structure containing the configuration options
126*f81fb7c4SAndroid Build Coastguard Worker  * in this library build.
127*f81fb7c4SAndroid Build Coastguard Worker  *
128*f81fb7c4SAndroid Build Coastguard Worker  * Inputs:
129*f81fb7c4SAndroid Build Coastguard Worker  *
130*f81fb7c4SAndroid Build Coastguard Worker  * Outputs:
131*f81fb7c4SAndroid Build Coastguard Worker  *
132*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
133*f81fb7c4SAndroid Build Coastguard Worker */
134*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC const S_EAS_LIB_CONFIG *EAS_Config (void);
135*f81fb7c4SAndroid Build Coastguard Worker 
136*f81fb7c4SAndroid Build Coastguard Worker /*----------------------------------------------------------------------------
137*f81fb7c4SAndroid Build Coastguard Worker  * EAS_Shutdown()
138*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
139*f81fb7c4SAndroid Build Coastguard Worker  * Purpose:
140*f81fb7c4SAndroid Build Coastguard Worker  * Shuts down the library. Deallocates any memory associated with the
141*f81fb7c4SAndroid Build Coastguard Worker  * synthesizer (dynamic memory model only)
142*f81fb7c4SAndroid Build Coastguard Worker  *
143*f81fb7c4SAndroid Build Coastguard Worker  * Inputs:
144*f81fb7c4SAndroid Build Coastguard Worker  *  pEASData        - handle to data for this instance
145*f81fb7c4SAndroid Build Coastguard Worker  *
146*f81fb7c4SAndroid Build Coastguard Worker  * Outputs:
147*f81fb7c4SAndroid Build Coastguard Worker  *
148*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
149*f81fb7c4SAndroid Build Coastguard Worker */
150*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT EAS_Shutdown (EAS_DATA_HANDLE pEASData);
151*f81fb7c4SAndroid Build Coastguard Worker 
152*f81fb7c4SAndroid Build Coastguard Worker /*----------------------------------------------------------------------------
153*f81fb7c4SAndroid Build Coastguard Worker  * EAS_Render()
154*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
155*f81fb7c4SAndroid Build Coastguard Worker  * Purpose:
156*f81fb7c4SAndroid Build Coastguard Worker  * Parse the Midi data and render PCM audio data.
157*f81fb7c4SAndroid Build Coastguard Worker  *
158*f81fb7c4SAndroid Build Coastguard Worker  * Inputs:
159*f81fb7c4SAndroid Build Coastguard Worker  *  pEASData        - buffer for internal EAS data
160*f81fb7c4SAndroid Build Coastguard Worker  *  pOut            - output buffer pointer
161*f81fb7c4SAndroid Build Coastguard Worker  *  nNumRequested   - requested num samples to generate
162*f81fb7c4SAndroid Build Coastguard Worker  *  pnNumGenerated  - actual number of samples generated
163*f81fb7c4SAndroid Build Coastguard Worker  *
164*f81fb7c4SAndroid Build Coastguard Worker  * Outputs:
165*f81fb7c4SAndroid Build Coastguard Worker  *  EAS_SUCCESS if PCM data was successfully rendered
166*f81fb7c4SAndroid Build Coastguard Worker  *
167*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
168*f81fb7c4SAndroid Build Coastguard Worker */
169*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT EAS_Render (EAS_DATA_HANDLE pEASData, EAS_PCM *pOut, EAS_I32 numRequested, EAS_I32 *pNumGenerated);
170*f81fb7c4SAndroid Build Coastguard Worker 
171*f81fb7c4SAndroid Build Coastguard Worker /*----------------------------------------------------------------------------
172*f81fb7c4SAndroid Build Coastguard Worker  * EAS_SetTransposition)
173*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
174*f81fb7c4SAndroid Build Coastguard Worker  * Purpose:
175*f81fb7c4SAndroid Build Coastguard Worker  * Sets the key tranposition for the synthesizer. Transposes all
176*f81fb7c4SAndroid Build Coastguard Worker  * melodic instruments by the specified amount. Range is limited
177*f81fb7c4SAndroid Build Coastguard Worker  * to +/-12 semitones.
178*f81fb7c4SAndroid Build Coastguard Worker  *
179*f81fb7c4SAndroid Build Coastguard Worker  * Inputs:
180*f81fb7c4SAndroid Build Coastguard Worker  *  pEASData        - handle to data for this instance
181*f81fb7c4SAndroid Build Coastguard Worker  *  streamHandle    - handle to stream
182*f81fb7c4SAndroid Build Coastguard Worker  *  transposition   - +/-12 semitones
183*f81fb7c4SAndroid Build Coastguard Worker  *
184*f81fb7c4SAndroid Build Coastguard Worker  * Outputs:
185*f81fb7c4SAndroid Build Coastguard Worker  *
186*f81fb7c4SAndroid Build Coastguard Worker  * Side Effects:
187*f81fb7c4SAndroid Build Coastguard Worker  *
188*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
189*f81fb7c4SAndroid Build Coastguard Worker */
190*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT EAS_SetTransposition (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle, EAS_I32 transposition);
191*f81fb7c4SAndroid Build Coastguard Worker #define MAX_TRANSPOSE       12
192*f81fb7c4SAndroid Build Coastguard Worker 
193*f81fb7c4SAndroid Build Coastguard Worker 
194*f81fb7c4SAndroid Build Coastguard Worker /*----------------------------------------------------------------------------
195*f81fb7c4SAndroid Build Coastguard Worker  * EAS_SetVolume()
196*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
197*f81fb7c4SAndroid Build Coastguard Worker  * Purpose:
198*f81fb7c4SAndroid Build Coastguard Worker  * Set the master volume for the mixer. The default volume setting is
199*f81fb7c4SAndroid Build Coastguard Worker  * 90 (-10 dB). The volume range is 0 to 100 in 1dB increments.
200*f81fb7c4SAndroid Build Coastguard Worker  *
201*f81fb7c4SAndroid Build Coastguard Worker  * Inputs:
202*f81fb7c4SAndroid Build Coastguard Worker  * pEASData         - pointer to overall EAS data structure
203*f81fb7c4SAndroid Build Coastguard Worker  * volume           - the desired master volume
204*f81fb7c4SAndroid Build Coastguard Worker  *
205*f81fb7c4SAndroid Build Coastguard Worker  * Outputs:
206*f81fb7c4SAndroid Build Coastguard Worker  *
207*f81fb7c4SAndroid Build Coastguard Worker  *
208*f81fb7c4SAndroid Build Coastguard Worker  * Side Effects:
209*f81fb7c4SAndroid Build Coastguard Worker  * overrides any previously set master volume from sysex
210*f81fb7c4SAndroid Build Coastguard Worker  *
211*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
212*f81fb7c4SAndroid Build Coastguard Worker */
213*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT EAS_SetVolume (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle, EAS_I32 volume);
214*f81fb7c4SAndroid Build Coastguard Worker 
215*f81fb7c4SAndroid Build Coastguard Worker /*----------------------------------------------------------------------------
216*f81fb7c4SAndroid Build Coastguard Worker  * EAS_OpenFile()
217*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
218*f81fb7c4SAndroid Build Coastguard Worker  * Purpose:
219*f81fb7c4SAndroid Build Coastguard Worker  * Opens a file for audio playback.
220*f81fb7c4SAndroid Build Coastguard Worker  *
221*f81fb7c4SAndroid Build Coastguard Worker  * Inputs:
222*f81fb7c4SAndroid Build Coastguard Worker  * pEASData         - pointer to overall EAS data structure
223*f81fb7c4SAndroid Build Coastguard Worker  * locator          - pointer to filename or other locating information
224*f81fb7c4SAndroid Build Coastguard Worker  * pStreamHandle    - pointer to stream handle variable
225*f81fb7c4SAndroid Build Coastguard Worker  *
226*f81fb7c4SAndroid Build Coastguard Worker  * Outputs:
227*f81fb7c4SAndroid Build Coastguard Worker  *
228*f81fb7c4SAndroid Build Coastguard Worker  *
229*f81fb7c4SAndroid Build Coastguard Worker  * Side Effects:
230*f81fb7c4SAndroid Build Coastguard Worker  *
231*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
232*f81fb7c4SAndroid Build Coastguard Worker */
233*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT EAS_OpenFile (EAS_DATA_HANDLE pEASData, EAS_FILE_LOCATOR locator, EAS_HANDLE *pStreamHandle);
234*f81fb7c4SAndroid Build Coastguard Worker 
235*f81fb7c4SAndroid Build Coastguard Worker #ifdef MMAPI_SUPPORT
236*f81fb7c4SAndroid Build Coastguard Worker /*----------------------------------------------------------------------------
237*f81fb7c4SAndroid Build Coastguard Worker  * EAS_MMAPIToneControl()
238*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
239*f81fb7c4SAndroid Build Coastguard Worker  * Purpose:
240*f81fb7c4SAndroid Build Coastguard Worker  * Opens a ToneControl file for audio playback.
241*f81fb7c4SAndroid Build Coastguard Worker  *
242*f81fb7c4SAndroid Build Coastguard Worker  * Inputs:
243*f81fb7c4SAndroid Build Coastguard Worker  * pEASData         - pointer to overall EAS data structure
244*f81fb7c4SAndroid Build Coastguard Worker  * locator          - pointer to filename or other locating information
245*f81fb7c4SAndroid Build Coastguard Worker  * pStreamHandle    - pointer to stream handle variable
246*f81fb7c4SAndroid Build Coastguard Worker  *
247*f81fb7c4SAndroid Build Coastguard Worker  * Outputs:
248*f81fb7c4SAndroid Build Coastguard Worker  *
249*f81fb7c4SAndroid Build Coastguard Worker  *
250*f81fb7c4SAndroid Build Coastguard Worker  * Side Effects:
251*f81fb7c4SAndroid Build Coastguard Worker  *
252*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
253*f81fb7c4SAndroid Build Coastguard Worker */
254*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT EAS_MMAPIToneControl (EAS_DATA_HANDLE pEASData, EAS_FILE_LOCATOR locator, EAS_HANDLE *pStreamHandle);
255*f81fb7c4SAndroid Build Coastguard Worker 
256*f81fb7c4SAndroid Build Coastguard Worker /*----------------------------------------------------------------------------
257*f81fb7c4SAndroid Build Coastguard Worker  * EAS_GetWaveFmtChunk
258*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
259*f81fb7c4SAndroid Build Coastguard Worker  * Helper function to retrieve WAVE file fmt chunk for MMAPI
260*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
261*f81fb7c4SAndroid Build Coastguard Worker  * pEASData         - pointer to EAS persistent data object
262*f81fb7c4SAndroid Build Coastguard Worker  * streamHandle     - stream handle
263*f81fb7c4SAndroid Build Coastguard Worker  * pFmtChunk        - pointer to pointer to FMT chunk data
264*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
265*f81fb7c4SAndroid Build Coastguard Worker */
266*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT EAS_GetWaveFmtChunk (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle, EAS_VOID_PTR *ppFmtChunk);
267*f81fb7c4SAndroid Build Coastguard Worker #endif
268*f81fb7c4SAndroid Build Coastguard Worker 
269*f81fb7c4SAndroid Build Coastguard Worker /*----------------------------------------------------------------------------
270*f81fb7c4SAndroid Build Coastguard Worker  * EAS_GetFileType
271*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
272*f81fb7c4SAndroid Build Coastguard Worker  * Returns the file type (see eas_types.h for enumerations)
273*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
274*f81fb7c4SAndroid Build Coastguard Worker  * pEASData         - pointer to EAS persistent data object
275*f81fb7c4SAndroid Build Coastguard Worker  * streamHandle     - stream handle
276*f81fb7c4SAndroid Build Coastguard Worker  * pFileType        - pointer to variable to receive file type
277*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
278*f81fb7c4SAndroid Build Coastguard Worker */
279*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT EAS_GetFileType (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle, EAS_I32 *pFileType);
280*f81fb7c4SAndroid Build Coastguard Worker 
281*f81fb7c4SAndroid Build Coastguard Worker /*----------------------------------------------------------------------------
282*f81fb7c4SAndroid Build Coastguard Worker  * EAS_ParseMetaData()
283*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
284*f81fb7c4SAndroid Build Coastguard Worker  * Purpose:
285*f81fb7c4SAndroid Build Coastguard Worker  *
286*f81fb7c4SAndroid Build Coastguard Worker  *
287*f81fb7c4SAndroid Build Coastguard Worker  * Inputs:
288*f81fb7c4SAndroid Build Coastguard Worker  * pEASData         - pointer to overall EAS data structure
289*f81fb7c4SAndroid Build Coastguard Worker  * streamHandle     - file or stream handle
290*f81fb7c4SAndroid Build Coastguard Worker  * playLength       - pointer to variable to store the play length (in msecs)
291*f81fb7c4SAndroid Build Coastguard Worker  *
292*f81fb7c4SAndroid Build Coastguard Worker  * Outputs:
293*f81fb7c4SAndroid Build Coastguard Worker  *
294*f81fb7c4SAndroid Build Coastguard Worker  *
295*f81fb7c4SAndroid Build Coastguard Worker  * Side Effects:
296*f81fb7c4SAndroid Build Coastguard Worker  *                  - resets the parser to the start of the file
297*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
298*f81fb7c4SAndroid Build Coastguard Worker */
299*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT EAS_ParseMetaData (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle, EAS_I32 *pPlayLength);
300*f81fb7c4SAndroid Build Coastguard Worker 
301*f81fb7c4SAndroid Build Coastguard Worker /*----------------------------------------------------------------------------
302*f81fb7c4SAndroid Build Coastguard Worker  * EAS_Prepare()
303*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
304*f81fb7c4SAndroid Build Coastguard Worker  * Purpose:
305*f81fb7c4SAndroid Build Coastguard Worker  * Prepares the synthesizer to play the file or stream. Parses the first
306*f81fb7c4SAndroid Build Coastguard Worker  * frame of data from the file and arms the synthesizer.
307*f81fb7c4SAndroid Build Coastguard Worker  *
308*f81fb7c4SAndroid Build Coastguard Worker  * Inputs:
309*f81fb7c4SAndroid Build Coastguard Worker  * pEASData         - pointer to overall EAS data structure
310*f81fb7c4SAndroid Build Coastguard Worker  * streamHandle     - file or stream handle
311*f81fb7c4SAndroid Build Coastguard Worker  *
312*f81fb7c4SAndroid Build Coastguard Worker  * Outputs:
313*f81fb7c4SAndroid Build Coastguard Worker  *
314*f81fb7c4SAndroid Build Coastguard Worker  *
315*f81fb7c4SAndroid Build Coastguard Worker  * Side Effects:
316*f81fb7c4SAndroid Build Coastguard Worker  *
317*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
318*f81fb7c4SAndroid Build Coastguard Worker */
319*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT EAS_Prepare (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle);
320*f81fb7c4SAndroid Build Coastguard Worker 
321*f81fb7c4SAndroid Build Coastguard Worker /*----------------------------------------------------------------------------
322*f81fb7c4SAndroid Build Coastguard Worker  * EAS_State()
323*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
324*f81fb7c4SAndroid Build Coastguard Worker  * Purpose:
325*f81fb7c4SAndroid Build Coastguard Worker  * Returns the state of an audio file or stream.
326*f81fb7c4SAndroid Build Coastguard Worker  *
327*f81fb7c4SAndroid Build Coastguard Worker  * Inputs:
328*f81fb7c4SAndroid Build Coastguard Worker  * pEASData         - pointer to overall EAS data structure
329*f81fb7c4SAndroid Build Coastguard Worker  * streamHandle     - file or stream handle
330*f81fb7c4SAndroid Build Coastguard Worker  *
331*f81fb7c4SAndroid Build Coastguard Worker  * Outputs:
332*f81fb7c4SAndroid Build Coastguard Worker  *
333*f81fb7c4SAndroid Build Coastguard Worker  *
334*f81fb7c4SAndroid Build Coastguard Worker  * Side Effects:
335*f81fb7c4SAndroid Build Coastguard Worker  *
336*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
337*f81fb7c4SAndroid Build Coastguard Worker */
338*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT EAS_State (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle, EAS_STATE *pState);
339*f81fb7c4SAndroid Build Coastguard Worker 
340*f81fb7c4SAndroid Build Coastguard Worker /*----------------------------------------------------------------------------
341*f81fb7c4SAndroid Build Coastguard Worker  * EAS_RegisterMetaDataCallback()
342*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
343*f81fb7c4SAndroid Build Coastguard Worker  * Purpose:
344*f81fb7c4SAndroid Build Coastguard Worker  * Registers a metadata callback function for parsed metadata. To
345*f81fb7c4SAndroid Build Coastguard Worker  * de-register the callback, call this function again with parameter
346*f81fb7c4SAndroid Build Coastguard Worker  * cbFunc set to NULL.
347*f81fb7c4SAndroid Build Coastguard Worker  *
348*f81fb7c4SAndroid Build Coastguard Worker  * Inputs:
349*f81fb7c4SAndroid Build Coastguard Worker  * pEASData         - pointer to overall EAS data structure
350*f81fb7c4SAndroid Build Coastguard Worker  * streamHandle     - file or stream handle
351*f81fb7c4SAndroid Build Coastguard Worker  * cbFunc           - pointer to host callback function
352*f81fb7c4SAndroid Build Coastguard Worker  * metaDataBuffer   - pointer to metadata buffer
353*f81fb7c4SAndroid Build Coastguard Worker  * metaDataBufSize  - maximum size of the metadata buffer
354*f81fb7c4SAndroid Build Coastguard Worker  *
355*f81fb7c4SAndroid Build Coastguard Worker  * Outputs:
356*f81fb7c4SAndroid Build Coastguard Worker  *
357*f81fb7c4SAndroid Build Coastguard Worker  *
358*f81fb7c4SAndroid Build Coastguard Worker  * Side Effects:
359*f81fb7c4SAndroid Build Coastguard Worker  *
360*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
361*f81fb7c4SAndroid Build Coastguard Worker */
362*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT EAS_RegisterMetaDataCallback (
363*f81fb7c4SAndroid Build Coastguard Worker     EAS_DATA_HANDLE pEASData,
364*f81fb7c4SAndroid Build Coastguard Worker     EAS_HANDLE streamHandle,
365*f81fb7c4SAndroid Build Coastguard Worker     EAS_METADATA_CBFUNC cbFunc,
366*f81fb7c4SAndroid Build Coastguard Worker     char *metaDataBuffer,
367*f81fb7c4SAndroid Build Coastguard Worker     EAS_I32 metaDataBufSize,
368*f81fb7c4SAndroid Build Coastguard Worker     EAS_VOID_PTR pUserData);
369*f81fb7c4SAndroid Build Coastguard Worker 
370*f81fb7c4SAndroid Build Coastguard Worker /*----------------------------------------------------------------------------
371*f81fb7c4SAndroid Build Coastguard Worker  * EAS_GetNoteCount ()
372*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
373*f81fb7c4SAndroid Build Coastguard Worker  * Returns the total number of notes played in this stream
374*f81fb7c4SAndroid Build Coastguard Worker  *
375*f81fb7c4SAndroid Build Coastguard Worker  * Inputs:
376*f81fb7c4SAndroid Build Coastguard Worker  * pEASData         - pointer to overall EAS data structure
377*f81fb7c4SAndroid Build Coastguard Worker  * streamHandle     - file or stream handle
378*f81fb7c4SAndroid Build Coastguard Worker  * pNoteCount       - pointer to variable to receive note count
379*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
380*f81fb7c4SAndroid Build Coastguard Worker */
381*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT EAS_GetNoteCount (EAS_DATA_HANDLE pEASData, EAS_HANDLE pStream, EAS_I32 *pNoteCount);
382*f81fb7c4SAndroid Build Coastguard Worker 
383*f81fb7c4SAndroid Build Coastguard Worker /*----------------------------------------------------------------------------
384*f81fb7c4SAndroid Build Coastguard Worker  * EAS_CloseFile()
385*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
386*f81fb7c4SAndroid Build Coastguard Worker  * Purpose:
387*f81fb7c4SAndroid Build Coastguard Worker  * Closes an audio file or stream. Playback should have either paused or
388*f81fb7c4SAndroid Build Coastguard Worker  * completed (EAS_State returns EAS_PAUSED or EAS_STOPPED).
389*f81fb7c4SAndroid Build Coastguard Worker  *
390*f81fb7c4SAndroid Build Coastguard Worker  * Inputs:
391*f81fb7c4SAndroid Build Coastguard Worker  * pEASData         - pointer to overall EAS data structure
392*f81fb7c4SAndroid Build Coastguard Worker  * streamHandle     - file or stream handle
393*f81fb7c4SAndroid Build Coastguard Worker  *
394*f81fb7c4SAndroid Build Coastguard Worker  * Outputs:
395*f81fb7c4SAndroid Build Coastguard Worker  *
396*f81fb7c4SAndroid Build Coastguard Worker  *
397*f81fb7c4SAndroid Build Coastguard Worker  * Side Effects:
398*f81fb7c4SAndroid Build Coastguard Worker  *
399*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
400*f81fb7c4SAndroid Build Coastguard Worker */
401*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT EAS_CloseFile (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle);
402*f81fb7c4SAndroid Build Coastguard Worker 
403*f81fb7c4SAndroid Build Coastguard Worker /*----------------------------------------------------------------------------
404*f81fb7c4SAndroid Build Coastguard Worker  * EAS_OpenMIDIStream()
405*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
406*f81fb7c4SAndroid Build Coastguard Worker  * Purpose:
407*f81fb7c4SAndroid Build Coastguard Worker  * Opens a raw MIDI stream allowing the host to route MIDI cable data directly to the synthesizer
408*f81fb7c4SAndroid Build Coastguard Worker  *
409*f81fb7c4SAndroid Build Coastguard Worker  * Inputs:
410*f81fb7c4SAndroid Build Coastguard Worker  * pEASData         - pointer to overall EAS data structure
411*f81fb7c4SAndroid Build Coastguard Worker  * pStreamHandle    - pointer to variable to hold file or stream handle
412*f81fb7c4SAndroid Build Coastguard Worker  * streamHandle     - open stream or NULL for new synthesizer instance
413*f81fb7c4SAndroid Build Coastguard Worker  *
414*f81fb7c4SAndroid Build Coastguard Worker  * Outputs:
415*f81fb7c4SAndroid Build Coastguard Worker  *
416*f81fb7c4SAndroid Build Coastguard Worker  *
417*f81fb7c4SAndroid Build Coastguard Worker  * Side Effects:
418*f81fb7c4SAndroid Build Coastguard Worker  *
419*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
420*f81fb7c4SAndroid Build Coastguard Worker */
421*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT EAS_OpenMIDIStream (EAS_DATA_HANDLE pEASData, EAS_HANDLE *pStreamHandle, EAS_HANDLE streamHandle);
422*f81fb7c4SAndroid Build Coastguard Worker 
423*f81fb7c4SAndroid Build Coastguard Worker /*----------------------------------------------------------------------------
424*f81fb7c4SAndroid Build Coastguard Worker  * EAS_WriteMIDIStream()
425*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
426*f81fb7c4SAndroid Build Coastguard Worker  * Purpose:
427*f81fb7c4SAndroid Build Coastguard Worker  * Send data to the MIDI stream device
428*f81fb7c4SAndroid Build Coastguard Worker  *
429*f81fb7c4SAndroid Build Coastguard Worker  * Inputs:
430*f81fb7c4SAndroid Build Coastguard Worker  * pEASData         - pointer to overall EAS data structure
431*f81fb7c4SAndroid Build Coastguard Worker  * streamHandle     - stream handle
432*f81fb7c4SAndroid Build Coastguard Worker  * pBuffer          - pointer to buffer
433*f81fb7c4SAndroid Build Coastguard Worker  * count            - number of bytes to write
434*f81fb7c4SAndroid Build Coastguard Worker  *
435*f81fb7c4SAndroid Build Coastguard Worker  * Outputs:
436*f81fb7c4SAndroid Build Coastguard Worker  *
437*f81fb7c4SAndroid Build Coastguard Worker  *
438*f81fb7c4SAndroid Build Coastguard Worker  * Side Effects:
439*f81fb7c4SAndroid Build Coastguard Worker  *
440*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
441*f81fb7c4SAndroid Build Coastguard Worker */
442*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT EAS_WriteMIDIStream(EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle, EAS_U8 *pBuffer, EAS_I32 count);
443*f81fb7c4SAndroid Build Coastguard Worker 
444*f81fb7c4SAndroid Build Coastguard Worker /*----------------------------------------------------------------------------
445*f81fb7c4SAndroid Build Coastguard Worker  * EAS_CloseMIDIStream()
446*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
447*f81fb7c4SAndroid Build Coastguard Worker  * Purpose:
448*f81fb7c4SAndroid Build Coastguard Worker  * Closes a raw MIDI stream
449*f81fb7c4SAndroid Build Coastguard Worker  *
450*f81fb7c4SAndroid Build Coastguard Worker  * Inputs:
451*f81fb7c4SAndroid Build Coastguard Worker  * pEASData         - pointer to overall EAS data structure
452*f81fb7c4SAndroid Build Coastguard Worker  * streamHandle     - stream handle
453*f81fb7c4SAndroid Build Coastguard Worker  *
454*f81fb7c4SAndroid Build Coastguard Worker  * Outputs:
455*f81fb7c4SAndroid Build Coastguard Worker  *
456*f81fb7c4SAndroid Build Coastguard Worker  *
457*f81fb7c4SAndroid Build Coastguard Worker  * Side Effects:
458*f81fb7c4SAndroid Build Coastguard Worker  *
459*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
460*f81fb7c4SAndroid Build Coastguard Worker */
461*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT EAS_CloseMIDIStream (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle);
462*f81fb7c4SAndroid Build Coastguard Worker 
463*f81fb7c4SAndroid Build Coastguard Worker /*----------------------------------------------------------------------------
464*f81fb7c4SAndroid Build Coastguard Worker  * EAS_Locate()
465*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
466*f81fb7c4SAndroid Build Coastguard Worker  * Purpose:
467*f81fb7c4SAndroid Build Coastguard Worker  * Locate into the file associated with the handle.
468*f81fb7c4SAndroid Build Coastguard Worker  *
469*f81fb7c4SAndroid Build Coastguard Worker  * Inputs:
470*f81fb7c4SAndroid Build Coastguard Worker  * pEASData         - pointer to overall EAS data structure
471*f81fb7c4SAndroid Build Coastguard Worker  * streamHandle     - file handle
472*f81fb7c4SAndroid Build Coastguard Worker  * milliseconds     - playback offset from start of file in milliseconds
473*f81fb7c4SAndroid Build Coastguard Worker  *
474*f81fb7c4SAndroid Build Coastguard Worker  * Outputs:
475*f81fb7c4SAndroid Build Coastguard Worker  *
476*f81fb7c4SAndroid Build Coastguard Worker  *
477*f81fb7c4SAndroid Build Coastguard Worker  * Side Effects:
478*f81fb7c4SAndroid Build Coastguard Worker  * the actual offset will be quantized to the closest update period, typically
479*f81fb7c4SAndroid Build Coastguard Worker  * a resolution of 5.9ms. Notes that are started prior to this time will not
480*f81fb7c4SAndroid Build Coastguard Worker  * sound. Any notes currently playing will be shut off.
481*f81fb7c4SAndroid Build Coastguard Worker  *
482*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
483*f81fb7c4SAndroid Build Coastguard Worker */
484*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT EAS_Locate (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle, EAS_I32 milliseconds, EAS_BOOL offset);
485*f81fb7c4SAndroid Build Coastguard Worker 
486*f81fb7c4SAndroid Build Coastguard Worker /*----------------------------------------------------------------------------
487*f81fb7c4SAndroid Build Coastguard Worker  * EAS_GetLocation()
488*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
489*f81fb7c4SAndroid Build Coastguard Worker  * Purpose:
490*f81fb7c4SAndroid Build Coastguard Worker  * Returns the current playback offset
491*f81fb7c4SAndroid Build Coastguard Worker  *
492*f81fb7c4SAndroid Build Coastguard Worker  * Inputs:
493*f81fb7c4SAndroid Build Coastguard Worker  * pEASData         - pointer to overall EAS data structure
494*f81fb7c4SAndroid Build Coastguard Worker  * streamHandle     - file handle
495*f81fb7c4SAndroid Build Coastguard Worker  *
496*f81fb7c4SAndroid Build Coastguard Worker  * Outputs:
497*f81fb7c4SAndroid Build Coastguard Worker  * The offset in milliseconds from the start of the current sequence, quantized
498*f81fb7c4SAndroid Build Coastguard Worker  * to the nearest update period. Actual resolution is typically 5.9 ms.
499*f81fb7c4SAndroid Build Coastguard Worker  *
500*f81fb7c4SAndroid Build Coastguard Worker  * Side Effects:
501*f81fb7c4SAndroid Build Coastguard Worker  *
502*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
503*f81fb7c4SAndroid Build Coastguard Worker */
504*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT EAS_GetLocation (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle, EAS_I32 *pTime);
505*f81fb7c4SAndroid Build Coastguard Worker 
506*f81fb7c4SAndroid Build Coastguard Worker /*----------------------------------------------------------------------------
507*f81fb7c4SAndroid Build Coastguard Worker  * EAS_Pause()
508*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
509*f81fb7c4SAndroid Build Coastguard Worker  * Purpose:
510*f81fb7c4SAndroid Build Coastguard Worker  * Pauses the playback of the data associated with this handle. The audio
511*f81fb7c4SAndroid Build Coastguard Worker  * is gracefully ramped down to prevent clicks and pops. It may take several
512*f81fb7c4SAndroid Build Coastguard Worker  * buffers of audio before the audio is muted.
513*f81fb7c4SAndroid Build Coastguard Worker  *
514*f81fb7c4SAndroid Build Coastguard Worker  * Inputs:
515*f81fb7c4SAndroid Build Coastguard Worker  * psEASData        - pointer to overall EAS data structure
516*f81fb7c4SAndroid Build Coastguard Worker  * streamHandle     - file or stream handle
517*f81fb7c4SAndroid Build Coastguard Worker  *
518*f81fb7c4SAndroid Build Coastguard Worker  * Outputs:
519*f81fb7c4SAndroid Build Coastguard Worker  *
520*f81fb7c4SAndroid Build Coastguard Worker  *
521*f81fb7c4SAndroid Build Coastguard Worker  * Side Effects:
522*f81fb7c4SAndroid Build Coastguard Worker  *
523*f81fb7c4SAndroid Build Coastguard Worker  *
524*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
525*f81fb7c4SAndroid Build Coastguard Worker */
526*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT EAS_Pause (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle);
527*f81fb7c4SAndroid Build Coastguard Worker 
528*f81fb7c4SAndroid Build Coastguard Worker /*----------------------------------------------------------------------------
529*f81fb7c4SAndroid Build Coastguard Worker  * EAS_Resume()
530*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
531*f81fb7c4SAndroid Build Coastguard Worker  * Purpose:
532*f81fb7c4SAndroid Build Coastguard Worker  * Resumes the playback of the data associated with this handle. The audio
533*f81fb7c4SAndroid Build Coastguard Worker  * is gracefully ramped up to prevent clicks and pops.
534*f81fb7c4SAndroid Build Coastguard Worker  *
535*f81fb7c4SAndroid Build Coastguard Worker  * Inputs:
536*f81fb7c4SAndroid Build Coastguard Worker  * psEASData        - pointer to overall EAS data structure
537*f81fb7c4SAndroid Build Coastguard Worker  * streamHandle     - file or stream handle
538*f81fb7c4SAndroid Build Coastguard Worker  *
539*f81fb7c4SAndroid Build Coastguard Worker  * Outputs:
540*f81fb7c4SAndroid Build Coastguard Worker  *
541*f81fb7c4SAndroid Build Coastguard Worker  *
542*f81fb7c4SAndroid Build Coastguard Worker  * Side Effects:
543*f81fb7c4SAndroid Build Coastguard Worker  *
544*f81fb7c4SAndroid Build Coastguard Worker  *
545*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
546*f81fb7c4SAndroid Build Coastguard Worker */
547*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT EAS_Resume (EAS_DATA_HANDLE pEASData, EAS_HANDLE streamHandle);
548*f81fb7c4SAndroid Build Coastguard Worker 
549*f81fb7c4SAndroid Build Coastguard Worker /*----------------------------------------------------------------------------
550*f81fb7c4SAndroid Build Coastguard Worker  * EAS_SetParameter()
551*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
552*f81fb7c4SAndroid Build Coastguard Worker  * Purpose:
553*f81fb7c4SAndroid Build Coastguard Worker  * Set the parameter of a module. See E_MODULES for a list of modules
554*f81fb7c4SAndroid Build Coastguard Worker  * and the header files of the modules for a list of parameters.
555*f81fb7c4SAndroid Build Coastguard Worker  *
556*f81fb7c4SAndroid Build Coastguard Worker  * Inputs:
557*f81fb7c4SAndroid Build Coastguard Worker  * psEASData        - pointer to overall EAS data structure
558*f81fb7c4SAndroid Build Coastguard Worker  * handle           - file or stream handle
559*f81fb7c4SAndroid Build Coastguard Worker  * module           - enumerated module number
560*f81fb7c4SAndroid Build Coastguard Worker  * param            - enumerated parameter number
561*f81fb7c4SAndroid Build Coastguard Worker  * value            - new parameter value
562*f81fb7c4SAndroid Build Coastguard Worker  *
563*f81fb7c4SAndroid Build Coastguard Worker  * Outputs:
564*f81fb7c4SAndroid Build Coastguard Worker  *
565*f81fb7c4SAndroid Build Coastguard Worker  *
566*f81fb7c4SAndroid Build Coastguard Worker  * Side Effects:
567*f81fb7c4SAndroid Build Coastguard Worker  *
568*f81fb7c4SAndroid Build Coastguard Worker  *
569*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
570*f81fb7c4SAndroid Build Coastguard Worker */
571*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT EAS_SetParameter (EAS_DATA_HANDLE pEASData, EAS_I32 module, EAS_I32 param, EAS_I32 value);
572*f81fb7c4SAndroid Build Coastguard Worker 
573*f81fb7c4SAndroid Build Coastguard Worker #ifdef _METRICS_ENABLED
574*f81fb7c4SAndroid Build Coastguard Worker /*----------------------------------------------------------------------------
575*f81fb7c4SAndroid Build Coastguard Worker  * EAS_MetricsReport()
576*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
577*f81fb7c4SAndroid Build Coastguard Worker  * Purpose:
578*f81fb7c4SAndroid Build Coastguard Worker  * Displays the current metrics through the EAS_Report interface.
579*f81fb7c4SAndroid Build Coastguard Worker  *
580*f81fb7c4SAndroid Build Coastguard Worker  * Inputs:
581*f81fb7c4SAndroid Build Coastguard Worker  * pEASData             - instance data handle
582*f81fb7c4SAndroid Build Coastguard Worker  *
583*f81fb7c4SAndroid Build Coastguard Worker  * Outputs:
584*f81fb7c4SAndroid Build Coastguard Worker  *
585*f81fb7c4SAndroid Build Coastguard Worker  *
586*f81fb7c4SAndroid Build Coastguard Worker  * Side Effects:
587*f81fb7c4SAndroid Build Coastguard Worker  *
588*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
589*f81fb7c4SAndroid Build Coastguard Worker */
590*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT EAS_MetricsReport (EAS_DATA_HANDLE pEASData);
591*f81fb7c4SAndroid Build Coastguard Worker 
592*f81fb7c4SAndroid Build Coastguard Worker /*----------------------------------------------------------------------------
593*f81fb7c4SAndroid Build Coastguard Worker  * EAS_MetricsReset()
594*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
595*f81fb7c4SAndroid Build Coastguard Worker  * Purpose:
596*f81fb7c4SAndroid Build Coastguard Worker  * Displays the current metrics through the EAS_Report interface.
597*f81fb7c4SAndroid Build Coastguard Worker  *
598*f81fb7c4SAndroid Build Coastguard Worker  * Inputs:
599*f81fb7c4SAndroid Build Coastguard Worker  * pEASData             - instance data handle
600*f81fb7c4SAndroid Build Coastguard Worker  *
601*f81fb7c4SAndroid Build Coastguard Worker  * Outputs:
602*f81fb7c4SAndroid Build Coastguard Worker  *
603*f81fb7c4SAndroid Build Coastguard Worker  *
604*f81fb7c4SAndroid Build Coastguard Worker  * Side Effects:
605*f81fb7c4SAndroid Build Coastguard Worker  *
606*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
607*f81fb7c4SAndroid Build Coastguard Worker */
608*f81fb7c4SAndroid Build Coastguard Worker EAS_PUBLIC EAS_RESULT EAS_MetricsReset (EAS_DATA_HANDLE pEASData);
609*f81fb7c4SAndroid Build Coastguard Worker #endif
610*f81fb7c4SAndroid Build Coastguard Worker 
611*f81fb7c4SAndroid Build Coastguard Worker /*----------------------------------------------------------------------------
612*f81fb7c4SAndroid Build Coastguard Worker  * EAS_SearchFile
613*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
614*f81fb7c4SAndroid Build Coastguard Worker  * Search file for specific sequence starting at current file
615*f81fb7c4SAndroid Build Coastguard Worker  * position. Returns offset to start of sequence.
616*f81fb7c4SAndroid Build Coastguard Worker  *
617*f81fb7c4SAndroid Build Coastguard Worker  * Inputs:
618*f81fb7c4SAndroid Build Coastguard Worker  * pEASData         - pointer to EAS persistent data object
619*f81fb7c4SAndroid Build Coastguard Worker  * fileHandle       - file handle
620*f81fb7c4SAndroid Build Coastguard Worker  * searchString     - pointer to search sequence
621*f81fb7c4SAndroid Build Coastguard Worker  * len              - length of search sequence
622*f81fb7c4SAndroid Build Coastguard Worker  * pOffset          - pointer to variable to store offset to sequence
623*f81fb7c4SAndroid Build Coastguard Worker  *
624*f81fb7c4SAndroid Build Coastguard Worker  * Returns EAS_EOF if end-of-file is reached
625*f81fb7c4SAndroid Build Coastguard Worker  *----------------------------------------------------------------------------
626*f81fb7c4SAndroid Build Coastguard Worker */
627*f81fb7c4SAndroid Build Coastguard Worker EAS_RESULT EAS_SearchFile (EAS_DATA_HANDLE pEASData, EAS_FILE_HANDLE fileHandle, const EAS_U8 *searchString, EAS_I32 len, EAS_I32 *pOffset);
628*f81fb7c4SAndroid Build Coastguard Worker 
629*f81fb7c4SAndroid Build Coastguard Worker #ifdef __cplusplus
630*f81fb7c4SAndroid Build Coastguard Worker } /* end extern "C" */
631*f81fb7c4SAndroid Build Coastguard Worker #endif
632*f81fb7c4SAndroid Build Coastguard Worker 
633*f81fb7c4SAndroid Build Coastguard Worker #endif /* #ifndef _EAS_H */
634