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 #define MAX_SMS_ROUTES 0x0A
00023 #define NUM_OF_SET 0xFF
00024
00072 ULONG SLQSDeleteSMS(
00073 ULONG storageType,
00074 ULONG *pMessageIndex,
00075 ULONG *pMessageTag,
00076 BYTE *pMessageMode );
00077
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
00160 ULONG SendSMS(
00161 ULONG messageFormat,
00162 ULONG messageSize,
00163 BYTE *pMessage,
00164 ULONG *pMessageFailureCode );
00165
00188 typedef struct
00189 {
00190 ULONG messageFormat;
00191 ULONG messageSize;
00192 BYTE *pMessage;
00193 USHORT messageID;
00194 ULONG messageFailureCode;
00195 }slqssendsmsparams_s;
00196
00211 ULONG SLQSSendSMS( slqssendsmsparams_s *pSendSmsParams );
00212
00239 ULONG GetSMSCAddress(
00240 BYTE addressSize,
00241 CHAR *pSMSCAddress,
00242 BYTE typeSize,
00243 CHAR *pSMSCType );
00244
00263 ULONG SetSMSCAddress(
00264 CHAR *pSMSCAddress,
00265 CHAR *pSMSCType );
00266
00299 ULONG SaveSMS(
00300 ULONG storageType,
00301 ULONG messageFormat,
00302 ULONG messageSize,
00303 BYTE *pMessage,
00304 ULONG *pMessageIndex );
00305
00343 ULONG SLQSGetSMSList(
00344 ULONG storageType,
00345 ULONG *pRequestedTag,
00346 ULONG *pMessageListSize,
00347 BYTE *pMessageList,
00348 BYTE *pMessageMode );
00349
00379 ULONG SLQSModifySMSStatus(
00380 ULONG storageType,
00381 ULONG messageIndex,
00382 ULONG messageTag,
00383 BYTE *pMessageMode );
00384
00401 struct BroadcastConfig
00402 {
00403 WORD fromServiceId;
00404 WORD toServiceId;
00405 BYTE selected;
00406 };
00407
00430 typedef struct _qaQmi3GPPBroadcastCfgInfo {
00431 BYTE activated_ind;
00432 WORD num_instances;
00433 struct BroadcastConfig broadcastConfig[CONFIG_LEN];
00434 } qaQmi3GPPBroadcastCfgInfo;
00435
00451 struct CDMABroadcastConfig
00452 {
00453 WORD serviceCategory;
00454 WORD language;
00455 BYTE selected;
00456 };
00457
00480 typedef struct _qaQmi3GPP2BroadcastCfgInfo
00481 {
00482 BYTE activated_ind;
00483 WORD num_instances;
00484 struct CDMABroadcastConfig CDMABroadcastConfig[CONFIG_LEN];
00485 } qaQmi3GPP2BroadcastCfgInfo;
00486
00508 ULONG SLQSGetSmsBroadcastConfig(
00509 BYTE mode,
00510 qaQmi3GPPBroadcastCfgInfo *pBroadcastConfig,
00511 qaQmi3GPP2BroadcastCfgInfo *pCDMABroadcastConfig );
00512
00534 ULONG SLQSSetSmsBroadcastConfig(
00535 BYTE mode,
00536 qaQmi3GPPBroadcastCfgInfo *pBroadcastConfig,
00537 qaQmi3GPP2BroadcastCfgInfo *pCDMABroadcastConfig );
00538
00559 ULONG SLQSSetSmsBroadcastActivation(
00560 BYTE mode,
00561 BYTE broadcastActivate );
00562
00640 struct cdmaMsgEncodingParams
00641 {
00642 BYTE *pMessageSize;
00643 BYTE *pMessage;
00644 BYTE messageId;
00645 CHAR *pDestAddr;
00646 CHAR *pCallbackAddr;
00647 ULONG textMsgLength;
00648 WORD *pTextMsg;
00649 BYTE *pPriority;
00650 BYTE *pEncodingAlphabet;
00651 BYTE *pRelValidity;
00652 };
00653
00667 ULONG SLQSCDMAEncodeMOTextMsg(
00668 struct cdmaMsgEncodingParams *pCdmaMsgEncodingParams );
00669
00803 struct cdmaMsgDecodingParams
00804 {
00805 ULONG messageLength;
00806 BYTE *pMessage;
00807 ULONG *pMessageID;
00808 BYTE *pSenderAddrLength;
00809 CHAR *pSenderAddr;
00810 BYTE *pTextMsgLength;
00811 WORD *pTextMsg;
00812 BYTE *pPriority;
00813 BYTE *pPrivacy;
00814 BYTE *pLanguage;
00815 BYTE mcTimeStamp[TIME_STAMP_BUF];
00816 BYTE absoluteValidity[ABSOLUTE_VALIDITY];
00817 BYTE *pRelativeValidity;
00818 BYTE *pDisplayMode;
00819 BOOL *pUserAcknowledgementReq;
00820 BOOL *pReadAcknowledgementReq;
00821 BYTE *pAlertPriority;
00822 BYTE *pCallbkAddrLength;
00823 CHAR *pCallbkAddr;
00824 };
00825
00840 ULONG SLQSCDMADecodeMTTextMsg(
00841 struct cdmaMsgDecodingParams *pCdmaMsgDecodingParams );
00842
00859 struct wcdmaMsgEncodingParams
00860 {
00861 ULONG messageSize;
00862 CHAR *pDestAddr;
00863 CHAR *pTextMsg;
00864 CHAR *pPDUMessage;
00865 BYTE alphabet;
00866 };
00867
00881 ULONG SLQSWCDMAEncodeMOTextMsg(
00882 struct wcdmaMsgEncodingParams *pWcdmaMsgEncodingParams);
00883
00924 struct wcdmaMsgDecodingParams
00925 {
00926 BYTE *pMessage;
00927 BYTE *pSenderAddrLength;
00928 CHAR *pSenderAddr;
00929 BYTE *pTextMsgLength;
00930 CHAR *pTextMsg;
00931 BYTE *pScAddrLength;
00932 CHAR *pScAddr;
00933 BYTE Time[TIME_DATE_BUF];
00934 BYTE Date[TIME_DATE_BUF];
00935 };
00936
00950 ULONG SLQSWCDMADecodeMTTextMsg(
00951 struct wcdmaMsgDecodingParams *pWcdmaMsgDecodingParams);
00952
00966 typedef struct _transLayerinfo
00967 {
00968 BYTE TransType;
00969 BYTE TransCap;
00970 } transLayerInfo;
00971
00991 typedef struct _getTransLayerInfoResp
00992 {
00993 BYTE *pRegInd;
00994 transLayerInfo *pTransLayerInfo;
00995 } getTransLayerInfoResp;
00996
01011 ULONG SLQSGetTransLayerInfo (
01012 getTransLayerInfoResp *pGetTransLayerInfoResp );
01013
01032 typedef struct _getTransNWRegInfoResp
01033 {
01034 BYTE *pRegStatus;
01035 } getTransNWRegInfoResp;
01036
01051 ULONG SLQSGetTransNWRegInfo (
01052 getTransNWRegInfoResp *pGetTransNWRegInfoResp );
01053
01088 typedef struct _getIndicationRegResp
01089 {
01090 BYTE *pRegTransLayerInfoEvt;
01091 BYTE *pRegTransNWRegInfoEvt;
01092 BYTE *pRegCallStatInfoEvt;
01093 } getIndicationRegResp;
01094
01109 ULONG SLQSGetIndicationRegister (
01110 getIndicationRegResp *pGetIndicationRegInfo );
01111
01146 typedef struct _setIndicationRegReq
01147 {
01148 BYTE *pRegTransLayerInfoEvt;
01149 BYTE *pRegTransNWRegInfoEvt;
01150 BYTE *pRegCallStatInfoEvt;
01151 } setIndicationRegReq;
01152
01166 ULONG SLQSSetIndicationRegister (
01167 setIndicationRegReq *pSetIndicationRegReq );
01168
01206 typedef struct
01207 {
01208 BYTE messageType;
01209 BYTE messageClass;
01210 BYTE routeStorage;
01211 BYTE receiptAction;
01212 } smsRouteEntry;
01213
01226 typedef struct
01227 {
01228 WORD numOfRoutes;
01229 smsRouteEntry routeList[MAX_SMS_ROUTES];
01230 BYTE *pTransferStatusReport;
01231 } smsSetRoutesReq;
01232
01248 ULONG SLQSSmsSetRoutes (smsSetRoutesReq *pSetRoutesReq);
01249
01259 typedef struct
01260 {
01261 BYTE msgProtocol;
01262 } smsMsgprotocolResp;
01263
01277 ULONG SLQSSmsGetMessageProtocol ( smsMsgprotocolResp *pMessageProtocol );
01278
01295 typedef struct
01296 {
01297 BYTE storageType;
01298 BYTE *pMessageMode;
01299 } smsMaxStorageSizeReq;
01300
01301
01314 typedef struct
01315 {
01316 ULONG maxStorageSize;
01317 ULONG freeSlots;
01318 } smsMaxStorageSizeResp;
01319
01339 ULONG SLQSSmsGetMaxStorageSize(
01340 smsMaxStorageSizeReq *pMaxStorageSizeReq,
01341 smsMaxStorageSizeResp *pMaxStorageSizeResp );
01342
01362 typedef struct
01363 {
01364 BYTE msgType;
01365 BYTE activeInd;
01366 BYTE msgCount;
01367 } messageWaitingInfoContent;
01368
01380 typedef struct
01381 {
01382 BYTE numInstances;
01383 messageWaitingInfoContent msgWaitInfo[NUM_OF_SET];
01384 } getMsgWaitingInfo;
01385
01400 ULONG SLQSGetMessageWaiting (
01401 getMsgWaitingInfo *pGetMsgWaitingInfoResp );
01402
01403
01404 #ifdef __cplusplus
01405 }
01406 #endif
01407
01408 #endif