00001
00011 #ifndef __GOBI_API_NAS_H__
00012 #define __GOBI_API_NAS_H__
00013
00014 #define SLQS_SS_INFO_LIST_MAX_ELEMENTS 18
00015 #define MAX_DESCRIPTION_LENGTH 255
00016 #define SLQS_SYSTEM_ID_SIZE 16
00017 #define PLMN_LENGTH 3
00018 #define MAX_SERV_SYSTEM_RADIO_INTERFACES 0x0A
00019 #define MAX_DATA_SRV_CAPABILITIES 0x20
00020 #define NAM_NAME_LENGTH 12
00021 #define IMSI_M_S1_LENGTH 7
00022 #define IMSI_M_S2_LENGTH 3
00023
00024 #ifdef __cplusplus
00025 extern "C" {
00026 #endif
00027
00046 ULONG GetSignalStrength(
00047 INT8 *pSignalStrength,
00048 ULONG *pRadioInterface );
00049
00075 ULONG GetSignalStrengths(
00076 ULONG *pArraySizes,
00077 INT8 *pSignalStrength,
00078 ULONG *pRadioInterface );
00079
00101 ULONG PerformNetworkScan(
00102 BYTE *pInstanceSize,
00103 BYTE *pInstances );
00104
00132 ULONG InitiateNetworkRegistration(
00133 ULONG regType,
00134 WORD mcc,
00135 WORD mnc,
00136 ULONG rat );
00137
00203 ULONG GetServingNetwork(
00204 ULONG *pRegistrationState,
00205 ULONG *pCSDomain,
00206 ULONG *pPSDomain,
00207 ULONG *pRAN,
00208 BYTE *pRadioIfacesSize,
00209 BYTE *pRadioIfaces,
00210 ULONG *pRoaming,
00211 WORD *pMCC,
00212 WORD *pMNC,
00213 BYTE nameSize,
00214 CHAR *pName );
00215
00250 ULONG GetHomeNetwork(
00251 WORD *pMCC,
00252 WORD *pMNC,
00253 BYTE nameSize,
00254 CHAR *pName,
00255 WORD *pSID,
00256 WORD *pNID );
00257
00291 ULONG GetServingNetworkCapabilities(
00292 BYTE *pDataCapsSize,
00293 BYTE *pDataCaps );
00294
00326 ULONG SetNetworkPreference(
00327 ULONG technologyPref,
00328 ULONG duration );
00329
00370 ULONG GetNetworkPreference(
00371 ULONG *pTechnologyPref,
00372 ULONG *pDuration,
00373 ULONG *pPersistentTechnologyPref );
00374
00390 struct RFBandInfoElements
00391 {
00392 ULONG radioInterface;
00393 ULONG activeBandClass;
00394 ULONG activeChannel;
00395 };
00396
00417 ULONG GetRFInfo(
00418 BYTE *pInstanceSize,
00419 BYTE *pInstances );
00420
00436 ULONG InitiateDomainAttach(
00437 ULONG action );
00438
00453 ULONG GetACCOLC(
00454 BYTE *pACCOLC );
00455
00473 ULONG SetACCOLC(
00474 CHAR *spc,
00475 BYTE accolc );
00476
00544 ULONG SetCDMANetworkParameters(
00545 CHAR *pSPC,
00546 BYTE *pForceRev0,
00547 BYTE *pCustomSCP,
00548 ULONG *pProtocol,
00549 ULONG *pBroadcast,
00550 ULONG *pApplication,
00551 ULONG *pRoaming );
00552
00633 ULONG GetCDMANetworkParameters(
00634 BYTE *pSCI,
00635 BYTE *pSCM,
00636 BYTE *pRegHomeSID,
00637 BYTE *pRegForeignSID,
00638 BYTE *pRegForeignNID,
00639 BYTE *pForceRev0,
00640 BYTE *pCustomSCP,
00641 ULONG *pProtocol,
00642 ULONG *pBroadcast,
00643 ULONG *pApplication,
00644 ULONG *pRoaming );
00645
00663 ULONG GetANAAAAuthenticationStatus(
00664 ULONG *pStatus );
00665
00720 typedef struct {
00721 BYTE regState;
00722 BYTE csAttachState;
00723 BYTE psAttachState;
00724 BYTE selNetwork;
00725 BYTE numRadioInterfaces;
00726 BYTE radioInterface[MAX_SERV_SYSTEM_RADIO_INTERFACES];
00727 }servSystem;
00728
00756 typedef struct {
00757 BYTE dataCapabilitiesLen;
00758 BYTE dataCapabilities[MAX_DATA_SRV_CAPABILITIES];
00759 }dataSrvCapabilities;
00760
00785 typedef struct {
00786 WORD MCC;
00787 WORD MNC;
00788 BYTE netDescrLength;
00789 BYTE netDescr[255];
00790 }currentPLMN;
00791
00819 typedef struct {
00820 BYTE numInstances;
00821 BYTE radioInterface[MAX_SERV_SYSTEM_RADIO_INTERFACES];
00822 BYTE roamIndicator[MAX_SERV_SYSTEM_RADIO_INTERFACES];
00823 }roamIndList;
00824
00843 typedef struct {
00844 BYTE leapSeconds;
00845 BYTE localTimeOffset;
00846 BYTE daylightSavings;
00847 }qaQmi3Gpp2TimeZone;
00848
00895 typedef struct {
00896 BYTE srvStatus;
00897 BYTE srvCapability;
00898 BYTE hdrSrvStatus;
00899 BYTE hdrHybrid;
00900 BYTE isSysForbidden;
00901 }detailSvcInfo;
00902
00914 typedef struct {
00915 WORD MCC;
00916 BYTE imsi_11_12;
00917 }CDMASysInfoExt;
00918
00950 typedef struct {
00951 ULONG csBarStatus;
00952 ULONG psBarStatus;
00953 }callBarStatus;
00954
01077 typedef struct {
01078 servSystem ServingSystem;
01079 BYTE roamIndicatorVal;
01080 dataSrvCapabilities DataSrvCapabilities;
01081 currentPLMN CurrentPLMN;
01082 WORD SystemID;
01083 WORD NetworkID;
01084 WORD BasestationID;
01085 ULONG BasestationLatitude;
01086 ULONG BasestationLongitude;
01087 roamIndList RoamingIndicatorList;
01088 BYTE defaultRoamInd;
01089 qaQmi3Gpp2TimeZone Gpp2TimeZone;
01090 BYTE CDMA_P_Rev;
01091 BYTE GppTimeZone;
01092 BYTE GppNetworkDSTAdjustment;
01093 WORD Lac;
01094 ULONG CellID;
01095 BYTE concSvcInfo;
01096 BYTE PRLInd;
01097 BYTE DTMInd;
01098 detailSvcInfo DetailedSvcInfo;
01099 CDMASysInfoExt CDMASystemInfoExt;
01100 BYTE hdrPersonality;
01101 WORD trackAreaCode;
01102 callBarStatus CallBarStatus;
01103 }qaQmiServingSystemParam;
01104
01117 ULONG SLQSGetServingSystem( qaQmiServingSystemParam *pServingSystem );
01118
01176 ULONG SLQSSetBandPreference( ULONGLONG bandpreference );
01177
01219 ULONG SLQSNasIndicationRegister(
01220 BYTE systemSelectionInd,
01221 BYTE DDTMInd,
01222 BYTE servingSystemInd);
01223
01247 struct rxSignalStrengthListElement
01248 {
01249 SHORT rxSignalStrength;
01250 BYTE radioIf;
01251 };
01252
01268 struct ecioListElement
01269 {
01270 SHORT ecio;
01271 BYTE radioIf;
01272 };
01273
01314 struct errorRateListElement
01315 {
01316 USHORT errorRate;
01317 BYTE radioIf;
01318 };
01319
01331 struct rsrqInformation
01332 {
01333 INT8 rsrq;
01334 BYTE radioIf;
01335 };
01336
01406 struct slqsSignalStrengthInfo
01407 {
01408 USHORT signalStrengthReqMask;
01409 USHORT rxSignalStrengthListLen;
01410 struct rxSignalStrengthListElement rxSignalStrengthList[SLQS_SS_INFO_LIST_MAX_ELEMENTS];
01411 USHORT ecioListLen;
01412 struct ecioListElement ecioList[SLQS_SS_INFO_LIST_MAX_ELEMENTS];
01413 ULONG Io;
01414 BYTE sinr;
01415 USHORT errorRateListLen;
01416 struct errorRateListElement errorRateList[SLQS_SS_INFO_LIST_MAX_ELEMENTS];
01417 struct rsrqInformation rsrqInfo;
01418 };
01419
01433 ULONG SLQSGetSignalStrength( struct slqsSignalStrengthInfo *pSignalInfo );
01434
01472 struct SlqsNas3GppNetworkInfo
01473 {
01474 WORD MCC;
01475 WORD MNC;
01476 ULONG InUse;
01477 ULONG Roaming;
01478 ULONG Forbidden;
01479 ULONG Preferred;
01480 CHAR Description[MAX_DESCRIPTION_LENGTH];
01481 };
01482
01498 struct SlqsNas3GppNetworkRAT
01499 {
01500 WORD MCC;
01501 WORD MNC;
01502 BYTE RAT;
01503 };
01504
01529 typedef struct _slqsNetworkScanInfo
01530 {
01531 BYTE *pNetworkInfoInstances;
01532 struct SlqsNas3GppNetworkInfo *pNetworkInfo;
01533 BYTE *pRATInstances;
01534 struct SlqsNas3GppNetworkRAT *pRATInfo;
01535 } slqsNetworkScanInfo;
01536
01554 ULONG SLQSPerformNetworkScan( slqsNetworkScanInfo *pNetworkInfo );
01555
01575 struct netSelectionPref
01576 {
01577 BYTE netReg;
01578 WORD mcc;
01579 WORD mnc;
01580 };
01581
01598 struct acqOrderPref
01599 {
01600 BYTE acqOrdeLen;
01601 BYTE *pAcqOrder;
01602 };
01603
01630 struct CSGID
01631 {
01632 WORD mcc;
01633 WORD mnc;
01634 BYTE mncPcsDigits;
01635 ULONG id;
01636 BYTE rat;
01637 };
01638
01797 typedef struct _sysSelectPrefParams
01798 {
01799 BYTE *pEmerMode;
01800 WORD *pModePref;
01801 ULONGLONG *pBandPref;
01802 WORD *pPRLPref;
01803 WORD *pRoamPref;
01804 ULONGLONG *pLTEBandPref;
01805 struct netSelectionPref *pNetSelPref;
01806 BYTE *pChgDuration;
01807 BYTE *pMNCIncPCSDigStat;
01808 ULONG *pSrvDomainPref;
01809 ULONG *pGWAcqOrderPref;
01810 ULONGLONG *pTdscdmaBandPref;
01811 struct acqOrderPref *pAcqOrderPref;
01812 ULONG *pSrvRegRestriction;
01813 struct CSGID *pCSGID;
01814 } sysSelectPrefParams;
01815
01829 ULONG SLQSSetSysSelectionPref( sysSelectPrefParams *pSysSelectPrefParams );
01830
01994 typedef struct _sysSelectPrefInfo
01995 {
01996 BYTE *pEmerMode;
01997 WORD *pModePref;
01998 ULONGLONG *pBandPref;
01999 WORD *pPRLPref;
02000 WORD *pRoamPref;
02001 ULONGLONG *pLTEBandPref;
02002 BYTE *pNetSelPref;
02003 ULONG *pSrvDomainPref;
02004 ULONG *pGWAcqOrderPref;
02005 } sysSelectPrefInfo;
02006
02020 ULONG SLQSGetSysSelectionPref( sysSelectPrefInfo *pSysSelectPrefInfo );
02021
02042 typedef struct
02043 {
02044 BYTE srvStatus;
02045 BYTE isPrefDataPath;
02046 } SrvStatusInfo;
02047
02078 typedef struct
02079 {
02080 BYTE srvStatus;
02081 BYTE trueSrvStatus;
02082 BYTE isPrefDataPath;
02083 } GSMSrvStatusInfo;
02084
02161 typedef struct
02162 {
02163 BYTE srvDomainValid;
02164 BYTE srvDomain;
02165 BYTE srvCapabilityValid;
02166 BYTE srvCapability;
02167 BYTE roamStatusValid;
02168 BYTE roamStatus;
02169 BYTE isSysForbiddenValid;
02170 BYTE isSysForbidden;
02171 } sysInfoCommon;
02172
02290 typedef struct
02291 {
02292 sysInfoCommon sysInfoCDMA;
02293 BYTE isSysPrlMatchValid;
02294 BYTE isSysPrlMatch;
02295 BYTE pRevInUseValid;
02296 BYTE pRevInUse;
02297 BYTE bsPRevValid;
02298 BYTE bsPRev;
02299 BYTE ccsSupportedValid;
02300 BYTE ccsSupported;
02301 BYTE cdmaSysIdValid;
02302 WORD systemID;
02303 WORD networkID;
02304 BYTE bsInfoValid;
02305 WORD baseId;
02306 ULONG baseLat;
02307 ULONG baseLong;
02308 BYTE packetZoneValid;
02309 WORD packetZone;
02310 BYTE networkIdValid;
02311 BYTE MCC[PLMN_LENGTH];
02312 BYTE MNC[PLMN_LENGTH];
02313 } CDMASysInfo;
02314
02379 typedef struct
02380 {
02381 sysInfoCommon sysInfoHDR;
02382 BYTE isSysPrlMatchValid;
02383 BYTE isSysPrlMatch;
02384 BYTE hdrPersonalityValid;
02385 BYTE hdrPersonality;
02386 BYTE hdrActiveProtValid;
02387 BYTE hdrActiveProt;
02388 BYTE is856SysIdValid;
02389 BYTE is856SysId[SLQS_SYSTEM_ID_SIZE];
02390 } HDRSysInfo;
02391
02482 typedef struct
02483 {
02484 sysInfoCommon sysInfoGSM;
02485 BYTE lacValid;
02486 WORD lac;
02487 BYTE cellIdValid;
02488 ULONG cellId;
02489 BYTE regRejectInfoValid;
02490 BYTE rejectSrvDomain;
02491 BYTE rejCause;
02492 BYTE networkIdValid;
02493 BYTE MCC[PLMN_LENGTH];
02494 BYTE MNC[PLMN_LENGTH];
02495 BYTE egprsSuppValid;
02496 BYTE egprsSupp;
02497 BYTE dtmSuppValid;
02498 BYTE dtmSupp;
02499 } GSMSysInfo;
02500
02613 typedef struct
02614 {
02615 sysInfoCommon sysInfoWCDMA;
02616 BYTE lacValid;
02617 WORD lac;
02618 BYTE cellIdValid;
02619 ULONG cellId;
02620 BYTE regRejectInfoValid;
02621 BYTE rejectSrvDomain;
02622 BYTE rejCause;
02623 BYTE networkIdValid;
02624 BYTE MCC[PLMN_LENGTH];
02625 BYTE MNC[PLMN_LENGTH];
02626 BYTE hsCallStatusValid;
02627 BYTE hsCallStatus;
02628 BYTE hsIndValid;
02629 BYTE hsInd;
02630 BYTE pscValid;
02631 WORD psc;
02632 } WCDMASysInfo;
02633
02709 typedef struct
02710 {
02711 sysInfoCommon sysInfoLTE;
02712 BYTE lacValid;
02713 WORD lac;
02714 BYTE cellIdValid;
02715 ULONG cellId;
02716 BYTE regRejectInfoValid;
02717 BYTE rejectSrvDomain;
02718 BYTE rejCause;
02719 BYTE networkIdValid;
02720 BYTE MCC[PLMN_LENGTH];
02721 BYTE MNC[PLMN_LENGTH];
02722 BYTE tacValid;
02723 WORD tac;
02724 } LTESysInfo;
02725
02739 typedef struct
02740 {
02741 WORD geoSysIdx;
02742 WORD regPrd;
02743 } AddCDMASysInfo;
02744
02761 typedef struct
02762 {
02763 WORD geoSysIdx;
02764 ULONG cellBroadcastCap;
02765 } AddSysInfo;
02766
02787 typedef struct
02788 {
02789 ULONG csBarStatus;
02790 ULONG psBarStatus;
02791 } CallBarringSysInfo;
02792
02871 typedef struct
02872 {
02873 SrvStatusInfo *pCDMASrvStatusInfo;
02874 SrvStatusInfo *pHDRSrvStatusInfo;
02875 GSMSrvStatusInfo *pGSMSrvStatusInfo;
02876 GSMSrvStatusInfo *pWCDMASrvStatusInfo;
02877 GSMSrvStatusInfo *pLTESrvStatusInfo;
02878 CDMASysInfo *pCDMASysInfo;
02879 HDRSysInfo *pHDRSysInfo;
02880 GSMSysInfo *pGSMSysInfo;
02881 WCDMASysInfo *pWCDMASysInfo;
02882 LTESysInfo *pLTESysInfo;
02883 AddCDMASysInfo *pAddCDMASysInfo;
02884 WORD *pAddHDRSysInfo;
02885 AddSysInfo *pAddGSMSysInfo;
02886 AddSysInfo *pAddWCDMASysInfo;
02887 WORD *pAddLTESysInfo;
02888 CallBarringSysInfo *pGSMCallBarringSysInfo;
02889 CallBarringSysInfo *pWCDMACallBarringSysInfo;
02890 BYTE *pLTEVoiceSupportSysInfo;
02891 BYTE *pGSMCipherDomainSysInfo;
02892 BYTE *pWCDMACipherDomainSysInfo;
02893 } nasGetSysInfoResp;
02894
02915 ULONG SLQSNasGetSysInfo( nasGetSysInfoResp *pGetSysInfoResp );
02916
02970 typedef struct
02971 {
02972 BYTE temperature;
02973 BYTE modemMode;
02974 BYTE systemMode;
02975 BYTE imsRegState;
02976 BYTE psState;
02977 } CommInfo;
02978
03053 typedef struct
03054 {
03055 BYTE band;
03056 BYTE bandwidth;
03057 WORD RXChan;
03058 WORD TXChan;
03059 BYTE emmState;
03060 BYTE emmSubState;
03061 BYTE emmConnState;
03062 } LTEInfo;
03063
03075 typedef struct
03076 {
03077 CommInfo commonInfo;
03078 LTEInfo *pLTEInfo;
03079 } swiModemStatusResp;
03080
03094 ULONG SLQSNasSwiModemStatus( swiModemStatusResp *pModemStatusResp );
03095
03108 typedef struct
03109 {
03110 BYTE *pColorCode;
03111 } nasGetHDRColorCodeResp;
03112
03126 ULONG SLQSNasGetHDRColorCode( nasGetHDRColorCodeResp *pGetHDRColorCodeResp );
03127
03139 typedef struct
03140 {
03141 BYTE radio_if;
03142 } nasGetTxRxInfoReq;
03143
03179 typedef struct
03180 {
03181 BYTE isRadioTuned;
03182 ULONG rxPower;
03183 ULONG ecio;
03184 ULONG rscp;
03185 ULONG rsrp;
03186 ULONG phase;
03187 } rxInfo;
03188
03204 typedef struct
03205 {
03206 BYTE isInTraffic;
03207 ULONG txPower;
03208 } txInfo;
03209
03223 typedef struct
03224 {
03225 rxInfo *pRXChain0Info;
03226 rxInfo *pRXChain1Info;
03227 txInfo *pTXInfo;
03228 } nasGetTxRxInfoResp;
03229
03249 ULONG SLQSNasGetTxRxInfo(
03250 nasGetTxRxInfoReq *pGetTxRxInfoReq,
03251 nasGetTxRxInfoResp *pGetTxRxInfoResp );
03252
03268 typedef struct
03269 {
03270 BYTE rssi;
03271 WORD ecio;
03272 } CDMASSInfo;
03273
03308 typedef struct
03309 {
03310 BYTE rssi;
03311 WORD ecio;
03312 BYTE sinr;
03313 ULONG io;
03314 } HDRSSInfo;
03315
03340 typedef struct
03341 {
03342 BYTE rssi;
03343 BYTE rsrq;
03344 WORD rsrp;
03345 WORD snr;
03346 } LTESSInfo;
03347
03355 typedef struct
03356 {
03357 BYTE rscp;
03358 } TDSCDMASigInfo;
03359
03377 typedef struct
03378 {
03379 ULONG rssi;
03380 ULONG rscp;
03381 ULONG ecio;
03382 ULONG sinr;
03383 } TDSCDMASigInfoExt;
03384
03405 typedef struct
03406 {
03407 CDMASSInfo *pCDMASSInfo;
03408 HDRSSInfo *pHDRSSInfo;
03409 BYTE *pGSMSSInfo;
03410 CDMASSInfo *pWCDMASSInfo;
03411 LTESSInfo *pLTESSInfo;
03412 } nasGetSigInfoResp;
03413
03432 ULONG SLQSNasGetSigInfo( nasGetSigInfoResp *pGetSigInfoResp );
03433
03527 typedef struct
03528 {
03529 BYTE *pSystemSelectionInd;
03530 BYTE *pDDTMInd;
03531 BYTE *pServingSystemInd;
03532 BYTE *pDualStandByPrefInd;
03533 BYTE *pSubscriptionInfoInd;
03534 BYTE *pNetworkTimeInd;
03535 BYTE *pSysInfoInd;
03536 BYTE *pSignalStrengthInd;
03537 BYTE *pErrorRateInd;
03538 BYTE *pHDRNewUATIAssInd;
03539 BYTE *pHDRSessionCloseInd;
03540 BYTE *pManagedRoamingInd;
03541 } nasIndicationRegisterReq;
03542
03565 ULONG SLQSNasIndicationRegisterExt(
03566 nasIndicationRegisterReq *pIndicationRegisterReq );
03567
03580 typedef struct
03581 {
03582 WORD mcc;
03583 WORD mnc;
03584 } nasPLMNNameReq;
03585
03689 typedef struct
03690 {
03691 BYTE spnEncoding;
03692 BYTE spnLength;
03693 BYTE spn[255];
03694 BYTE shortNameEn;
03695 BYTE shortNameCI;
03696 BYTE shortNameSB;
03697 BYTE shortNameLen;
03698 BYTE shortName[255];
03699 BYTE longNameEn;
03700 BYTE longNameCI;
03701 BYTE longNameSB;
03702 BYTE longNameLen;
03703 BYTE longName[255];
03704 } nasPLMNNameResp;
03705
03722 ULONG SLQSGetPLMNName(
03723 nasPLMNNameReq *pPLMNNameReq,
03724 nasPLMNNameResp *pPLMNNameResp );
03725
03750 typedef struct
03751 {
03752 BYTE mcc[PLMN_LENGTH];
03753 BYTE mnc[PLMN_LENGTH];
03754 WORD lac1;
03755 WORD lac2;
03756 BYTE PLMNRecID;
03757 } OperatorPLMNData;
03758
03769 typedef struct
03770 {
03771 BYTE numInstance;
03772 OperatorPLMNData PLMNData[MAX_DESCRIPTION_LENGTH];
03773 } operatorPLMNList;
03774
03790 typedef struct
03791 {
03792 BYTE displayCondition;
03793 BYTE spnLength;
03794 BYTE spn[MAX_DESCRIPTION_LENGTH];
03795 } serviceProviderName;
03796
03864 typedef struct
03865 {
03866 BYTE codingScheme;
03867 BYTE countryInitials;
03868 BYTE longNameSpareBits;
03869 BYTE shortNameSpareBits;
03870 BYTE longNameLen;
03871 BYTE longName[MAX_DESCRIPTION_LENGTH];
03872 BYTE shortNameLen;
03873 BYTE shortName[MAX_DESCRIPTION_LENGTH];
03874 } PLMNNetworkNameData;
03875
03886 typedef struct
03887 {
03888 BYTE numInstance;
03889 PLMNNetworkNameData PLMNNetName[MAX_DESCRIPTION_LENGTH];
03890 } PLMNNetworkName;
03891
03900 typedef struct
03901 {
03902 BYTE PLMNName[MAX_DESCRIPTION_LENGTH];
03903 } operatorNameString;
03904
03928 typedef struct
03929 {
03930 serviceProviderName *pSrvcProviderName;
03931 operatorPLMNList *pOperatorPLMNList;
03932 PLMNNetworkName *pPLMNNetworkName;
03933 operatorNameString *pOperatorNameString;
03934 PLMNNetworkNameData *pNITZInformation;
03935 } nasOperatorNameResp;
03936
03950 ULONG SLQSGetOperatorNameData( nasOperatorNameResp *pOperatorNameData );
03951
03960 typedef struct
03961 {
03962 BYTE namID;
03963 } nasGet3GPP2SubscriptionInfoReq;
03964
03978 typedef struct
03979 {
03980 BYTE namNameLen;
03981 BYTE namName[NAM_NAME_LENGTH];
03982 } namName;
03983
03996 typedef struct
03997 {
03998 BYTE dirNumLen;
03999 BYTE dirNum [MAX_DESCRIPTION_LENGTH];
04000 } dirNum;
04001
04012 typedef struct
04013 {
04014 WORD nid;
04015 WORD sid;
04016 } sidNid;
04017
04031 typedef struct
04032 {
04033 BYTE numInstances;
04034 sidNid SidNid[MAX_DESCRIPTION_LENGTH];
04035 } homeSIDNID;
04036
04055 typedef struct
04056 {
04057 BYTE mccM[PLMN_LENGTH];
04058 WORD imsiM1112;
04059 BYTE imsiMS1[IMSI_M_S1_LENGTH];
04060 BYTE imsiMS2[IMSI_M_S2_LENGTH];
04061 } minBasedIMSI;
04062
04084 typedef struct
04085 {
04086 BYTE mccT[PLMN_LENGTH];
04087 WORD imsiT1112;
04088 BYTE imsiTS1[IMSI_M_S1_LENGTH];
04089 BYTE imsiTS2[IMSI_M_S2_LENGTH];
04090 BYTE imsiTaddrNum;
04091 } trueIMSI;
04092
04113 typedef struct
04114 {
04115 WORD priChA;
04116 WORD priChB;
04117 WORD secChA;
04118 WORD secChB;
04119 } CDMAChannel;
04120
04144 typedef struct
04145 {
04146 namName *pNAMNameInfo;
04147 dirNum *pDirNum;
04148 homeSIDNID *pHomeSIDNID;
04149 minBasedIMSI *pMinBasedIMSI;
04150 trueIMSI *pTrueIMSI;
04151 CDMAChannel *pCDMAChannel;
04152 } nasGet3GPP2SubscriptionInfoResp;
04153
04174 ULONG SLQSNasGet3GPP2Subscription (
04175 nasGet3GPP2SubscriptionInfoReq *pGet3GPP2SubsInfoReq,
04176 nasGet3GPP2SubscriptionInfoResp *pGet3GPP2SubsInfoResp);
04177
04216 typedef struct
04217 {
04218 ULONG nmrCellID;
04219 BYTE nmrPlmn[PLMN_LENGTH];
04220 WORD nmrLac;
04221 WORD nmrArfcn;
04222 BYTE nmrBsic;
04223 WORD nmrRxLev;
04224 } nmrCellInfo;
04225
04277 typedef struct
04278 {
04279 ULONG cellID;
04280 BYTE plmn[PLMN_LENGTH];
04281 WORD lac;
04282 WORD arfcn;
04283 BYTE bsic;
04284 ULONG timingAdvance;
04285 WORD rxLev;
04286 BYTE nmrInst;
04287 nmrCellInfo insNmrCellInfo[MAX_DESCRIPTION_LENGTH];
04288 } GERANInfo;
04289
04309 typedef struct
04310 {
04311 WORD geranArfcn;
04312 BYTE geranBsicNcc;
04313 BYTE geranBsicBcc;
04314 WORD geranRssi;
04315 } geranInstInfo;
04316
04334 typedef struct
04335 {
04336 WORD umtsUarfcn;
04337 WORD umtsPsc;
04338 WORD umtsRscp;
04339 WORD umtsEcio;
04340 } UMTSinstInfo;
04341
04389 typedef struct
04390 {
04391 WORD cellID;
04392 BYTE plmn[PLMN_LENGTH];
04393 WORD lac;
04394 WORD uarfcn;
04395 WORD psc;
04396 WORD rscp;
04397 WORD ecio;
04398 BYTE umtsInst;
04399 UMTSinstInfo UMTSInstInfo[MAX_DESCRIPTION_LENGTH];
04400 BYTE geranInst;
04401 geranInstInfo GeranInstInfo[MAX_DESCRIPTION_LENGTH];
04402 } UMTSInfo;
04403
04432 typedef struct
04433 {
04434 WORD sid;
04435 WORD nid;
04436 WORD baseId;
04437 WORD refpn;
04438 ULONG baseLat;
04439 ULONG baseLong;
04440 } CDMAInfo;
04441
04467 typedef struct
04468 {
04469 WORD pci;
04470 WORD rsrq;
04471 WORD rsrp;
04472 WORD rssi;
04473 WORD srxlev;
04474 } cellParams;
04475
04542 typedef struct
04543 {
04544 BYTE ueInIdle;
04545 BYTE plmn[PLMN_LENGTH];
04546 WORD tac;
04547 ULONG globalCellId;
04548 WORD earfcn;
04549 WORD servingCellId;
04550 BYTE cellReselPriority;
04551 BYTE sNonIntraSearch;
04552 BYTE threshServingLow;
04553 BYTE sIntraSearch;
04554 BYTE cellsLen;
04555 cellParams CellParams[MAX_DESCRIPTION_LENGTH];
04556 } LTEInfoIntrafreq;
04557
04592 typedef struct
04593 {
04594 WORD earfcn;
04595 BYTE threshXLow;
04596 BYTE threshXHigh;
04597 BYTE cell_resel_priority;
04598 BYTE cells_len;
04599 cellParams cellInterFreqParams[MAX_DESCRIPTION_LENGTH];
04600 } infoInterFreq;
04601
04617 typedef struct
04618 {
04619 BYTE ueInIdle;
04620 BYTE freqsLen;
04621 infoInterFreq InfoInterfreq[MAX_DESCRIPTION_LENGTH];
04622 } LTEInfoInterfreq;
04623
04657 typedef struct
04658 {
04659 WORD arfcn;
04660 BYTE band1900;
04661 BYTE cellIdValid;
04662 BYTE bsicId;
04663 WORD rssi;
04664 WORD srxlev;
04665 } gsmCellInfo;
04666
04701 typedef struct
04702 {
04703 BYTE cellReselPriority;
04704 BYTE threshGsmHigh;
04705 BYTE threshGsmLow;
04706 BYTE nccPermitted;
04707 BYTE cells_len;
04708 gsmCellInfo GsmCellInfo[MAX_DESCRIPTION_LENGTH];
04709 } lteGsmCellInfo;
04710
04726 typedef struct
04727 {
04728 BYTE ueInIdle;
04729 BYTE freqsLen;
04730 lteGsmCellInfo LteGsmCellInfo[MAX_DESCRIPTION_LENGTH];
04731 } LTEInfoNeighboringGSM;
04732
04757 typedef struct
04758 {
04759 WORD psc;
04760 WORD cpich_rscp;
04761 WORD cpich_ecno;
04762 WORD srxlev;
04763 } wcdmaCellInfo;
04764
04794 typedef struct
04795 {
04796 WORD uarfcn;
04797 BYTE cellReselPriority;
04798 WORD threshXhigh;
04799 WORD threshXlow;
04800 BYTE cellsLen;
04801 wcdmaCellInfo WCDMACellInfo[MAX_DESCRIPTION_LENGTH];
04802 } lteWcdmaCellInfo;
04803
04819 typedef struct
04820 {
04821 BYTE ueInIdle;
04822 BYTE freqsLen;
04823 lteWcdmaCellInfo LTEWCDMACellInfo[MAX_DESCRIPTION_LENGTH];
04824 } LTEInfoNeighboringWCDMA;
04825
04852 typedef struct
04853 {
04854 GERANInfo *pGERANInfo;
04855 UMTSInfo *pUMTSInfo;
04856 CDMAInfo *pCDMAInfo;
04857 LTEInfoIntrafreq *pLTEInfoIntrafreq;
04858 LTEInfoInterfreq *pLTEInfoInterfreq;
04859 LTEInfoNeighboringGSM *pLTEInfoNeighboringGSM;
04860 LTEInfoNeighboringWCDMA *pLTEInfoNeighboringWCDMA;
04861 } nasCellLocationInfoResp;
04862
04878 ULONG SLQSNasGetCellLocationInfo(
04879 nasCellLocationInfoResp *pNasCellLocationInfoResp );
04880
04898 typedef struct
04899 {
04900 WORD mcc;
04901 WORD mnc;
04902 ULONG rat;
04903 } MNRInfo;
04904
04933 typedef struct
04934 {
04935 ULONG regAction;
04936 MNRInfo *pMNRInfo;
04937 ULONG *pChangeDuration;
04938 BOOL *pMncPcsDigitStatus;
04939 } nasInitNetworkReg;
04940
04956 ULONG SLQSInitiateNetworkRegistration(
04957 nasInitNetworkReg *pNasInitNetRegistrationReg);
04958
04999 typedef struct
05000 {
05001 WORD PhysicalLayer;
05002 WORD ControlMac;
05003 WORD AccessMac;
05004 WORD ForwardMac;
05005 WORD ReverseMac;
05006 WORD KeyExchange;
05007 WORD AuthProt;
05008 WORD EncryptProt;
05009 WORD SecProt;
05010 WORD IdleState;
05011 WORD MultDisc;
05012 WORD VirtStream;
05013 } protocolSubtypeElement;
05014
05030 typedef struct
05031 {
05032 WORD *pCurrentPersonality;
05033 BYTE *pPersonalityListLength;
05034 protocolSubtypeElement *pProtocolSubtypeElement;
05035 } HDRPersonalityResp;
05036
05050 ULONG SLQSSwiGetHDRPersonality ( HDRPersonalityResp *pHDRPersonalityResp );
05051
05071 typedef struct
05072 {
05073 WORD *pCurrentPrsnlty;
05074 BYTE *pPersonalityListLength;
05075 protocolSubtypeElement *pProtoSubTypElmnt;
05076 ULONGLONG *pAppSubType;
05077 }HDRProtSubtypResp;
05078
05092 ULONG SLQSSwiGetHDRProtSubtype ( HDRProtSubtypResp *pHDRProtSubtypResp );
05093
05103 typedef struct
05104 {
05105 BYTE *pDetachAction;
05106 }PSDetachReq;
05107
05121 ULONG SLQSSwiPSDetach ( PSDetachReq *pPSDetachReq );
05122
05123 #ifdef __cplusplus
05124 }
05125 #endif
05126
05127 #endif