Files

171 lines
12 KiB
C

/******************************************************************************
*(C) Copyright 2007 Marvell International Ltd.
* All Rights Reserved
******************************************************************************
* Filename: Telmsg.h
*
* Description: SMS AT commands implementation
*
* History:
* Jan 18, 2008 - Creation of file
* Sep 22, 2008 - Modification for optimization of AT SMS module
*
* Notes:
*
******************************************************************************/
#ifndef TELMSG_H
#define TELMSG_H
#include "ci_api_types.h"
#include "ci_msg.h"
/*
typedef enum
{
MSGFLAG_MORETOSEND=0x01,
MSGFLAG_STATUSREPORTRETURNED=0x02,
MSGFLAG_HEADER=0x04,
MSGFLAG_REPLYPATH=0x08
}MSGFLAG;
*/ /*
//
// ProtocolID types
//
#define MSGPROTOCOL_UNKNOWN (0x00)
#define MSGPROTOCOL_SMETOSME (0x01)
#define MSGPROTOCOL_IMPLICIT (0x02)
#define MSGPROTOCOL_TELEX (0x03)
#define MSGPROTOCOL_TELEFAX_GROUP3 (0x04)
#define MSGPROTOCOL_TELEFAX_GROUP4 (0x05)
#define MSGPROTOCOL_VOICEPHONE (0x06)
#define MSGPROTOCOL_ERMES (0x07)
#define MSGPROTOCOL_PAGING (0x08)
#define MSGPROTOCOL_VIDEOTEX (0x09)
#define MSGPROTOCOL_TELETEX (0x0a)
#define MSGPROTOCOL_TELETEX_PSPDN (0x0b)
#define MSGPROTOCOL_TELETEX_CSPDN (0x0c)
#define MSGPROTOCOL_TELETEX_PSTN (0x0d)
#define MSGPROTOCOL_TELETEX_ISDN (0x0e)
#define MSGPROTOCOL_UCI (0x0f)
#define MSGPROTOCOL_MSGHANDLING (0x10)
#define MSGPROTOCOL_X400 (0x11)
#define MSGPROTOCOL_EMAIL (0x12)
#define MSGPROTOCOL_SCSPECIFIC1 (0x13)
#define MSGPROTOCOL_SCSPECIFIC2 (0x14)
#define MSGPROTOCOL_SCSPECIFIC3 (0x15)
#define MSGPROTOCOL_SCSPECIFIC4 (0x16)
#define MSGPROTOCOL_SCSPECIFIC5 (0x17)
#define MSGPROTOCOL_SCSPECIFIC6 (0x18)
#define MSGPROTOCOL_SCSPECIFIC7 (0x19)
#define MSGPROTOCOL_GSMSTATION (0x1a)
#define MSGPROTOCOL_SM_TYPE0 (0x1b)
#define MSGPROTOCOL_RSM_TYPE1 (0x1c)
#define MSGPROTOCOL_RSM_TYPE2 (0x1d)
#define MSGPROTOCOL_RSM_TYPE3 (0x1e)
#define MSGPROTOCOL_RSM_TYPE4 (0x1f)
#define MSGPROTOCOL_RSM_TYPE5 (0x20)
#define MSGPROTOCOL_RSM_TYPE6 (0x21)
#define MSGPROTOCOL_RSM_TYPE7 (0x22)
#define MSGPROTOCOL_RETURNCALL (0x23)
#define MSGPROTOCOL_ME_DOWNLOAD (0x24)
#define MSGPROTOCOL_DEPERSONALIZATION (0x25)
#define MSGPROTOCOL_SIM_DOWNLOAD (0x26)
*/
#define DCSTYPE_GENERAL (0x00)
#define DCSTYPE_MSGWAIT (0x01)
#define DCSTYPE_MSGCLASS (0x02)
#define DCSMSGCLASS_0 (0x00) // @constdefine TBD
#define DCSMSGCLASS_1 (0x01) // @constdefine TBD
#define DCSMSGCLASS_2 (0x02) // @constdefine TBD
#define DCSMSGCLASS_3 (0x03) // @constdefine TBD
#define DCSINDICATION_VOICEMAIL (0x00) //voice mail
#define DCSINDICATION_FAX (0x01) // Fax indication
#define DCSINDICATION_EMAIL (0x02) //E-Mail indication
#define DCSINDICATION_OTHER (0x03) //Other indication
#ifdef CRANE_MCU_DONGLE
#define MAX_CBM_PAGE_SIZE 82
#endif
/*
typedef struct
{
UINT8 tsYear;
UINT8 tsMonth;
UINT8 tsDay;
UINT8 tsHour;
UINT8 tsMinute;
UINT8 tsSecond;
UINT8 tsTimezone;
UINT8 tsZoneSign;
}TIMESTAMP;
typedef struct {
UINT32 type; // @field DCS type
UINT32 msgClass; // @field message class (Only for RIL_DCSTYPE_GENERAL and RIL_DCSTYPE_MSGCLASS)
UINT32 alphabet; // @field DCS alphabet
UINT32 indication; // @field indication (Only for RIL_DCSTYPE_MSGWAIT)
} DCS;
typedef struct
{
MSGFLAG bMsgFlag;
UINT8 srcAddr[ CI_MAX_ADDRESS_LENGTH + 1];
UINT32 protocolId;
TIMESTAMP timeStamp;
DCS bDCS;
// UINT32 bHdrLength; // length of header
UINT32 bMsgLength; // length of body
// UINT8 hdrBuf[256]; //msg hdr buffer
UINT8 msgBuf[512]; // msg body buffer
}SHORTMESSAGE;*/
RETURNCODE_T ciSelectSmsSrv(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);
RETURNCODE_T ciPrefStorage(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);
RETURNCODE_T ciMsgFormat(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);
RETURNCODE_T ciStarMsgFormat(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);
RETURNCODE_T ciSrvCenterAddr(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);
RETURNCODE_T ciSetTextModeParam(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);
RETURNCODE_T ciSelectCbMsgType(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);
RETURNCODE_T ciNewMsgInd(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);
RETURNCODE_T ciListMsg(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);
RETURNCODE_T ciReadMsg(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);
RETURNCODE_T ciSendMsg(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);
RETURNCODE_T ciSendStoredMsg(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);
RETURNCODE_T ciStoreMsg(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);
RETURNCODE_T ciDeleteMsg(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);
RETURNCODE_T ciSetMoreMsgToSend(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);
RETURNCODE_T ciSetMoService(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);
RETURNCODE_T ciNewMsgAck(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);
RETURNCODE_T ciNewMsgAckStar(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);
RETURNCODE_T ciCMEMFULL(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);
RETURNCODE_T ciLockSMSStatus(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);
RETURNCODE_T ciRSTMemFull(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);
RETURNCODE_T ciCbmChannelStatus(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);
RETURNCODE_T ciLockSMSStatus(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);
void ciSendMsgAfterCtrlZ( TelAtParserID sAtpIndex, CHAR *pSmsData, INT32 smsDataLength, TelMsgDataMode telMsgDataMode );
void ciSendMsgAfterEsc( TelAtParserID sAtpIndex, TelMsgDataMode telMsgDataMode );
void ciNewMsgAckAfterCtrlZ ( UINT32 reqHandle, CHAR *pSmsAckData, UINT32 smsAckDataLength, UINT32 reply, UINT32 cnmaFlag );
RETURNCODE_T ciSelectCbRat( 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);
RETURNCODE_T ciShowTextParam(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);
RETURNCODE_T ciCMRSS(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);
RETURNCODE_T ciCMGSS(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);
RETURNCODE_T ciCMSMS(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);
RETURNCODE_T ciCMGMS(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);
RETURNCODE_T ciCsas( 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);
RETURNCODE_T ciCres( 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);
RETURNCODE_T ciCPNER( 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);
#ifdef CUSTOMER_FEATURE
#ifndef ENABLE_DM_LTEONLY
RETURNCODE_T ciResendPara(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);
#endif
#endif
#endif