| /******************************************************************************* | |
| * Copyright (C) 2007, ZTE Corporation. | |
| * | |
| * File Name: Drvs_volte.h | |
| * File Mark: | |
| * Description: Provide the interface of using volte | |
| * Others: | |
| * Version: V0.5 | |
| * Author: lvwenhua | |
| * Date: 2014-08-4 | |
| * History 1: | |
| * Date: | |
| * Version: | |
| * Author: | |
| * Modification: | |
| * History 2: | |
| ********************************************************************************/ | |
| #ifndef _DRVS_VOLTE_H | |
| #define _DRVS_VOLTE_H | |
| #include <linux/volte_drv.h> | |
| typedef enum | |
| { | |
| VOLTE_IDLE = 0, | |
| VOLTE_OPEN, | |
| VOLTE_INUSE, | |
| VOLTE_MAX | |
| } T_Volte_Status; | |
| #if 0 | |
| typedef enum | |
| { | |
| VOICE_GSM_MODE = 0, | |
| VOICE_TD_MODE , | |
| VOICE_WCDMA_MODE, | |
| VOICE_LTE_MODE, | |
| VOICE_GSM_TD_MODE,//GSM TD share | |
| VOICE_GSM_WCDMA_MODE, //GSM WCDMA share | |
| MAX_VOICE_MODE | |
| } T_ZDrvVoice_MODE; | |
| typedef struct | |
| { | |
| UINT32 clock_rate; | |
| UINT32 channel_count; | |
| UINT32 samples_per_frame; | |
| UINT32 bits_per_sample; | |
| UINT32 mode; | |
| } T_ZDrvVp_Cfg; | |
| #define T_ZDrvVoice_Cfg T_ZDrvVp_Cfg | |
| #endif | |
| typedef T_ZDrvVoice_Cfg T_ZDrvVp_Cfg; | |
| typedef struct | |
| { | |
| SINT32 (*drv_voice_3G_Open)(VOID); | |
| SINT32 (*drv_voice_3G_Close)(VOID); | |
| } T_DrvVoice_3G_Opt; | |
| typedef struct | |
| { | |
| SINT32 (*drv_Get_Ecall_State)(VOID); | |
| SINT32 (*drv_Ecall_Read)(UINT8 *pBuf,UINT32 *inSize); | |
| SINT32 (*drv_Ecall_Write)(UINT8 *pBuf,UINT32 inSize); | |
| } T_DrvEcall_Opt; | |
| typedef struct | |
| { | |
| void (*drv_dtmfrx_report_cb)(char *dtmf_string, unsigned char string_len); | |
| void (*drv_dtmftx_report_cb)(char *dtmf_string, unsigned char string_len); | |
| } T_DrvDtmf_Detect_Opt; | |
| SINT32 zDrvVoice_Open(T_ZDrvVoice_Cfg *cfgParam); | |
| SINT32 zDrvVoice_Close(VOID); | |
| SINT32 zDrvVoice_ReadStart(VOID); | |
| SINT32 zDrvVoice_ReadStop(VOID); | |
| SINT32 zDrvVoice_WriteStart(VOID); | |
| SINT32 zDrvVoice_WriteStop(VOID); | |
| SINT32 zDrvVoice_ReadOneFrame(UINT8 *pBuf); | |
| SINT32 zDrvVoice_WriteOneFrame(UINT8 *pBuf); | |
| VOID zDrvVoice_3G_RegCallbacks(T_DrvVoice_3G_Opt voiceObj); | |
| SINT32 zDrvVolte_AmrEncoderInit(VOID); | |
| SINT32 zDrvVolte_AmrDecoderInit(VOID); | |
| SINT32 zDrvVolte_AmrEncoder(UINT8 *pInputBuf,UINT32 inSize,UINT8 *pOutputBuf,UINT32* pOutSize); | |
| SINT32 zDrvVolte_AmrDecoder(UINT8 *pInputBuf,UINT32 inSize,UINT8 *pOutputBuf,UINT32* pPutSize); | |
| VOID zDrvVolte_AmrEncoderDeinit(VOID); | |
| VOID zDrvVolte_AmrDecoderDeinit(VOID); | |
| VOID zDrvEcall_SetCallbacks(T_DrvEcall_Opt ecallObj); | |
| #endif | |