Home | History | Annotate | Download | only in host_src
      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