156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*---------------------------------------------------------------------------- 256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * 356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * File: 456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * eas_config.c 556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * 656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Contents and purpose: 756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * This file contains the Configuration Module interface (CM). The CM 856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * is a module compiled external to the library that sets the configuration 956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * for this build. It allows the library to find optional components and 1056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * links to static memory allocations (when used in a static configuration). 1156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * 1256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * DO NOT MODIFY THIS FILE! 1356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * 1456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * NOTE: This module is not intended to be modified by the customer. It 1556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * needs to be included in the build process with the correct configuration 1656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * defines (see the library documentation for information on how to configure 1756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * the library). 1856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * 1956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Copyright Sonic Network Inc. 2004-2006 207df30109963092559d3760c0661a020f9daf1030The Android Open Source Project 217df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 227df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * you may not use this file except in compliance with the License. 237df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * You may obtain a copy of the License at 247df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * 257df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 267df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * 277df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 287df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 297df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 307df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * See the License for the specific language governing permissions and 317df30109963092559d3760c0661a020f9daf1030The Android Open Source Project * limitations under the License. 3256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * 3356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *---------------------------------------------------------------------------- 3456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Revision Control: 3556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * $Revision: 796 $ 3656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * $Date: 2007-08-01 00:15:25 -0700 (Wed, 01 Aug 2007) $ 3756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *---------------------------------------------------------------------------- 3856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/ 3956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 4056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#include "eas.h" 4156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#include "eas_config.h" 4256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 4356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 4456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _MFI_PARSER 4556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*---------------------------------------------------------------------------- 4656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Vendor/Device ID for MFi Extensions 4756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * 4856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Define the preprocessor symbols to establish the vendor ID and 4956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * device ID for the MFi PCM/ADPCM extensions. 5056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *---------------------------------------------------------------------------- 5156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/ 5256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksconst EAS_U8 eas_MFIVendorIDMSB = (MFI_VENDOR_ID >> 8) & 0xff; 5356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksconst EAS_U8 eas_MFIVendorIDLSB = MFI_VENDOR_ID & 0xff; 5456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksconst EAS_U8 eas_MFIDeviceID = MFI_DEVICE_ID; 5556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 5656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 5756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*---------------------------------------------------------------------------- 5856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * 5956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * parserModules 6056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * 6156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * This structure is used by the EAS library to locate file parsing 6256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * modules. 6356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *---------------------------------------------------------------------------- 6456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/ 6556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 6656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/* define the external file parsers */ 6756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR EAS_SMF_Parser; 6856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 6956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _XMF_PARSER 7056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR EAS_XMF_Parser; 7156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 7256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 7356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _SMAF_PARSER 7456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR EAS_SMAF_Parser; 7556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 7656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 7756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _WAVE_PARSER 7856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR EAS_Wave_Parser; 7956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 8056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 8156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _OTA_PARSER 8256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR EAS_OTA_Parser; 8356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 8456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 8556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _IMELODY_PARSER 8656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR EAS_iMelody_Parser; 8756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 8856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 8956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _RTTTL_PARSER 9056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR EAS_RTTTL_Parser; 9156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 9256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 9356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#if defined (_CMX_PARSER) || defined(_MFI_PARSER) 9456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR EAS_CMF_Parser; 9556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 9656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 9756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/* initalize pointers to parser interfaces */ 9856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*lint -e{605} not pretty, but it works */ 9956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_VOID_PTR const parserModules[] = 10056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks{ 10156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks &EAS_SMF_Parser, 10256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 10356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _XMF_PARSER 10456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks &EAS_XMF_Parser, 10556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 10656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 10756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _WAVE_PARSER 10856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks &EAS_Wave_Parser, 10956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 11056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 11156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _SMAF_PARSER 11256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks &EAS_SMAF_Parser, 11356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 11456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 11556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _OTA_PARSER 11656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks &EAS_OTA_Parser, 11756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 11856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 11956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _IMELODY_PARSER 12056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks &EAS_iMelody_Parser, 12156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 12256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 12356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _RTTTL_PARSER 12456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks &EAS_RTTTL_Parser, 12556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 12656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 12756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#if defined (_CMX_PARSER) || defined(_MFI_PARSER) 12856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks &EAS_CMF_Parser 12956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 13056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks}; 13156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define NUM_PARSER_MODULES (sizeof(parserModules) / sizeof(EAS_VOID_PTR)) 13256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 13356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*---------------------------------------------------------------------------- 13456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Data Modules 13556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *---------------------------------------------------------------------------- 13656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/ 13756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 13856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _STATIC_MEMORY 13956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR eas_SMFData; 14056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR eas_Data; 14156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR eas_MixBuffer; 14256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR eas_Synth; 14356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR eas_MIDI; 14456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR eas_PCMData; 14556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR eas_MIDIData; 14656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 14756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _XMF_PARSER 14856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR eas_XMFData; 14956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 15056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 15156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _SMAF_PARSER 15256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR eas_SMAFData; 15356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 15456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 15556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _OTA_PARSER 15656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR eas_OTAData; 15756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 15856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 15956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _IMELODY_PARSER 16056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR eas_iMelodyData; 16156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 16256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 16356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _RTTTL_PARSER 16456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR eas_RTTTLData; 16556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 16656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 16756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _WAVE_PARSER 16856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR eas_WaveData; 16956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 17056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 17156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#if defined (_CMX_PARSER) || defined(_MFI_PARSER) 17256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR eas_CMFData; 17356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 17456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 17556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 17656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*---------------------------------------------------------------------------- 17756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * 17856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Effects Modules 17956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * 18056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * These declarations are used by the EAS library to locate 18156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * effects modules. 18256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *---------------------------------------------------------------------------- 18356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/ 18456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 18556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _ENHANCER_ENABLED 18656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR EAS_Enhancer; 18756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_ENHANCER_INTERFACE &EAS_Enhancer 18856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _STATIC_MEMORY 18956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR eas_EnhancerData; 19056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_ENHANCER_DATA &eas_EnhancerData 19156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#else 19256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_ENHANCER_DATA NULL 19356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 19456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#else 19556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_ENHANCER_INTERFACE NULL 19656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_ENHANCER_DATA NULL 19756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 19856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 19956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _COMPRESSOR_ENABLED 20056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR EAS_Compressor; 20156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_COMPRESSOR_INTERFACE &EAS_Compressor 20256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _STATIC_MEMORY 20356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR eas_CompressorData; 20456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_COMPRESSOR_DATA &eas_CompressorData 20556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#else 20656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_COMPRESSOR_DATA NULL 20756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 20856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#else 20956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_COMPRESSOR_INTERFACE NULL 21056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_COMPRESSOR_DATA NULL 21156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 21256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 21356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _MAXIMIZER_ENABLED 21456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR EAS_Maximizer; 21556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_MAXIMIZER_INTERFACE &EAS_Maximizer 21656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _STATIC_MEMORY 21756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR eas_MaximizerData; 21856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_MAXIMIZER_DATA &eas_MaximizerData 21956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#else 22056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_MAXIMIZER_DATA NULL 22156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 22256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#else 22356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_MAXIMIZER_INTERFACE NULL 22456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_MAXIMIZER_DATA NULL 22556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 22656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 22756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 22856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _REVERB_ENABLED 22956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR EAS_Reverb; 23056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_REVERB_INTERFACE &EAS_Reverb 23156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _STATIC_MEMORY 23256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR eas_ReverbData; 23356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_REVERB_DATA &eas_ReverbData 23456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#else 23556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_REVERB_DATA NULL 23656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 23756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#else 23856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_REVERB_INTERFACE NULL 23956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_REVERB_DATA NULL 24056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 24156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 24256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _CHORUS_ENABLED 24356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR EAS_Chorus; 24456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_CHORUS_INTERFACE &EAS_Chorus 24556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _STATIC_MEMORY 24656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR eas_ChorusData; 24756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_CHORUS_DATA &eas_ChorusData 24856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#else 24956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_CHORUS_DATA NULL 25056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 25156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#else 25256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_CHORUS_INTERFACE NULL 25356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_CHORUS_DATA NULL 25456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 25556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 25656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _WIDENER_ENABLED 25756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR EAS_Widener; 25856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_WIDENER_INTERFACE &EAS_Widener 25956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _STATIC_MEMORY 26056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR eas_WidenerData; 26156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_WIDENER_DATA &eas_WidenerData 26256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#else 26356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_WIDENER_DATA NULL 26456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 26556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#else 26656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_WIDENER_INTERFACE NULL 26756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_WIDENER_DATA NULL 26856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 26956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 27056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _GRAPHIC_EQ_ENABLED 27156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR EAS_GraphicEQ; 27256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_GRAPHIC_EQ_INTERFACE &EAS_GraphicEQ 27356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _STATIC_MEMORY 27456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR eas_GraphicEQData; 27556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_GRAPHIC_EQ_DATA &eas_GraphicEQData 27656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#else 27756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_GRAPHIC_EQ_DATA NULL 27856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 27956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#else 28056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_GRAPHIC_EQ_INTERFACE NULL 28156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_GRAPHIC_EQ_DATA NULL 28256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 28356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 28456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _WOW_ENABLED 28556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR EAS_Wow; 28656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_WOW_INTERFACE &EAS_Wow 28756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _STATIC_MEMORY 28856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#error "WOW module requires dynamic memory model" 28956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#else 29056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_WOW_DATA NULL 29156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 29256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#else 29356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_WOW_INTERFACE NULL 29456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_WOW_DATA NULL 29556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 29656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 29756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _TONECONTROLEQ_ENABLED 29856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR EAS_ToneControlEQ; 29956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_TONECONTROLEQ_INTERFACE &EAS_ToneControlEQ 30056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _STATIC_MEMORY 30156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR eas_ToneControlEQData; 30256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_TONECONTROLEQ_DATA &eas_ToneControlEQData 30356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#else 30456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_TONECONTROLEQ_DATA NULL 30556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 30656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#else 30756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_TONECONTROLEQ_INTERFACE NULL 30856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_TONECONTROLEQ_DATA NULL 30956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 31056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 31156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*lint -e{605} not pretty, but it works */ 31256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_VOID_PTR const effectsModules[] = 31356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks{ 31456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks EAS_ENHANCER_INTERFACE, 31556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks EAS_COMPRESSOR_INTERFACE, 31656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks EAS_REVERB_INTERFACE, 31756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks EAS_CHORUS_INTERFACE, 31856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks EAS_WIDENER_INTERFACE, 31956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks EAS_GRAPHIC_EQ_INTERFACE, 32056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks EAS_WOW_INTERFACE, 32156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks EAS_MAXIMIZER_INTERFACE, 32256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks EAS_TONECONTROLEQ_INTERFACE 32356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks}; 32456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 32556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_VOID_PTR const effectsData[] = 32656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks{ 32756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks EAS_ENHANCER_DATA, 32856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks EAS_COMPRESSOR_DATA, 32956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks EAS_REVERB_DATA, 33056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks EAS_CHORUS_DATA, 33156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks EAS_WIDENER_DATA, 33256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks EAS_GRAPHIC_EQ_DATA, 33356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks EAS_WOW_DATA, 33456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks EAS_MAXIMIZER_DATA, 33556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks EAS_TONECONTROLEQ_DATA 33656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks}; 33756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 33856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*---------------------------------------------------------------------------- 33956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * 34056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Optional Modules 34156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * 34256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * These declarations are used by the EAS library to locate 34356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * effects modules. 34456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *---------------------------------------------------------------------------- 34556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/ 34656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 34756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _METRICS_ENABLED 34856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR EAS_Metrics; 34956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_METRICS_INTERFACE &EAS_Metrics 35056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _STATIC_MEMORY 35156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR eas_MetricsData; 35256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_METRICS_DATA &eas_MetricsData 35356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#else 35456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_METRICS_DATA NULL 35556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 35656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#else 35756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_METRICS_INTERFACE NULL 35856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_METRICS_DATA NULL 35956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 36056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 36156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef MMAPI_SUPPORT 36256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR EAS_TC_Parser; 36356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_TONE_CONTROL_PARSER &EAS_TC_Parser 36456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _STATIC_MEMORY 36556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparksextern EAS_VOID_PTR eas_TCData; 36656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_TONE_CONTROL_DATA &eas_TCData 36756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#else 36856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_TONE_CONTROL_DATA NULL 36956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 37056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#else 37156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_TONE_CONTROL_PARSER NULL 37256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#define EAS_TONE_CONTROL_DATA NULL 37356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 37456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 37556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*lint -e{605} not pretty, but it works */ 37656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_VOID_PTR const optionalModules[] = 37756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks{ 37856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks EAS_TONE_CONTROL_PARSER, 37956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks EAS_METRICS_INTERFACE 38056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks}; 38156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 38256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_VOID_PTR const optionalData[] = 38356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks{ 38456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks EAS_TONE_CONTROL_DATA, 38556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks EAS_METRICS_DATA 38656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks}; 38756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 38856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*---------------------------------------------------------------------------- 38956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_CMStaticMemoryModel() 39056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *---------------------------------------------------------------------------- 39156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose: 39256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * This function returns true if EAS has been configured for 39356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * a static memory model. There are some limitations in the 39456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * static memory model, see the documentation for more 39556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * information. 39656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * 39756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs: 39856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * returns EAS_TRUE if a module is found 39956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *---------------------------------------------------------------------------- 40056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/ 40156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_BOOL EAS_CMStaticMemoryModel (void) 40256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks{ 40356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _STATIC_MEMORY 40456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks return EAS_TRUE; 40556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#else 40656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks return EAS_FALSE; 40756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 40856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks} 40956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 41056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*---------------------------------------------------------------------------- 41156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_CMEnumModules() 41256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *---------------------------------------------------------------------------- 41356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose: 41456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * This function is used to find pointers to optional modules. 41556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * 41656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs: 41756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * module - module number 41856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * 41956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs: 42056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * returns a pointer to the module function table or NULL if no module 42156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *---------------------------------------------------------------------------- 42256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/ 42356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_VOID_PTR EAS_CMEnumModules (EAS_INT module) 42456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks{ 42556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 42656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks if (module >= (EAS_INT) NUM_PARSER_MODULES) 42756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks return NULL; 42856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks return parserModules[module]; 42956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks} 43056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 43156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*---------------------------------------------------------------------------- 43256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_CMEnumData() 43356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *---------------------------------------------------------------------------- 43456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose: 43556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * This function is used to find pointers to static memory allocations. 43656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * 43756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs: 43856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * dataModule - enumerated module number 43956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * 44056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs: 44156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Returns handle to data or NULL if not found 44256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *---------------------------------------------------------------------------- 44356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/ 44456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*lint -esym(715, dataModule) used only when _STATIC_MEMORY is defined */ 44556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_VOID_PTR EAS_CMEnumData (EAS_INT dataModule) 44656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks{ 44756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 44856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _STATIC_MEMORY 44956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks switch (dataModule) 45056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks { 45156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 45256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks /* main instance data for synthesizer */ 45356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks case EAS_CM_EAS_DATA: 45456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks return &eas_Data; 45556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 45656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks /* mix buffer for mix engine */ 45756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks case EAS_CM_MIX_BUFFER: 45856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks /*lint -e{545} lint doesn't like this because it sees the underlying type */ 45956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks return &eas_MixBuffer; 46056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 46156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks /* instance data for synth */ 46256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks case EAS_CM_SYNTH_DATA: 46356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks return &eas_Synth; 46456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 46556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks /* instance data for MIDI parser */ 46656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks case EAS_CM_MIDI_DATA: 46756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks return &eas_MIDI; 46856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 46956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks /* instance data for SMF parser */ 47056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks case EAS_CM_SMF_DATA: 47156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks return &eas_SMFData; 47256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 47356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _XMF_PARSER 47456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks /* instance data for XMF parser */ 47556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks case EAS_CM_XMF_DATA: 47656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks return &eas_XMFData; 47756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 47856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 47956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _SMAF_PARSER 48056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks /* instance data for SMAF parser */ 48156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks case EAS_CM_SMAF_DATA: 48256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks return &eas_SMAFData; 48356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 48456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 48556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks /* instance data for the PCM engine */ 48656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks case EAS_CM_PCM_DATA: 48756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks /*lint -e{545} lint doesn't like this because it sees the underlying type */ 48856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks return &eas_PCMData; 48956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 49056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks case EAS_CM_MIDI_STREAM_DATA: 49156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks return &eas_MIDIData; 49256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 49356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _OTA_PARSER 49456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks /* instance data for OTA parser */ 49556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks case EAS_CM_OTA_DATA: 49656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks return &eas_OTAData; 49756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 49856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 49956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _IMELODY_PARSER 50056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks /* instance data for iMelody parser */ 50156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks case EAS_CM_IMELODY_DATA: 50256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks return &eas_iMelodyData; 50356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 50456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 50556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _RTTTL_PARSER 50656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks /* instance data for RTTTL parser */ 50756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks case EAS_CM_RTTTL_DATA: 50856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks return &eas_RTTTLData; 50956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 51056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 51156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#ifdef _WAVE_PARSER 51256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks /* instance data for WAVE parser */ 51356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks case EAS_CM_WAVE_DATA: 51456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks return &eas_WaveData; 51556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 51656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 51756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#if defined (_CMX_PARSER) || defined(_MFI_PARSER) 51856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks /* instance data for CMF parser */ 51956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks case EAS_CM_CMF_DATA: 52056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks return &eas_CMFData; 52156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 52256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 52356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks default: 52456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks return NULL; 52556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks } 52656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 52756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#else 52856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks return NULL; 52956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks#endif 53056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks} 53156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 53256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*---------------------------------------------------------------------------- 53356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_CMEnumFXModules() 53456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *---------------------------------------------------------------------------- 53556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose: 53656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * This function is used to find pointers to optional effects modules. 53756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * 53856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs: 53956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * module - enumerated module number 54056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pModule - pointer to module interface 54156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * 54256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs: 54356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Returns pointer to function table or NULL if not found 54456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *---------------------------------------------------------------------------- 54556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/ 54656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_VOID_PTR EAS_CMEnumFXModules (EAS_INT module) 54756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks{ 54856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 54956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks if (module >= NUM_EFFECTS_MODULES) 55056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks return NULL; 55156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks return effectsModules[module]; 55256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks} 55356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 55456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*---------------------------------------------------------------------------- 55556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_CMEnumFXData() 55656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *---------------------------------------------------------------------------- 55756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose: 55856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * This function is used to find pointers to static memory allocations. 55956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * 56056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs: 56156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * dataModule - enumerated module number 56256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * pData - pointer to handle variable 56356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * 56456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs: 56556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Returns handle to data or NULL if not found 56656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *---------------------------------------------------------------------------- 56756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/ 56856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_VOID_PTR EAS_CMEnumFXData (EAS_INT dataModule) 56956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks{ 57056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 57156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks if (dataModule >= NUM_EFFECTS_MODULES) 57256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks return NULL; 57356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks return effectsData[dataModule]; 57456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks} 57556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 57656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*---------------------------------------------------------------------------- 57756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_CMEnumOptModules() 57856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *---------------------------------------------------------------------------- 57956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose: 58056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * This function is used to find pointers to optional modules. 58156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * 58256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs: 58356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * module - enumerated module number 58456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * 58556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs: 58656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * returns pointer to function table or NULL if no module 58756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *---------------------------------------------------------------------------- 58856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/ 58956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_VOID_PTR EAS_CMEnumOptModules (EAS_INT module) 59056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks{ 59156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 59256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks /* sanity check */ 59356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks if (module >= NUM_OPTIONAL_MODULES) 59456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks return EAS_FALSE; 59556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks return optionalModules[module]; 59656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks} 59756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 59856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks/*---------------------------------------------------------------------------- 59956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * EAS_CMEnumOptData() 60056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *---------------------------------------------------------------------------- 60156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Purpose: 60256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * This function is used to find pointers to static memory allocations. 60356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * 60456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Inputs: 60556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * dataModule - enumerated module number 60656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * 60756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Outputs: 60856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks * Returns handle to data or NULL if not found 60956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks *---------------------------------------------------------------------------- 61056c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks*/ 61156c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave SparksEAS_VOID_PTR EAS_CMEnumOptData (EAS_INT dataModule) 61256c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks{ 61356c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 61456c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks if (dataModule >= NUM_OPTIONAL_MODULES) 61556c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks return NULL; 61656c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks return optionalData[dataModule]; 61756c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks} 61856c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 61956c99cd2c2c1e6ab038dac5fced5b92ccf11ff6cDave Sparks 620