170 lines
6.5 KiB
C
170 lines
6.5 KiB
C
/*--------------------------------------------------------------------------------------------------------------------
|
||
(C) Copyright 2006, 2007 Marvell DSPC Ltd. All Rights Reserved.
|
||
-------------------------------------------------------------------------------------------------------------------*/
|
||
|
||
/*--------------------------------------------------------------------------------------------------------------------
|
||
* INTEL CONFIDENTIAL
|
||
* Copyright 2006 Intel Corporation All Rights Reserved.
|
||
* The source code contained or described herein and all documents related to the source code (“Material? are owned
|
||
* by Intel Corporation or its suppliers or licensors. Title to the Material remains with Intel Corporation or
|
||
* its suppliers and licensors. The Material contains trade secrets and proprietary and confidential information of
|
||
* Intel or its suppliers and licensors. The Material is protected by worldwide copyright and trade secret laws and
|
||
* treaty provisions. No part of the Material may be used, copied, reproduced, modified, published, uploaded, posted,
|
||
* transmitted, distributed, or disclosed in any way without Intel’s prior express written permission.
|
||
*
|
||
* No license under any patent, copyright, trade secret or other intellectual property right is granted to or
|
||
* conferred upon you by disclosure or delivery of the Materials, either expressly, by implication, inducement,
|
||
* estoppel or otherwise. Any license under such intellectual property rights must be express and approved by
|
||
* Intel in writing.
|
||
* -------------------------------------------------------------------------------------------------------------------
|
||
*
|
||
* Filename: telcontroller.h
|
||
*
|
||
* Authors: Vincent Yeung
|
||
*
|
||
* Description: Telephony Controller Implementation for AT Command Server
|
||
*
|
||
* History:
|
||
* May 19, 2006 - Creation of file
|
||
*
|
||
* Notes:
|
||
*
|
||
******************************************************************************/
|
||
|
||
#ifndef TELCONTROLLER_H
|
||
#define TELCONTROLLER_H
|
||
|
||
#include "telatci.h"
|
||
#include "utlAtParser.h"
|
||
#include "osa.h"
|
||
|
||
|
||
typedef struct _ATStubMsg
|
||
{
|
||
UINT8 sATPInd;
|
||
UINT32 length;
|
||
char *data;
|
||
} ATParserMsg, *PATParserMsg;
|
||
|
||
typedef struct _ATRespMsg
|
||
{
|
||
UINT32 msgId;
|
||
void* pparm;
|
||
UINT32 length;
|
||
|
||
}ATRespMsg, ATIndMsg, *PATRespMsg,*PATIndMsg;
|
||
|
||
BOOL tcInit( char * ext_serial_path, char* modem_serial_path);
|
||
int tcWriteParser(TelAtParserID sAtpIndex, char * string, int len);
|
||
|
||
|
||
utlReturnCode_T atParserShellSetFunction(const utlAtParameterOp_T op,
|
||
const char *command_name_p,
|
||
const utlAtParameterValue_P2c parameter_values_p,
|
||
const size_t num_parameters,
|
||
const char *info_text_p,
|
||
unsigned int *xid_p,
|
||
void *arg_p);
|
||
|
||
utlReturnCode_T atParserShellGetFunction(const utlAtParameterOp_T op,
|
||
const char *command_name_p,
|
||
const utlAtParameterValue_P2c parameter_values_p,
|
||
const size_t num_parameters,
|
||
const char *info_text_p,
|
||
unsigned int *xid_p,
|
||
void *arg_p);
|
||
|
||
utlReturnCode_T ciAT( const utlAtParameterOp_T op,
|
||
const char *command_name_p,
|
||
const utlAtParameterValue_P2c parameter_values_p,
|
||
const size_t num_parameters,
|
||
const char *info_text_p,
|
||
unsigned int *xid_p,
|
||
void *arg_p);
|
||
|
||
//int getFd(TelAtParserID sAtpIndex);
|
||
//OSAMsgQRef getMsgQ(TelAtParserID sAtpIndex);
|
||
|
||
int tcWriteParser(TelAtParserID sAtpIndex, char * string, int len);
|
||
int tcWriteParserForInd(TelAtParserID sAtpIndex, char * string, int len);
|
||
|
||
BOOL tcCreateMSGQ(OSMsgQRef* msgRef, UINT8 sATPIndex);
|
||
void ProcessAtChanThread(void *ptr);
|
||
int Switch_Modem_State(void);
|
||
|
||
#ifdef LWIP_IPNETBUF_SUPPORT
|
||
#ifdef VOLTE_ENABLE
|
||
|
||
//proxied commands/indications list
|
||
typedef struct utlAtProxyCommand_S{
|
||
char* commandName; // the command name
|
||
unsigned char operation; //The commands operations that can be proxied (SET-bit 3, GET-bit 2, TEST bit 5 - starting from bit 0)
|
||
struct utlAtProxyCommand_S *next_p;
|
||
struct utlAtProxyCommand_S *prev_p;
|
||
}utlAtProxyCommand_T,*utlAtProxyCommand_P;
|
||
unsigned int utlIsProxyReq(const char *cmdName, utlAtParameterOp_T cmdOp, unsigned int parserId);
|
||
|
||
unsigned int utlIsProxyInd(const char *indName,unsigned int parserId);
|
||
|
||
unsigned int utlIsReqForMasterCard(unsigned int parserId);
|
||
|
||
void utlIncProxyTimeoutCounter(unsigned int incValue,int parserId);
|
||
|
||
unsigned int utlIsProxySmsTrs(const char *cmdName);
|
||
#endif
|
||
#endif
|
||
|
||
/***********************************************************************
|
||
*
|
||
* Name: ATRecv
|
||
*
|
||
* Description: receive AT command and put them into queue
|
||
*
|
||
* Parameters:
|
||
* int AtpIndex [IN] channle index
|
||
* void *data [IN] at command data
|
||
* UINT32 length [IN] he length of AT command
|
||
*
|
||
* Returns:
|
||
* TRUE: success
|
||
*
|
||
* Notes:
|
||
*
|
||
***********************************************************************/
|
||
void ATRecv(int AtpIndex, void* data, UINT32 length);
|
||
/***********************************************************************
|
||
*
|
||
* Name: openAtChannel
|
||
*
|
||
* Description: open an at channel to process at commands
|
||
*
|
||
* Parameters:
|
||
* TelAtParserID channel [IN] channle index
|
||
*
|
||
* Returns:
|
||
* TRUE: success
|
||
*
|
||
* Notes:
|
||
*
|
||
***********************************************************************/
|
||
BOOL openAtChannel(TelAtParserID channel);
|
||
|
||
|
||
BOOL IsValidChannel(TelAtParserID sAtpIndex,AT_CHANNEL_TYPE type);
|
||
BOOL IsValidAGPSChannel(TelAtParserID sAtpIndex);
|
||
UINT8 getSimIdFromChnlId(TelAtParserID chnlID,AT_CHANNEL_TYPE type);
|
||
UINT8 converChannelIdToIndex(TelAtParserID chnlID,AT_CHANNEL_TYPE type);
|
||
|
||
//fix build warnning
|
||
void at_send_recurse(utlAtParser_P parse_p);
|
||
#ifdef LWIP_IPNETBUF_SUPPORT
|
||
bool is_verbose_response(int atp_index);
|
||
#endif
|
||
#ifdef CSD_SUPPORT
|
||
bool is_report_localrate(int atp_index);
|
||
bool is_include_connect_text(int atp_index);
|
||
#endif
|
||
#endif
|
||
|
||
/* END OF FILE */
|