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 */ 47 typedef enum { 48 EAS_CM_FILE_PARSERS = 1 49 } E_CM_ENUM_MODULES; 50 51 /* list of enumerators for module and memory pointers */ 52 typedef 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 70 typedef struct 71 { 72 int maxSMFStreams; 73 void *pSMFData; 74 void *pSMFStream; 75 } S_EAS_SMF_PTRS; 76 77 typedef 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 */ 97 EAS_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 */ 112 EAS_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 */ 127 EAS_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 */ 143 EAS_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 */ 159 EAS_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 */ 174 EAS_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 */ 189 EAS_VOID_PTR EAS_CMEnumOptData (EAS_INT dataModule); 190 191 #endif /* end _EAS_CONFIG_H */ 192