/************************************************************************** | |
* | |
* Protocol Stack Adapter Layer Telephone Interface | |
* | |
* Copyright (c) 2011 ZTE Corporation. | |
* | |
*************************************************************************** | |
* | |
* °æ±¾ËùÓÐ : ÖÐÐËͨѶ¹É·ÝÓÐÏÞ¹«Ë¾ ÊÖ»úÊÂÒµ²¿ | |
* Ä£ ¿é Ãû : PSI | |
* ÎÄ ¼þ Ãû : zpsi_api.h | |
* Îļþ±êʶ : | |
* Ïà¹ØÎļþ : | |
* ʵÏÖ¹¦ÄÜ : PSI×Óϵͳ¶Ôƽ̨ӦÓÃ½Ó¿Ú | |
* ×÷ Õß : | |
* °æ ±¾ : | |
* Íê³ÉÈÕÆÚ : 2011.04.06 | |
* ÆäËü˵Ã÷ : | |
**************************************************************************/ | |
#ifndef ZPSI_API_H | |
#define ZPSI_API_H | |
#define ZATI2_SM_IPV4_PDPADDR_LEN 4 | |
#define ZATI2_SM_IPV6_PDPADDR_LEN 16 | |
#define ZATI2_SM_MAX_PDPADDR_LEN (ZATI2_SM_IPV4_PDPADDR_LEN + ZATI2_SM_IPV6_PDPADDR_LEN) | |
/* ½á¹¹Ì嶨Òå */ | |
typedef struct { | |
UINT8 iCid; | |
UINT8 iPdpType; /* | |
* 0x01-PPP | |
* 0x21-IPv4 | |
* 0x57-IPv6 | |
*/ | |
UINT8 iPdpAddr[ZATI2_SM_MAX_PDPADDR_LEN]; /* È«0±íʾʹÓö¯Ì¬µØÖ·£¬Èç10.40.63.4±íʾΪ | |
iPdpAddr[0]=10,iPdpAddr[1]=40,iPdpAddr[2]=63,iPdpAddr[3]=4*/ | |
UINT8 iGateWay[ZATI2_SM_MAX_PDPADDR_LEN]; /* ͬÉÏ */ | |
UINT8 iPrimaryDns[ZATI2_SM_MAX_PDPADDR_LEN]; /* ͬÉÏ */ | |
UINT8 iSecondaryDns[ZATI2_SM_MAX_PDPADDR_LEN]; /* ͬÉÏ */ | |
}T_ZAti_SmIpDnsInfo; | |
typedef enum | |
{ | |
ZATI2_CHIND_AT = 0, /* ָʾµ±Ç°Êý¾ÝΪATÃüÁî*/ | |
ZATI2_CHIND_PSD, /* ָʾµ±Ç°Êý¾ÝΪPSD*/ | |
ZATI2_CHIND_PSDV6, /* ָʾµ±Ç°Êý¾ÝΪPSDV6*/ | |
ZATI2_CHIND_CSD, /* ָʾµ±Ç°Êý¾ÝΪCSD*/ | |
ZATI2_CHIND_TURN_AT, /* ָʾµ±Ç°Í¨µÀ״̬Çл»ÎªÃüÁî̬£¬Ð¯´øÊý¾ÝÎÞЧ*/ | |
ZATI2_CHIND_TURN_PSD, /* ָʾµ±Ç°Í¨µÀ״̬Çл»ÎªPSD£¬Ð¯´øÊý¾ÝÎÞЧ*/ | |
ZATI2_CHIND_TURN_CSD, /* ָʾµ±Ç°Í¨µÀ״̬Çл»ÎªCSD£¬Ð¯´øÊý¾ÝÎÞЧ*/ | |
ZATI2_CHIND_MAX | |
} | |
T_zAti2_CtrmChInd; | |
typedef enum | |
{ | |
ZATI2_CHANNEL_SRV_MODE_INVAL = 0, | |
ZATI2_CHANNEL_SRV_MODE_CMD, | |
ZATI2_CHANNEL_SRV_MODE_DATA | |
}T_zAti2_ChnlSrvModeType; | |
typedef SINT32 (*T_ZAti2_AtRecvFunc)(UINT8 channelId, UINT8* pDataPtr, UINT16 iDataLen, T_zAti2_CtrmChInd iFlag); | |
typedef BOOL (*OutputIpPacket_CB)(UINT8 chId ,VOID *packet, SINT32 packetLen, UINT8 flag); | |
typedef BYTE (*T_zAti_AtChannelFunc)(UINT8 PsId); | |
#ifdef Z_DUALCARD_DUALSTANDBY | |
typedef SINT32 (*ZUSAT_SENDATCMDTOACCESSCHANNEL_FUNC)(UINT32 devId, UINT8 *data, UINT16 dataLen); | |
#else | |
typedef SINT32 (*ZUSAT_SENDATCMDTOACCESSCHANNEL_FUNC)(UINT8 *data, UINT16 dataLen); | |
#endif | |
/************************************************************************** | |
* º¯ÊýÃû³Æ£º zPsi_RegOutputIpPacketCb | |
* ¹¦ÄÜÃèÊö£º | |
* ²ÎÊý˵Ã÷£º | |
* ·µ »Ø Öµ£º ³É¹¦·µ»ØZATI2_SUCCESS | |
* ÆäËü˵Ã÷£º Èë²Î°üÌå²»¿É±»Ð޸ģ¬Ç뿽³öºó²Ù×÷ | |
**************************************************************************/ | |
SINT32 zPsi_RegOutputIpPacketCb(OutputIpPacket_CB recvFunc); | |
/************************************************************************** | |
* º¯ÊýÃû³Æ : zAti2_Open | |
* ¹¦ÄÜÃèÊö : ´ò¿ªÍ¨µÀ | |
* ²ÎÊý˵Ã÷ : (IN)£º | |
* iChnelId ͨµÀID | |
* (OUT)£ºÎÞ | |
* ·µ »Ø Öµ : ³É¹¦·µ»ØZATI2_SUCCESS£»Ê§°Ü·µ»Ø´íÎóÀàÐÍ£» | |
* ÆäËü˵Ã÷ : ÈÎÎñ¾ÍÐ÷ºó²ÅÄܽøÐÐͨµÀ²Ù×÷£» | |
* ͬһ¸öͨµÀ£¬²»ÄÜÁ¬Ðø´ò¿ªÁ½´Î | |
**************************************************************************/ | |
SINT32 zAti2_Open(UINT8 iChnelId); | |
/************************************************************************** | |
* º¯ÊýÃû³Æ : zAti2_Close | |
* ¹¦ÄÜÃèÊö : ¹Ø±ÕͨµÀ | |
* ²ÎÊý˵Ã÷ : (IN)£º | |
* iChnelId ͨµÀID | |
* (OUT)£ºÎÞ | |
* ·µ »Ø Öµ : ³É¹¦·µ»ØZATI2_SUCCESS£»Ê§°Ü·µ»ØZATI2_FAULSE£» | |
* ÆäËü˵Ã÷ : ÈÎÎñ¾ÍÐ÷ºó²ÅÄܽøÐÐͨµÀ²Ù×÷£» | |
* ͬһ¸öͨµÀ£¬²»ÄܹرÕÁ½´Î | |
**************************************************************************/ | |
SINT32 zAti2_Close(UINT8 iChnelId); | |
/************************************************************************** | |
* º¯ÊýÃû³Æ : zAti2_RegRecvCb | |
* ¹¦ÄÜÃèÊö : ×¢²á»Øµ÷º¯Êý | |
* ²ÎÊý˵Ã÷ : (IN)£º | |
* recvFunc »Øµ÷º¯Êý | |
* (OUT)£ºÎÞ | |
* ·µ »Ø Öµ : ³É¹¦·µ»ØZATI2_SUCCESS£»Ê§°Ü·µ»Ø´íÎóÔÒò£» | |
* ÆäËü˵Ã÷ : Ìṩ¸øÓû§·½º¯Êý½Ó¿Ú | |
* Èë²ÎÖ¸ÕëÀàÐÍtypedef SINT32 (*T_ZAti2_RecvCb)(UINT8 channelId, | |
* UINT8* pDataPtr, UINT16 iDataLen, UINT8 iFlag); | |
**************************************************************************/ | |
SINT32 zAti2_RegRecvCb(T_ZAti2_AtRecvFunc recvFunc); | |
/************************************************************************** | |
* º¯ÊýÃû³Æ : zAti2_AtChannelFunc | |
* ¹¦ÄÜÃèÊö : ×¢²á»Øµ÷º¯Êý | |
* ²ÎÊý˵Ã÷ : (IN)£º | |
* recvFunc »Øµ÷º¯Êý | |
* (OUT)£ºÎÞ | |
* ·µ »Ø Öµ : ³É¹¦·µ»ØZATI2_SUCCESS£»Ê§°Ü·µ»Ø´íÎóÔÒò£» | |
* ÆäËü˵Ã÷ : Ìṩ¸øÓû§·½º¯Êý½Ó¿Ú | |
**************************************************************************/ | |
SINT32 zAti2_AtChannelFunc(T_zAti_AtChannelFunc pChannelFunc); | |
/************************************************************************** | |
* º¯ÊýÃû³Æ : zAti2_SetAlwaysAtReportChannel | |
* ¹¦ÄÜÃèÊö : ʼÖÕÉϱ¨ATÃüÁîµÄͨµÀ×¢²á»Øµ÷º¯Êý£¬»Øµ÷º¯Êý·µ»Ø×¨ÓÃͨµÀºÅ¡£ | |
* µ±×¨ÓÃͨµÀºÅÓÐЧʱ£¬Ö÷¶¯Éϱ¨ÃüÁî²»ÊÜÊÇ·ñºÚÆÁ/ÁÁÆÁÓ°Ï죬¶¼ÔÚ´ËͨµÀÉϱ¨¡£ | |
* ²ÎÊý˵Ã÷ : (IN)£º | |
* pChannelFunc - »Øµ÷º¯Êý£¬»Øµ÷º¯Êý·µ»Ø×¨ÓÃͨµÀºÅ¡£ | |
* ·µ »Ø Öµ : | |
* ÆäËü˵Ã÷ : Ìṩ¸ø²Î¿¼Éè¼ÆµÄº¯Êý½Ó¿Ú | |
**************************************************************************/ | |
SINT32 zAti2_SetAlwaysAtReportChannel(T_zAti_AtChannelFunc pChannelFunc); | |
/************************************************************************** | |
* º¯ÊýÃû³Æ : zAti2_Send | |
* ¹¦ÄÜÃèÊö : ͨ¹ýͨµÀ·¢ËÍATÃüÁ»òÕßÊý¾Ý | |
* ²ÎÊý˵Ã÷ : (IN)£º | |
* iChnelId »Øµ÷º¯Êý | |
* pDataPtr Êý¾ÝÖ¸Õë | |
* iDataLen Êý¾Ý³¤¶È | |
* iFlag | |
* (OUT)£ºÎÞ | |
* ·µ »Ø Öµ : ³É¹¦·µ»ØZATI2_SUCCESS£»Ê§°Ü·µ»Ø´íÎóÔÒò£» | |
* ÆäËü˵Ã÷ : Ìṩ¸øÓû§·½º¯Êý½Ó¿Ú | |
**************************************************************************/ | |
SINT32 zAti2_Send(UINT8 iChnelId, UINT8 *pDataPtr, UINT16 iDataLen, T_zAti2_CtrmChInd iFlag); | |
/************************************************************************** | |
* º¯ÊýÃû³Æ : zAti2_IsAtChReady | |
* ¹¦ÄÜÃèÊö : È·ÈÏÖ¸¶¨Í¨µÀ״̬ | |
* ²ÎÊý˵Ã÷ : (IN)£º | |
* chID ͨµÀID | |
* (OUT)£ºÎÞ | |
* ·µ »Ø Öµ : ͨµÀ¿ÉÓ÷µ»ØOK,·ñÔò·µ»ØFALSE | |
* ÆäËü˵Ã÷ : Ìṩ¸øÓû§·½º¯Êý½Ó¿Ú | |
**************************************************************************/ | |
BOOL zAti2_IsAtChReady(UINT8 chID); | |
/************************************************************************** | |
* º¯ÊýÃû³Æ : zAt_AutoTestInit | |
* ¹¦ÄÜÃèÊö : Éϵç×Ô¶¯¿ª»ú | |
**************************************************************************/ | |
UINT32 zAt_AutoTestInit(VOID); | |
/********************************************************************** | |
*º¯ÊýÃû³Æ:zAti_SmIpPdpActReq | |
*¹¦ÄÜÃèÊö:»ñÈ¡CIDµÄµØÖ·ÐÅÏ¢ | |
*²ÎÊý˵Ã÷: | |
* iChnelId ͨµÀID | |
* pAddr (OUT)µØÖ·ÐÅÏ¢ | |
*********************************************************************/ | |
BOOL zAti_SmIpPdpActReq(UINT8 iChnelId, T_ZAti_SmIpDnsInfo* pAddr); | |
VOID zUsat_RegisterSendMsgFun(ZUSAT_SENDATCMDTOACCESSCHANNEL_FUNC tmpFun); | |
void zUsat_SendAtCmd(UINT32 dev_fd, const UINT8 *strAtCmd, UINT16 atCmdLen, UINT32 extData); | |
extern BYTE zAti_PppGetCid(BYTE bChnelId); | |
/************************************************************************** | |
* º¯ÊýÃû³Æ : zAti_GetEMCellInfo | |
* ¹¦ÄÜÃèÊö : »ñÈ¡¹¤³ÌÄ£Ê½Ð¡ÇøÐÅÏ¢ | |
* ²ÎÊý˵Ã÷ : pEmInfo: ½á¹¹ÓÃT_zEM_EmInfo_Ind | |
* bInstanceIdx: ´ý»ú²àʵÀýË÷ÒýºÅ,0±íʾ´ý»ú²à1£»1±íʾ´ý»ú²à2 | |
* µ¥´ý°æ±¾Ìî0£»Ë«´ý°æ±¾¸ù¾Ýʵ¼Ê´ý»ú²àÌîд0»òÕß1 | |
* ·µ »Ø Öµ : ³É¹¦·µ»ØZATI2_SUCCESS (0) | |
* ÆäËü˵Ã÷ : Ìṩ¸øÓû§·½º¯Êý½Ó¿Ú£¬·µ»ØÊ§°Ü˵Ã÷ÔÝʱûÓлñÈ¡µ½ | |
**************************************************************************/ | |
SINT32 zAti_GetEMCellInfo(UINT8 *pEmInfo, UINT8 bInstanceIdx); | |
#endif | |