00001
00011 #ifndef __GOBI_API_DMS_H__
00012 #define __GOBI_API_DMS_H__
00013
00014 #define MAX_FSN_LENGTH 255
00015 #define MAX_BUILD_ID_LEN 255
00016 #define UNIQUE_ID_LEN 16
00017
00018 #define IMGDETAILS_LEN 16
00019
00020 #ifdef __cplusplus
00021 extern "C" {
00022 #endif
00023
00041 ULONG GetManufacturer(
00042 BYTE stringSize,
00043 CHAR *pString );
00044
00062 ULONG GetModelID(
00063 BYTE stringSize,
00064 CHAR *pString );
00065
00083 ULONG GetFirmwareRevision(
00084 BYTE stringSize,
00085 CHAR *pString );
00086
00118 ULONG GetFirmwareRevisions(
00119 BYTE amssSize,
00120 CHAR * pAMSSString,
00121 BYTE bootSize,
00122 CHAR * pBootString,
00123 BYTE priSize,
00124 CHAR * pPRIString );
00125
00140 ULONG GetPRLVersion(
00141 WORD * pPRLVersion );
00142
00160 ULONG GetIMSI(
00161 BYTE stringSize,
00162 CHAR * pString );
00163
00201 ULONG GetSerialNumbers(
00202 BYTE esnSize,
00203 CHAR *pESNString,
00204 BYTE imeiSize,
00205 CHAR *pIMEIString,
00206 BYTE meidSize,
00207 CHAR *pMEIDString );
00208
00226 ULONG GetHardwareRevision(
00227 BYTE stringSize,
00228 CHAR *pString );
00229
00256 ULONG GetNetworkTime(
00257 ULONGLONG *pTimeStamp,
00258 ULONG *pTimeSource );
00259
00292 ULONG UIMSetPINProtection(
00293 ULONG id,
00294 ULONG bEnable,
00295 CHAR *pValue,
00296 ULONG *pVerifyRetriesLeft,
00297 ULONG *pUnblockRetriesLeft );
00298
00331 ULONG UIMUnblockPIN(
00332 ULONG id,
00333 CHAR *pPUKValue,
00334 CHAR *pNewValue,
00335 ULONG *pVerifyRetriesLeft,
00336 ULONG *pUnblockRetriesLeft );
00337
00367 ULONG UIMVerifyPIN(
00368 ULONG id,
00369 CHAR *pValue,
00370 ULONG *pVerifyRetriesLeft,
00371 ULONG *pUnblockRetriesLeft );
00372
00405 ULONG UIMChangePIN(
00406 ULONG id,
00407 CHAR *pOldValue,
00408 CHAR *pNewValue,
00409 ULONG *pVerifyRetriesLeft,
00410 ULONG *pUnblockRetriesLeft );
00411
00437 ULONG GetVoiceNumber(
00438 BYTE voiceNumberSize,
00439 CHAR *pVoiceNumber,
00440 BYTE minSize,
00441 CHAR *pMIN );
00442
00458 ULONG SetPower(
00459 ULONG powerMode );
00460
00475 ULONG GetPower(
00476 ULONG *pPowerMode );
00477
00511 ULONG UIMGetControlKeyStatus(
00512 ULONG id,
00513 ULONG *pStatus,
00514 ULONG *pVerifyRetriesLeft,
00515 ULONG *pUnblockRetriesLeft );
00516
00534 ULONG UIMGetICCID(
00535 BYTE stringSize,
00536 CHAR *pString );
00537
00573 ULONG UIMGetPINStatus(
00574 ULONG id,
00575 ULONG *pStatus,
00576 ULONG *pVerifyRetriesLeft,
00577 ULONG *pUnblockRetriesLeft );
00578
00602 ULONG GetOfflineReason(
00603 ULONG *pReasonMask,
00604 ULONG *pbPlatform );
00605
00637 ULONG UIMSetControlKeyProtection(
00638 ULONG id,
00639 ULONG status,
00640 CHAR *pValue,
00641 ULONG *pVerifyRetriesLeft );
00642
00670 ULONG UIMUnblockControlKey(
00671 ULONG id,
00672 CHAR *pValue,
00673 ULONG *pUnblockRetriesLeft );
00674
00720 ULONG GetDeviceCapabilities(
00721 ULONG *pMaxTXChannelRate,
00722 ULONG *pMaxRXChannelRate,
00723 ULONG *pDataServiceCapability,
00724 ULONG *pSimCapability,
00725 ULONG *pRadioIfacesSize,
00726 BYTE *pRadioIfaces );
00727
00742 ULONG ResetToFactoryDefaults(
00743 CHAR *pSPC );
00744
00761 ULONG ValidateSPC(
00762 CHAR *pSPC );
00763
00780 ULONG ActivateAutomatic(
00781 CHAR *pActivationCode );
00782
00829 ULONG ActivateManual(
00830 CHAR *pSPC,
00831 WORD sid,
00832 CHAR *pMDN,
00833 CHAR *pMIN,
00834 ULONG prlSize,
00835 BYTE *pPRL,
00836 CHAR *pMNHA,
00837 CHAR *pMNAAA );
00838
00852 typedef struct ERIFileparams
00853 {
00854 WORD *pFileSize;
00855 BYTE *pFile;
00856 }ERIFileparams;
00857
00875 ULONG SLQSGetERIFile(
00876 ERIFileparams *pERIFileparams );
00877
00903 ULONG GetActivationState(
00904 ULONG *pActivationState);
00905
00924 ULONG SLQSUIMGetState(
00925 ULONG *pUIMState);
00926
00981 ULONG SLQSGetBandCapability( ULONGLONG *pBandCapability );
00982
01034 typedef struct custFeaturesInfo
01035 {
01036 ULONG GpsEnable;
01037 BYTE *pDisableIMSI;
01038 WORD *pIPFamSupport;
01039 BYTE *pRMAutoConnect;
01040 BYTE *pGPSSel;
01041 }custFeaturesInfo;
01042
01057 ULONG SLQSGetCustFeatures(
01058 custFeaturesInfo *pCustFeaturesInfo );
01059
01089 typedef struct custFeaturesSetting
01090 {
01091 BYTE *pGPSSel;
01092 ULONG *pGPSEnable;
01093 }custFeaturesSetting;
01094
01109 ULONG SLQSSetCustFeatures(
01110 custFeaturesSetting *pCustFeaturesSetting );
01111
01123 typedef struct dmsCurrentPRLInfo
01124 {
01125 WORD *pPRLVersion;
01126 BYTE *pPRLPreference;
01127 } dmsCurrentPRLInfo;
01128
01144 ULONG SLQSGetCurrentPRLInfo(
01145 dmsCurrentPRLInfo *pCurrentPRLInfo );
01146
01155 typedef struct
01156 {
01157 BYTE FSNumber[MAX_FSN_LENGTH];
01158 } FactorySequenceNumber;
01159
01175 ULONG SLQSSwiGetFSN( FactorySequenceNumber *pFSNumber);
01176
01197 typedef struct
01198 {
01199 BYTE imageType;
01200 BYTE uniqueID[UNIQUE_ID_LEN];
01201 BYTE buildIDLen;
01202 BYTE buildID[MAX_BUILD_ID_LEN];
01203 } CurrImageInfo;
01204
01228 typedef struct
01229 {
01230 BYTE numEntries;
01231 CurrImageInfo *pCurrImgInfo;
01232 CHAR priver[IMGDETAILS_LEN];
01233 CHAR pkgver[IMGDETAILS_LEN];
01234 CHAR fwvers[IMGDETAILS_LEN];
01235 CHAR carrier[IMGDETAILS_LEN];
01236 } CurrentImgList;
01237
01254 ULONG SLQSSwiGetFirmwareCurr( CurrentImgList *pCurrentImgList );
01255
01256 #ifdef __cplusplus
01257 }
01258 #endif
01259
01260 #endif