eas_config.h revision 7df30109963092559d3760c0661a020f9daf1030
1/*----------------------------------------------------------------------------
2 *
3 * File:
4 * eas_config.h
5 *
6 * Contents and purpose:
7 * This header declares the Configuration Module interface (CM). The CM
8 * is a module compiled external to the library that sets the configuration
9 * for this build. It allows the library to find optional components and
10 * links to static memory allocations (when used in a static configuration).
11 *
12 * NOTE: This module is not intended to be modified by the customer. It
13 * needs to be included in the build process with the correct configuration
14 * defines (see the library documentation for information on how to configure
15 * the library).
16 *
17 * DO NOT MODIFY THIS FILE!
18 *
19 * Copyright 2005 Sonic Network Inc.
20
21 * Licensed under the Apache License, Version 2.0 (the "License");
22 * you may not use this file except in compliance with the License.
23 * You may obtain a copy of the License at
24 *
25 *      http://www.apache.org/licenses/LICENSE-2.0
26 *
27 * Unless required by applicable law or agreed to in writing, software
28 * distributed under the License is distributed on an "AS IS" BASIS,
29 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
30 * See the License for the specific language governing permissions and
31 * limitations under the License.
32 *
33 *----------------------------------------------------------------------------
34 * Revision Control:
35 *   $Revision: 82 $
36 *   $Date: 2006-07-10 11:45:19 -0700 (Mon, 10 Jul 2006) $
37 *----------------------------------------------------------------------------
38*/
39
40// sentinel
41#ifndef _EAS_CONFIG_H
42#define _EAS_CONFIG_H
43
44#include "eas_types.h"
45
46/* list of enumerators for optional modules */
47typedef enum {
48	EAS_CM_FILE_PARSERS	= 1
49} E_CM_ENUM_MODULES;
50
51/* list of enumerators for module and memory pointers */
52typedef enum {
53	EAS_CM_EAS_DATA = 1,
54	EAS_CM_MIX_BUFFER,
55	EAS_CM_SYNTH_DATA,
56	EAS_CM_MIDI_DATA,
57	EAS_CM_SMF_DATA,
58	EAS_CM_XMF_DATA,
59	EAS_CM_SMAF_DATA,
60	EAS_CM_PCM_DATA,
61	EAS_CM_MIDI_STREAM_DATA,
62	EAS_CM_METRICS_DATA,
63	EAS_CM_OTA_DATA,
64	EAS_CM_IMELODY_DATA,
65	EAS_CM_RTTTL_DATA,
66	EAS_CM_WAVE_DATA,
67	EAS_CM_CMF_DATA
68} E_CM_DATA_MODULES;
69
70typedef struct
71{
72	int maxSMFStreams;
73	void *pSMFData;
74	void *pSMFStream;
75} S_EAS_SMF_PTRS;
76
77typedef struct
78{
79	int maxSMAFStreams;
80	void *pSMAFData;
81	void *pSMAFStream;
82} S_EAS_SMAF_PTRS;
83
84/*----------------------------------------------------------------------------
85 * EAS_CMStaticMemoryModel()
86 *----------------------------------------------------------------------------
87 * Purpose:
88 * This function returns true if EAS has been configured for
89 * a static memory model. There are some limitations in the
90 * static memory model, see the documentation for more
91 * information.
92 *
93 * Outputs:
94 *  returns EAS_TRUE if a module is found
95 *----------------------------------------------------------------------------
96*/
97EAS_BOOL EAS_CMStaticMemoryModel (void);
98
99/*----------------------------------------------------------------------------
100 * EAS_CMEnumModules()
101 *----------------------------------------------------------------------------
102 * Purpose:
103 * This function is used to find pointers to optional modules.
104 *
105 * Inputs:
106 *  module			- module number
107 *
108 * Outputs:
109 *  returns a pointer to the module function table or NULL if no module
110 *----------------------------------------------------------------------------
111*/
112EAS_VOID_PTR EAS_CMEnumModules (EAS_INT module);
113
114/*----------------------------------------------------------------------------
115 * EAS_CMEnumData()
116 *----------------------------------------------------------------------------
117 * Purpose:
118 * This function is used to find pointers to static memory allocations.
119 *
120 * Inputs:
121 *  dataModule			- enumerated module number
122 *
123 * Outputs:
124 * Returns handle to data or NULL if not found
125 *----------------------------------------------------------------------------
126*/
127EAS_VOID_PTR EAS_CMEnumData (EAS_INT dataModule);
128
129/*----------------------------------------------------------------------------
130 * EAS_CMEnumFXModules()
131 *----------------------------------------------------------------------------
132 * Purpose:
133 * This function is used to find pointers to optional effects modules.
134 *
135 * Inputs:
136 *  module			- enumerated module number
137 *  pModule			- pointer to module interface
138 *
139 * Outputs:
140 *  Returns pointer to function table or NULL if not found
141 *----------------------------------------------------------------------------
142*/
143EAS_VOID_PTR EAS_CMEnumFXModules (EAS_INT module);
144
145/*----------------------------------------------------------------------------
146 * EAS_CMEnumFXData()
147 *----------------------------------------------------------------------------
148 * Purpose:
149 * This function is used to find pointers to static memory allocations.
150 *
151 * Inputs:
152 *  dataModule			- enumerated module number
153 *  pData				- pointer to handle variable
154 *
155 * Outputs:
156 * Returns handle to data or NULL if not found
157 *----------------------------------------------------------------------------
158*/
159EAS_VOID_PTR EAS_CMEnumFXData (EAS_INT dataModule);
160
161/*----------------------------------------------------------------------------
162 * EAS_CMEnumOptModules()
163 *----------------------------------------------------------------------------
164 * Purpose:
165 * This function is used to find pointers to optional modules.
166 *
167 * Inputs:
168 *  module			- enumerated module number
169 *
170 * Outputs:
171 *  returns pointer to function table or NULL if no module
172 *----------------------------------------------------------------------------
173*/
174EAS_VOID_PTR EAS_CMEnumOptModules (EAS_INT module);
175
176/*----------------------------------------------------------------------------
177 * EAS_CMEnumOptData()
178 *----------------------------------------------------------------------------
179 * Purpose:
180 * This function is used to find pointers to static memory allocations.
181 *
182 * Inputs:
183 *  dataModule			- enumerated module number
184 *
185 * Outputs:
186 * Returns handle to data or NULL if not found
187 *----------------------------------------------------------------------------
188*/
189EAS_VOID_PTR EAS_CMEnumOptData (EAS_INT dataModule);
190
191#endif /* end _EAS_CONFIG_H */
192