00001
00011 #ifndef __GOBI_API_SMS_H__
00012 #define __GOBI_API_SMS_H__
00013
00014 #ifdef __cplusplus
00015 extern "C" {
00016 #endif
00017
00018 #define CONFIG_LEN 0x05
00019 #define TIME_STAMP_BUF 0x08
00020 #define ABSOLUTE_VALIDITY 0x08
00021 #define TIME_DATE_BUF 0x09
00022
00071 ULONG SLQSDeleteSMS(
00072 ULONG storageType,
00073 ULONG *pMessageIndex,
00074 ULONG *pMessageTag,
00075 BYTE *pMessageMode );
00076
00124 ULONG SLQSGetSMS(
00125 ULONG storageType,
00126 ULONG messageIndex,
00127 ULONG *pMessageTag,
00128 ULONG *pMessageFormat,
00129 ULONG *pMessageSize,
00130 BYTE *pMessage,
00131 BYTE *pMessageMode );
00132
00161 ULONG SendSMS(
00162 ULONG messageFormat,
00163 ULONG messageSize,
00164 BYTE *pMessage,
00165 ULONG *pMessageFailureCode );
00166
00189 typedef struct
00190 {
00191 ULONG messageFormat;
00192 ULONG messageSize;
00193 BYTE *pMessage;
00194 USHORT messageID;
00195 ULONG messageFailureCode;
00196 }slqssendsmsparams_s;
00197
00213 ULONG SLQSSendSMS( slqssendsmsparams_s *pSendSmsParams );
00214
00242 ULONG GetSMSCAddress(
00243 BYTE addressSize,
00244 CHAR *pSMSCAddress,
00245 BYTE typeSize,
00246 CHAR *pSMSCType );
00247
00267 ULONG SetSMSCAddress(
00268 CHAR *pSMSCAddress,
00269 CHAR *pSMSCType );
00270
00304 ULONG SaveSMS(
00305 ULONG storageType,
00306 ULONG messageFormat,
00307 ULONG messageSize,
00308 BYTE *pMessage,
00309 ULONG *pMessageIndex );
00310
00349 ULONG SLQSGetSMSList(
00350 ULONG storageType,
00351 ULONG *pRequestedTag,
00352 ULONG *pMessageListSize,
00353 BYTE *pMessageList,
00354 BYTE *pMessageMode );
00355
00386 ULONG SLQSModifySMSStatus(
00387 ULONG storageType,
00388 ULONG messageIndex,
00389 ULONG messageTag,
00390 BYTE *pMessageMode );
00391
00408 struct BroadcastConfig
00409 {
00410 WORD fromServiceId;
00411 WORD toServiceId;
00412 BYTE selected;
00413 };
00414
00437 typedef struct _qaQmi3GPPBroadcastCfgInfo {
00438 BYTE activated_ind;
00439 WORD num_instances;
00440 struct BroadcastConfig broadcastConfig[CONFIG_LEN];
00441 } qaQmi3GPPBroadcastCfgInfo;
00442
00458 struct CDMABroadcastConfig
00459 {
00460 WORD serviceCategory;
00461 WORD language;
00462 BYTE selected;
00463 };
00464
00487 typedef struct _qaQmi3GPP2BroadcastCfgInfo
00488 {
00489 BYTE activated_ind;
00490 WORD num_instances;
00491 struct CDMABroadcastConfig CDMABroadcastConfig[CONFIG_LEN];
00492 } qaQmi3GPP2BroadcastCfgInfo;
00493
00516 ULONG SLQSGetSmsBroadcastConfig(
00517 BYTE mode,
00518 qaQmi3GPPBroadcastCfgInfo *pBroadcastConfig,
00519 qaQmi3GPP2BroadcastCfgInfo *pCDMABroadcastConfig );
00520
00543 ULONG SLQSSetSmsBroadcastConfig(
00544 BYTE mode,
00545 qaQmi3GPPBroadcastCfgInfo *pBroadcastConfig,
00546 qaQmi3GPP2BroadcastCfgInfo *pCDMABroadcastConfig );
00547
00569 ULONG SLQSSetSmsBroadcastActivation(
00570 BYTE mode,
00571 BYTE broadcastActivate );
00572
00650 struct cdmaMsgEncodingParams
00651 {
00652 BYTE *pMessageSize;
00653 BYTE *pMessage;
00654 BYTE messageId;
00655 CHAR *pDestAddr;
00656 CHAR *pCallbackAddr;
00657 ULONG textMsgLength;
00658 WORD *pTextMsg;
00659 BYTE *pPriority;
00660 BYTE *pEncodingAlphabet;
00661 BYTE *pRelValidity;
00662 };
00663
00678 ULONG SLQSCDMAEncodeMOTextMsg(
00679 struct cdmaMsgEncodingParams *pCdmaMsgEncodingParams );
00680
00814 struct cdmaMsgDecodingParams
00815 {
00816 ULONG messageLength;
00817 BYTE *pMessage;
00818 ULONG *pMessageID;
00819 BYTE *pSenderAddrLength;
00820 CHAR *pSenderAddr;
00821 BYTE *pTextMsgLength;
00822 WORD *pTextMsg;
00823 BYTE *pPriority;
00824 BYTE *pPrivacy;
00825 BYTE *pLanguage;
00826 BYTE mcTimeStamp[TIME_STAMP_BUF];
00827 BYTE absoluteValidity[ABSOLUTE_VALIDITY];
00828 BYTE *pRelativeValidity;
00829 BYTE *pDisplayMode;
00830 BOOL *pUserAcknowledgementReq;
00831 BOOL *pReadAcknowledgementReq;
00832 BYTE *pAlertPriority;
00833 BYTE *pCallbkAddrLength;
00834 CHAR *pCallbkAddr;
00835 };
00836
00852 ULONG SLQSCDMADecodeMTTextMsg(
00853 struct cdmaMsgDecodingParams *pCdmaMsgDecodingParams );
00854
00871 struct wcdmaMsgEncodingParams
00872 {
00873 ULONG messageSize;
00874 CHAR *pDestAddr;
00875 CHAR *pTextMsg;
00876 CHAR *pPDUMessage;
00877 };
00878
00893 ULONG SLQSWCDMAEncodeMOTextMsg(
00894 struct wcdmaMsgEncodingParams *pWcdmaMsgEncodingParams);
00895
00936 struct wcdmaMsgDecodingParams
00937 {
00938 BYTE *pMessage;
00939 BYTE *pSenderAddrLength;
00940 CHAR *pSenderAddr;
00941 BYTE *pTextMsgLength;
00942 CHAR *pTextMsg;
00943 BYTE *pScAddrLength;
00944 CHAR *pScAddr;
00945 BYTE Time[TIME_DATE_BUF];
00946 BYTE Date[TIME_DATE_BUF];
00947 };
00948
00963 ULONG SLQSWCDMADecodeMTTextMsg(
00964 struct wcdmaMsgDecodingParams *pWcdmaMsgDecodingParams);
00965
00979 typedef struct _transLayerinfo
00980 {
00981 BYTE TransType;
00982 BYTE TransCap;
00983 } transLayerInfo;
00984
01004 typedef struct _getTransLayerInfoResp
01005 {
01006 BYTE *pRegInd;
01007 transLayerInfo *pTransLayerInfo;
01008 } getTransLayerInfoResp;
01009
01027 ULONG SLQSGetTransLayerInfo (
01028 getTransLayerInfoResp *pGetTransLayerInfoResp );
01029
01048 typedef struct _getTransNWRegInfoResp
01049 {
01050 BYTE *pRegStatus;
01051 } getTransNWRegInfoResp;
01052
01070 ULONG SLQSGetTransNWRegInfo (
01071 getTransNWRegInfoResp *pGetTransNWRegInfoResp );
01072
01107 typedef struct _getIndicationRegResp
01108 {
01109 BYTE *pRegTransLayerInfoEvt;
01110 BYTE *pRegTransNWRegInfoEvt;
01111 BYTE *pRegCallStatInfoEvt;
01112 } getIndicationRegResp;
01113
01131 ULONG SLQSGetIndicationRegister (
01132 getIndicationRegResp *pGetIndicationRegInfo );
01133
01168 typedef struct _setIndicationRegReq
01169 {
01170 BYTE *pRegTransLayerInfoEvt;
01171 BYTE *pRegTransNWRegInfoEvt;
01172 BYTE *pRegCallStatInfoEvt;
01173 } setIndicationRegReq;
01174
01192 ULONG SLQSSetIndicationRegister (
01193 setIndicationRegReq *pSetIndicationRegReq );
01194
01204 typedef struct
01205 {
01206 BYTE msgProtocol;
01207 } smsMsgprotocolResp;
01208
01224 ULONG SLQSSmsGetMessageProtocol ( smsMsgprotocolResp *pMessageProtocol );
01225
01242 typedef struct
01243 {
01244 BYTE storageType;
01245 BYTE *pMessageMode;
01246 } smsMaxStorageSizeReq;
01247
01248
01261 typedef struct
01262 {
01263 ULONG maxStorageSize;
01264 ULONG freeSlots;
01265 } smsMaxStorageSizeResp;
01266
01288 ULONG SLQSSmsGetMaxStorageSize(
01289 smsMaxStorageSizeReq *pMaxStorageSizeReq,
01290 smsMaxStorageSizeResp *pMaxStorageSizeResp );
01291
01292
01293 #ifdef __cplusplus
01294 }
01295 #endif
01296
01297 #endif