| /** \file vp_api.h |
| * vp_api.h |
| * |
| * Header file for the API-II c files. |
| * |
| * This file contains the all of the VoicePath API-II function prototypes. This |
| * file should be used to bring in the VP-API-II library modules that are |
| * necessary for a given application. |
| * |
| ***************************************************************************** |
| * NOTE: Inclusion of only this file is sufficient to bring in the all the * |
| * necessary aspects of VP_API. * |
| ***************************************************************************** |
| * |
| * Copyright (c) 2010, Zarlink Semiconductor, Inc. |
| * |
| * $Revision: 8620 $ |
| * $LastChangedDate: 2011-06-02 13:27:26 -0500 (Thu, 02 Jun 2011) $ |
| */ |
| |
| |
| #ifndef VP_API_H |
| #define VP_API_H |
| |
| /****************************************************************************** |
| * VP-API Version * |
| *****************************************************************************/ |
| /* |
| * The following version number tag is updated at every release of the VP-API. |
| * Since the VP-API is a common interface that supports more than one device, |
| * version number change might occur when any aspect of the VP-API gets |
| * released. |
| */ |
| #define VP_API_VERSION_TAG (0x021201) |
| |
| #define VP_API_VERSION_MAJOR_NUM ((VP_API_VERSION_TAG) >> 16) |
| #define VP_API_VERSION_MINOR_NUM (((VP_API_VERSION_TAG) & 0x00FF00) >> 8) |
| #define VP_API_VERSION_MINI_NUM (((VP_API_VERSION_TAG) & 0x0FF)) |
| |
| /* First include various basic data types used in the API */ |
| #include "vp_api_types.h" |
| |
| /****************************************************************************** |
| * Defines the configuration of VP-API library that needs to be built. * |
| * Please modify the following include file as per your VP-API library * |
| * requirement(s). * |
| ******************************************************************************/ |
| #include "vp_api_cfg.h" |
| |
| /****************************************************************************** |
| * PLEASE DO NOT MODIFY BELOW THIS LINE * |
| ******************************************************************************/ |
| /* Include the main VP-API-Common file */ |
| #include "vp_api_common.h" |
| |
| /* Include the VP-API-Header file required for the CSLAC sequencer */ |
| #if defined (VP_CSLAC_SEQ_EN) |
| #include "vp_api_cslac_seq.h" |
| #endif |
| |
| /* Include the necessary files depending on the requirement of the project */ |
| #if defined (VP_CC_790_SERIES) |
| #include "vp790_api.h" /* Vp790 device specific API functions and typedefs */ |
| #endif |
| |
| /* Include the necessary files depending on the requirement of the project */ |
| #if defined (VP_CC_792_SERIES) |
| #include "vp792_api.h" /* Vp790 device specific API functions and typedefs */ |
| #endif |
| |
| #if defined (VP_CC_880_SERIES) |
| #include "vp880_api.h" /* Vp880 device specific API functions and typedefs */ |
| |
| /* |
| * For 0823 LM, the FXO CID line is controlled by I/O3. For 0803 LM, it's |
| * controlled by I/O2. Control with I/O3 is better since I/O2 has more features |
| * |
| * #define VP880_FXO_CID_LINE VP880_IODATA_IO2 Use with 0803 ref |
| * #define VP880_FXO_CID_LINE VP880_IODATA_IO3 Use with 0823 ref |
| */ |
| #define VP880_FXO_CID_LINE VP880_IODATA_IO3 |
| #endif |
| |
| #if defined (VP_CC_890_SERIES) |
| #include "vp890_api.h" /* Vp890 device specific API functions and typedefs */ |
| #endif |
| |
| #if defined (VP_CC_580_SERIES) |
| #include "vp580_api.h" /* Vp580 device specific API functions and typedefs */ |
| #endif |
| |
| #if defined (VP_CC_VCP_SERIES) |
| #include "dvp_api.h" /* VCP device specific API functions and typedefs */ |
| #endif |
| |
| #if defined (VP_CC_VCP2_SERIES) |
| #include "vcp2_api.h" /* VCP2 device specific API functions and typedefs */ |
| #endif |
| |
| #if defined (VP_CC_MELT_SERIES) |
| #include "melt_api.h" /* VCP2 device specific API functions and typedefs */ |
| #endif |
| |
| #if defined (VP_CC_KWRAP) |
| #include "vp_kernel.h" /* KWRAP device specific API functions and typedefs */ |
| #endif |
| |
| /* Macros for calling a device-specific API function using the pointer in the |
| Device Context: */ |
| typedef void (*VpTempFuncPtrType) (void); |
| |
| #define VP_CALL_DEV_FUNC(func, args) \ |
| (((pDevCtx->funPtrsToApiFuncs.func) == VP_NULL) ? VP_STATUS_FUNC_NOT_SUPPORTED : (pDevCtx->funPtrsToApiFuncs.func) args ) |
| |
| /* |
| * Based on the existing structure of the include files the following def |
| * have been moved here. |
| */ |
| |
| #if defined(VP_CC_880_SERIES) || defined(VP_CC_790_SERIES) || defined(VP_CC_890_SERIES) |
| |
| typedef union { |
| uint8 dummy; /* preventing an empty union */ |
| #if defined(VP_CC_880_SERIES) && defined(VP880_INCLUDE_TESTLINE_CODE) |
| Vp880TestHeapType vpTestHeap880; |
| #define VP_TEST_HEAP_IS_REQUIRED |
| #endif |
| |
| #if defined(VP_CC_890_SERIES) && defined(VP890_INCLUDE_TESTLINE_CODE) |
| Vp890TestHeapType vpTestHeap890; |
| #define VP_TEST_HEAP_IS_REQUIRED |
| #endif |
| |
| #if defined(VP_CC_790_SERIES) && defined(VP790_INCLUDE_TESTLINE_CODE) |
| /* Vp790TestHeapType vpTestHeap790; */ |
| #define VP_TEST_HEAP_IS_REQUIRED |
| #endif |
| } VpTestHeapType; |
| #else |
| typedef char VpTestHeapType; |
| #endif |
| |
| #endif /* VP_API_H */ |
| |
| |
| |
| |