/*---------------------------------------------------------------------------- * * File: * eas_config.h * * Contents and purpose: * This header declares the Configuration Module interface (CM). The CM * is a module compiled external to the library that sets the configuration * for this build. It allows the library to find optional components and * links to static memory allocations (when used in a static configuration). * * NOTE: This module is not intended to be modified by the customer. It * needs to be included in the build process with the correct configuration * defines (see the library documentation for information on how to configure * the library). * * DO NOT MODIFY THIS FILE! * * Copyright 2005 Sonic Network Inc. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * *---------------------------------------------------------------------------- * Revision Control: * $Revision: 82 $ * $Date: 2006-07-10 11:45:19 -0700 (Mon, 10 Jul 2006) $ *---------------------------------------------------------------------------- */ // sentinel #ifndef _EAS_CONFIG_H #define _EAS_CONFIG_H #include "eas_types.h" /* list of enumerators for optional modules */ typedef enum { EAS_CM_FILE_PARSERS = 1 } E_CM_ENUM_MODULES; /* list of enumerators for module and memory pointers */ typedef enum { EAS_CM_EAS_DATA = 1, EAS_CM_MIX_BUFFER, EAS_CM_SYNTH_DATA, EAS_CM_MIDI_DATA, EAS_CM_SMF_DATA, EAS_CM_XMF_DATA, EAS_CM_SMAF_DATA, EAS_CM_PCM_DATA, EAS_CM_MIDI_STREAM_DATA, EAS_CM_METRICS_DATA, EAS_CM_OTA_DATA, EAS_CM_IMELODY_DATA, EAS_CM_RTTTL_DATA, EAS_CM_WAVE_DATA, EAS_CM_CMF_DATA } E_CM_DATA_MODULES; typedef struct { int maxSMFStreams; void *pSMFData; void *pSMFStream; } S_EAS_SMF_PTRS; typedef struct { int maxSMAFStreams; void *pSMAFData; void *pSMAFStream; } S_EAS_SMAF_PTRS; /*---------------------------------------------------------------------------- * EAS_CMStaticMemoryModel() *---------------------------------------------------------------------------- * Purpose: * This function returns true if EAS has been configured for * a static memory model. There are some limitations in the * static memory model, see the documentation for more * information. * * Outputs: * returns EAS_TRUE if a module is found *---------------------------------------------------------------------------- */ EAS_BOOL EAS_CMStaticMemoryModel (void); /*---------------------------------------------------------------------------- * EAS_CMEnumModules() *---------------------------------------------------------------------------- * Purpose: * This function is used to find pointers to optional modules. * * Inputs: * module - module number * * Outputs: * returns a pointer to the module function table or NULL if no module *---------------------------------------------------------------------------- */ EAS_VOID_PTR EAS_CMEnumModules (EAS_INT module); /*---------------------------------------------------------------------------- * EAS_CMEnumData() *---------------------------------------------------------------------------- * Purpose: * This function is used to find pointers to static memory allocations. * * Inputs: * dataModule - enumerated module number * * Outputs: * Returns handle to data or NULL if not found *---------------------------------------------------------------------------- */ EAS_VOID_PTR EAS_CMEnumData (EAS_INT dataModule); /*---------------------------------------------------------------------------- * EAS_CMEnumFXModules() *---------------------------------------------------------------------------- * Purpose: * This function is used to find pointers to optional effects modules. * * Inputs: * module - enumerated module number * pModule - pointer to module interface * * Outputs: * Returns pointer to function table or NULL if not found *---------------------------------------------------------------------------- */ EAS_VOID_PTR EAS_CMEnumFXModules (EAS_INT module); /*---------------------------------------------------------------------------- * EAS_CMEnumFXData() *---------------------------------------------------------------------------- * Purpose: * This function is used to find pointers to static memory allocations. * * Inputs: * dataModule - enumerated module number * pData - pointer to handle variable * * Outputs: * Returns handle to data or NULL if not found *---------------------------------------------------------------------------- */ EAS_VOID_PTR EAS_CMEnumFXData (EAS_INT dataModule); /*---------------------------------------------------------------------------- * EAS_CMEnumOptModules() *---------------------------------------------------------------------------- * Purpose: * This function is used to find pointers to optional modules. * * Inputs: * module - enumerated module number * * Outputs: * returns pointer to function table or NULL if no module *---------------------------------------------------------------------------- */ EAS_VOID_PTR EAS_CMEnumOptModules (EAS_INT module); /*---------------------------------------------------------------------------- * EAS_CMEnumOptData() *---------------------------------------------------------------------------- * Purpose: * This function is used to find pointers to static memory allocations. * * Inputs: * dataModule - enumerated module number * * Outputs: * Returns handle to data or NULL if not found *---------------------------------------------------------------------------- */ EAS_VOID_PTR EAS_CMEnumOptData (EAS_INT dataModule); #endif /* end _EAS_CONFIG_H */