libqmi-qmuxd/gobi-api/GobiAPI_2013-07-31-1347/Gobi3000Translation/Gobi3000Translation.h

1028 lines
27 KiB
C++

/*===========================================================================
FILE:
Gobi3000Translation.h
DESCRIPTION:
QUALCOMM Tanslation for Gobi 3000
Copyright (c) 2013, The Linux Foundation. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of The Linux Foundation nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
==========================================================================*/
/*=========================================================================*/
// Pragmas
/*=========================================================================*/
#pragma once
#ifndef GOBI_TYPEDEFS
#define GOBI_TYPEDEFS
// Type Definitions
typedef unsigned long ULONG;
typedef unsigned long * ULONG_PTR;
typedef unsigned long long ULONGLONG;
typedef signed char INT8;
typedef unsigned char UINT8;
typedef signed short INT16;
typedef unsigned short UINT16;
typedef signed int INT32;
typedef unsigned int UINT32;
typedef unsigned char BYTE;
typedef char CHAR;
typedef unsigned short WORD;
typedef unsigned short USHORT;
typedef const char * LPCSTR;
#ifdef WINDOWS
typedef signed __int64 INT64;
typedef unsigned __int64 UINT64;
#else
typedef signed long long INT64;
typedef unsigned long long UINT64;
#endif
#endif
//---------------------------------------------------------------------------
// Include Files
//---------------------------------------------------------------------------
#include <map>
#include <string.h>
#include <string>
#include "GobiConnectionMgmtAPIStructs.h"
//---------------------------------------------------------------------------
// Prototypes
//---------------------------------------------------------------------------
// Get a TLV
ULONG GetTLV(
ULONG inLen,
const BYTE * pIn,
BYTE typeID,
ULONG * pOutLen,
const BYTE ** ppOut );
// WDS
ULONG ParseGetSessionState(
ULONG inLen,
const BYTE * pIn,
ULONG * pState );
ULONG ParseGetSessionDuration(
ULONG inLen,
const BYTE * pIn,
ULONGLONG * pDuration );
ULONG ParseGetDormancyState(
ULONG inLen,
const BYTE * pIn,
ULONG * pState );
ULONG ParseGetEnhancedAutoconnect(
ULONG inLen,
const BYTE * pIn,
ULONG * pSetting,
ULONG * pRoamSetting );
ULONG PackSetEnhancedAutoconnect(
ULONG * pOutLen,
BYTE * pOut,
ULONG setting,
ULONG * pRoamSetting );
ULONG PackSetDefaultProfile(
ULONG * pOutLen,
BYTE * pOut,
ULONG profileType,
ULONG * pPDPType,
ULONG * pIPAddress,
ULONG * pPrimaryDNS,
ULONG * pSecondaryDNS,
ULONG * pAuthentication,
CHAR * pName,
CHAR * pAPNName,
CHAR * pUsername,
CHAR * pPassword );
ULONG PackGetDefaultProfile(
ULONG * pOutLen,
BYTE * pOut,
ULONG profileType );
ULONG ParseGetDefaultProfile(
ULONG inLen,
const BYTE * pIn,
ULONG * pPDPType,
ULONG * pIPAddress,
ULONG * pPrimaryDNS,
ULONG * pSecondaryDNS,
ULONG * pAuthentication,
BYTE nameSize,
CHAR * pName,
BYTE apnSize,
CHAR * pAPNName,
BYTE userSize,
CHAR * pUsername );
ULONG PackStartDataSession(
ULONG * pOutLen,
BYTE * pOut,
ULONG * pTechnology,
ULONG * pPrimaryDNS,
ULONG * pSecondaryDNS,
ULONG * pPrimaryNBNS,
ULONG * pSecondaryNBNS,
CHAR * pAPNName,
ULONG * pIPAddress,
ULONG * pAuthentication,
CHAR * pUsername,
CHAR * pPassword );
ULONG ParseStartDataSession(
ULONG inLen,
const BYTE * pIn,
ULONG * pSessionId,
ULONG * pFailureReason );
ULONG PackStopDataSession(
ULONG * pOutLen,
BYTE * pOut,
ULONG sessionId );
ULONG PackGetIPAddress(
ULONG * pOutLen,
BYTE * pOut );
ULONG ParseGetIPAddress(
ULONG inLen,
const BYTE * pIn,
ULONG * pIPAddress );
ULONG ParseGetConnectionRate(
ULONG inLen,
const BYTE * pIn,
ULONG * pCurrentChannelTXRate,
ULONG * pCurrentChannelRXRate,
ULONG * pMaxChannelTXRate,
ULONG * pMaxChannelRXRate );
ULONG PackGetPacketStatus(
ULONG * pOutLen,
BYTE * pOut );
ULONG ParseGetPacketStatus(
ULONG inLen,
const BYTE * pIn,
ULONG * pTXPacketSuccesses,
ULONG * pRXPacketSuccesses,
ULONG * pTXPacketErrors,
ULONG * pRXPacketErrors,
ULONG * pTXPacketOverflows,
ULONG * pRXPacketOverflows );
ULONG PackGetByteTotals(
ULONG * pOutLen,
BYTE * pOut );
ULONG ParseGetByteTotals(
ULONG inLen,
const BYTE * pIn,
ULONGLONG * pTXTotalBytes,
ULONGLONG * pRXTotalBytes );
ULONG PackSetMobileIP(
ULONG * pOutLen,
BYTE * pOut,
ULONG mode );
ULONG ParseGetMobileIP(
ULONG inLen,
const BYTE * pIn,
ULONG * pMode );
ULONG PackSetActiveMobileIPProfile(
ULONG * pOutLen,
BYTE * pOut,
CHAR * pSPC,
BYTE index );
ULONG ParseGetActiveMobileIPProfile(
ULONG inLen,
const BYTE * pIn,
BYTE * pIndex );
ULONG PackSetMobileIPProfile(
ULONG * pOutLen,
BYTE * pOut,
CHAR * pSPC,
BYTE index,
BYTE * pEnabled,
ULONG * pAddress,
ULONG * pPrimaryHA,
ULONG * pSecondaryHA,
BYTE * pRevTunneling,
CHAR * pNAI,
ULONG * pHASPI,
ULONG * pAAASPI,
CHAR * pMNHA,
CHAR * pMNAAA );
ULONG PackGetMobileIPProfile(
ULONG * pOutLen,
BYTE * pOut,
BYTE index );
ULONG ParseGetMobileIPProfile(
ULONG inLen,
const BYTE * pIn,
BYTE * pEnabled,
ULONG * pAddress,
ULONG * pPrimaryHA,
ULONG * pSecondaryHA,
BYTE * pRevTunneling,
BYTE naiSize,
CHAR * pNAI,
ULONG * pHASPI,
ULONG * pAAASPI,
ULONG * pHAState,
ULONG * pAAAState );
ULONG PackSetMobileIPParameters(
ULONG * pOutLen,
BYTE * pOut,
CHAR * pSPC,
ULONG * pMode,
BYTE * pRetryLimit,
BYTE * pRetryInterval,
BYTE * pReRegPeriod,
BYTE * pReRegTraffic,
BYTE * pHAAuthenticator,
BYTE * pHA2002bis );
ULONG ParseGetMobileIPParameters(
ULONG inLen,
const BYTE * pIn,
ULONG * pMode,
BYTE * pRetryLimit,
BYTE * pRetryInterval,
BYTE * pReRegPeriod,
BYTE * pReRegTraffic,
BYTE * pHAAuthenticator,
BYTE * pHA2002bis );
ULONG ParseGetLastMobileIPError(
ULONG inLen,
const BYTE * pIn,
ULONG * pError );
ULONG PackSetDNSSettings(
ULONG * pOutLen,
BYTE * pOut,
ULONG * pPrimaryDNS,
ULONG * pSecondaryDNS );
ULONG ParseGetDNSSettings(
ULONG inLen,
const BYTE * pIn,
ULONG * pPrimaryDNS,
ULONG * pSecondaryDNS );
ULONG ParseGetDataBearerTechnology(
ULONG inLen,
const BYTE * pIn,
ULONG * pDataBearer );
// NAS
ULONG ParseGetANAAAAuthenticationStatus(
ULONG inLen,
const BYTE * pIn,
ULONG * pStatus );
ULONG ParseGetSignalStrength(
ULONG inLen,
const BYTE * pIn,
INT8 * pSignalStrength,
ULONG * pRadioInterface );
ULONG ParseGetSignalStrengths(
ULONG inLen,
const BYTE * pIn,
ULONG * pArraySizes,
INT8 * pSignalStrengths,
ULONG * pRadioInterfaces );
ULONG ParseGetRFInfo(
ULONG inLen,
const BYTE * pIn,
BYTE * pInstanceSize,
BYTE * pInstances );
ULONG ParsePerformNetworkScan(
ULONG inLen,
const BYTE * pIn,
BYTE * pInstanceSize,
BYTE * pInstances );
ULONG ParsePerformNetworkRATScan(
ULONG inLen,
const BYTE * pIn,
BYTE * pInstanceSize,
BYTE * pInstances,
BYTE * pRATSize,
BYTE * pRATInstances );
ULONG PackInitiateNetworkRegistration(
ULONG * pOutLen,
BYTE * pOut,
ULONG regType,
WORD mcc,
WORD mnc,
ULONG rat );
ULONG PackInitiateDomainAttach(
ULONG * pOutLen,
BYTE * pOut,
ULONG action );
ULONG ParseGetServingNetwork(
ULONG inLen,
const BYTE * pIn,
ULONG * pRegistrationState,
ULONG * pCSDomain,
ULONG * pPSDomain,
ULONG * pRAN,
BYTE * pRadioIfacesSize,
BYTE * pRadioIfaces,
ULONG * pRoaming,
WORD * pMCC,
WORD * pMNC,
BYTE nameSize,
CHAR * pName );
ULONG ParseGetServingNetworkCapabilities(
ULONG inLen,
const BYTE * pIn,
BYTE * pDataCapsSize,
BYTE * pDataCaps );
ULONG ParseGetHomeNetwork(
ULONG inLen,
const BYTE * pIn,
WORD * pMCC,
WORD * pMNC,
BYTE nameSize,
CHAR * pName,
WORD * pSID,
WORD * pNID );
ULONG PackSetNetworkPreference(
ULONG * pOutLen,
BYTE * pOut,
ULONG technologyPref,
ULONG duration );
ULONG ParseGetNetworkPreference(
ULONG inLen,
const BYTE * pIn,
ULONG * pTechnologyPref,
ULONG * pDuration,
ULONG * pPersistentTechnologyPref );
ULONG PackSetCDMANetworkParameters(
ULONG * pOutLen,
BYTE * pOut,
CHAR * pSPC,
BYTE * pForceRev0,
BYTE * pCustomSCP,
ULONG * pProtocol,
ULONG * pBroadcast,
ULONG * pApplication,
ULONG * pRoaming );
ULONG ParseGetCDMANetworkParameters(
ULONG inLen,
const BYTE * pIn,
BYTE * pSCI,
BYTE * pSCM,
BYTE * pRegHomeSID,
BYTE * pRegForeignSID,
BYTE * pRegForeignNID,
BYTE * pForceRev0,
BYTE * pCustomSCP,
ULONG * pProtocol,
ULONG * pBroadcast,
ULONG * pApplication,
ULONG * pRoaming );
ULONG ParseGetACCOLC(
ULONG inLen,
const BYTE * pIn,
BYTE * pACCOLC );
ULONG PackSetACCOLC(
ULONG * pOutLen,
BYTE * pOut,
CHAR * pSPC,
BYTE accolc );
ULONG ParseGetPLMNMode(
ULONG inLen,
const BYTE * pIn,
ULONG * pMode );
ULONG PackGetPLMNName(
ULONG * pOutLen,
BYTE * pOut,
USHORT mcc,
USHORT mnc );
ULONG ParseGetPLMNName(
ULONG inLen,
const BYTE * pIn,
ULONG * pNamesSize,
BYTE * pNames );
// DMS
ULONG ParseGetDeviceCapabilities(
ULONG inLen,
const BYTE * pIn,
ULONG * pMaxTXChannelRate,
ULONG * pMaxRXChannelRate,
ULONG * pDataServiceCapability,
ULONG * pSimCapability,
ULONG * pRadioIfacesSize,
BYTE * pRadioIfaces );
ULONG ParseGetManufacturer(
ULONG inLen,
const BYTE * pIn,
BYTE stringSize,
CHAR * pString );
ULONG ParseGetModelID(
ULONG inLen,
const BYTE * pIn,
BYTE stringSize,
CHAR * pString );
ULONG ParseGetFirmwareRevision(
ULONG inLen,
const BYTE * pIn,
BYTE stringSize,
CHAR * pString );
ULONG ParseGetFirmwareRevisions(
ULONG inLen,
const BYTE * pIn,
BYTE amssSize,
CHAR * pAMSSString,
BYTE bootSize,
CHAR * pBootString,
BYTE priSize,
CHAR * pPRIString );
ULONG ParseGetVoiceNumber(
ULONG inLen,
const BYTE * pIn,
BYTE voiceNumberSize,
CHAR * pVoiceNumber,
BYTE minSize,
CHAR * pMIN );
ULONG ParseGetIMSI(
ULONG inLen,
const BYTE * pIn,
BYTE stringSize,
CHAR * pString );
ULONG ParseGetSerialNumbers(
ULONG inLen,
const BYTE * pIn,
BYTE esnSize,
CHAR * pESNString,
BYTE imeiSize,
CHAR * pIMEIString,
BYTE meidSize,
CHAR * pMEIDString );
ULONG PackSetLock(
ULONG * pOutLen,
BYTE * pOut,
ULONG state,
CHAR * pCurrentPIN );
ULONG ParseQueryLock(
ULONG inLen,
const BYTE * pIn,
ULONG * pState );
ULONG PackChangeLockPIN(
ULONG * pOutLen,
BYTE * pOut,
CHAR * pCurrentPIN,
CHAR * pDesiredPIN );
ULONG ParseGetHardwareRevision(
ULONG inLen,
const BYTE * pIn,
BYTE stringSize,
CHAR * pString );
ULONG ParseGetPRLVersion(
ULONG inLen,
const BYTE * pIn,
WORD * pPRLVersion );
ULONG ParseGetERIFile(
ULONG inLen,
const BYTE * pIn,
ULONG * pFileSize,
BYTE * pFile );
ULONG PackActivateAutomatic(
ULONG * pOutLen,
BYTE * pOut,
CHAR * pActivationCode );
ULONG PackResetToFactoryDefaults(
ULONG * pOutLen,
BYTE * pOut,
CHAR * pSPC );
ULONG ParseGetActivationState(
ULONG inLen,
const BYTE * pIn,
ULONG * pActivationState );
ULONG PackSetPower(
ULONG * pOutLen,
BYTE * pOut,
ULONG powerMode );
ULONG ParseGetPower(
ULONG inLen,
const BYTE * pIn,
ULONG * pPowerMode );
ULONG ParseGetOfflineReason(
ULONG inLen,
const BYTE * pIn,
ULONG * pReasonMask,
ULONG * pbPlatform );
ULONG ParseGetNetworkTime(
ULONG inLen,
const BYTE * pIn,
ULONGLONG * pTimeCount,
ULONG * pTimeSource );
ULONG PackValidateSPC(
ULONG * pOutLen,
BYTE * pOut,
CHAR * pSPC );
// SMS
ULONG PackDeleteSMS(
ULONG * pOutLen,
BYTE * pOut,
ULONG storageType,
ULONG * pMessageIndex,
ULONG * pMessageTag );
ULONG PackGetSMSList(
ULONG * pOutLen,
BYTE * pOut,
ULONG storageType,
ULONG * pRequestedTag );
ULONG ParseGetSMSList(
ULONG inLen,
const BYTE * pIn,
ULONG * pMessageListSize,
BYTE * pMessageList );
ULONG PackGetSMS(
ULONG * pOutLen,
BYTE * pOut,
ULONG storageType,
ULONG messageIndex );
ULONG ParseGetSMS(
ULONG inLen,
const BYTE * pIn,
ULONG * pMessageTag,
ULONG * pMessageFormat,
ULONG * pMessageSize,
BYTE * pMessage );
ULONG PackModifySMSStatus(
ULONG * pOutLen,
BYTE * pOut,
ULONG storageType,
ULONG messageIndex,
ULONG messageTag );
ULONG PackSaveSMS(
ULONG * pOutLen,
BYTE * pOut,
ULONG storageType,
ULONG messageFormat,
ULONG messageSize,
BYTE * pMessage );
ULONG ParseSaveSMS(
ULONG inLen,
const BYTE * pIn,
ULONG * pMessageIndex );
ULONG PackSendSMS(
ULONG * pOutLen,
BYTE * pOut,
ULONG messageFormat,
ULONG messageSize,
BYTE * pMessage );
ULONG ParseSendSMS(
ULONG inLen,
const BYTE * pIn,
ULONG * pMessageFailureCode );
ULONG ParseGetSMSCAddress(
ULONG inLen,
const BYTE * pIn,
BYTE addressSize,
CHAR * pSMSCAddress,
BYTE typeSize,
CHAR * pSMSCType );
ULONG PackSetSMSCAddress(
ULONG * pOutLen,
BYTE * pOut,
CHAR * pSMSCAddress,
CHAR * pSMSCType );
ULONG ParseGetSMSRoutes(
ULONG inLen,
const BYTE * pIn,
BYTE * pRouteSize,
BYTE * pRoutes );
ULONG PackSetSMSRoutes(
ULONG * pOutLen,
BYTE * pOut,
BYTE * pRouteSize,
BYTE * pRoutes );
// DMS UIM
ULONG PackUIMUnblockControlKey(
ULONG * pOutLen,
BYTE * pOut,
ULONG id,
CHAR * pValue );
ULONG ParseUIMUnblockControlKey(
ULONG inLen,
const BYTE * pIn,
ULONG * pUnblockRetriesLeft );
ULONG PackUIMSetControlKeyProtection(
ULONG * pOutLen,
BYTE * pOut,
ULONG id,
ULONG status,
CHAR * pValue );
ULONG ParseUIMSetControlKeyProtection(
ULONG inLen,
const BYTE * pIn,
ULONG * pVerifyRetriesLeft );
ULONG PackUIMGetControlKeyBlockingStatus(
ULONG * pOutLen,
BYTE * pOut,
ULONG id );
ULONG ParseUIMGetControlKeyBlockingStatus(
ULONG inLen,
const BYTE * pIn,
ULONG * pStatus,
ULONG * pVerifyRetriesLeft,
ULONG * pUnblockRetriesLeft,
ULONG * pbBlocking );
ULONG ParseUIMGetControlKeyStatus(
ULONG inLen,
const BYTE * pIn,
ULONG * pStatus,
ULONG * pVerifyRetriesLeft,
ULONG * pUnblockRetriesLeft );
ULONG PackUIMGetControlKeyStatus(
ULONG * pOutLen,
BYTE * pOut,
ULONG id );
ULONG ParseUIMGetICCID(
ULONG inLen,
const BYTE * pIn,
BYTE stringSize,
CHAR * pString );
ULONG ParseUIMGetPINStatus(
ULONG inLen,
const BYTE * pIn,
ULONG id,
ULONG * pStatus,
ULONG * pVerifyRetriesLeft,
ULONG * pUnblockRetriesLeft );
ULONG PackUIMChangePIN(
ULONG * pOutLen,
BYTE * pOut,
ULONG id,
CHAR * pOldValue,
CHAR * pNewValue );
ULONG ParseUIMChangePIN(
ULONG inLen,
const BYTE * pIn,
ULONG * pVerifyRetriesLeft,
ULONG * pUnblockRetriesLeft );
ULONG PackUIMUnblockPIN(
ULONG * pOutLen,
BYTE * pOut,
ULONG id,
CHAR * pOldValue,
CHAR * pNewValue );
ULONG ParseUIMUnblockPIN(
ULONG inLen,
const BYTE * pIn,
ULONG * pVerifyRetriesLeft,
ULONG * pUnblockRetriesLeft );
ULONG PackUIMVerifyPIN(
ULONG * pOutLen,
BYTE * pOut,
ULONG id,
CHAR * pValue );
ULONG ParseUIMVerifyPIN(
ULONG inLen,
const BYTE * pIn,
ULONG * pVerifyRetriesLeft,
ULONG * pUnblockRetriesLeft );
ULONG PackUIMSetPINProtection(
ULONG * pOutLen,
BYTE * pOut,
ULONG id,
ULONG bEnable,
CHAR * pValue );
ULONG ParseUIMSetPINProtection(
ULONG inLen,
const BYTE * pIn,
ULONG * pVerifyRetriesLeft,
ULONG * pUnblockRetriesLeft );
// PDS
ULONG ParseGetPDSState(
ULONG inLen,
const BYTE * pIn,
ULONG * pEnabled,
ULONG * pTracking );
ULONG PackSetPDSState(
ULONG * pOutLen,
BYTE * pOut,
ULONG enable );
ULONG PackPDSInjectTimeReference(
ULONG * pOutLen,
BYTE * pOut,
ULONGLONG systemTime,
USHORT systemDiscontinuities );
ULONG ParseGetPDSDefaults(
ULONG inLen,
const BYTE * pIn,
ULONG * pOperation,
BYTE * pTimeout,
ULONG * pInterval,
ULONG * pAccuracy );
ULONG PackSetPDSDefaults(
ULONG * pOutLen,
BYTE * pOut,
ULONG operation,
BYTE timeout,
ULONG interval,
ULONG accuracy );
ULONG ParseGetXTRAAutomaticDownload(
ULONG inLen,
const BYTE * pIn,
ULONG * pbEnabled,
USHORT * pInterval );
ULONG PackSetXTRAAutomaticDownload(
ULONG * pOutLen,
BYTE * pOut,
ULONG bEnabled,
USHORT interval );
ULONG ParseGetXTRANetwork(
ULONG inLen,
const BYTE * pIn,
ULONG * pPreference );
ULONG PackSetXTRANetwork(
ULONG * pOutLen,
BYTE * pOut,
ULONG preference );
ULONG ParseGetXTRAValidity(
ULONG inLen,
const BYTE * pIn,
USHORT * pGPSWeek,
USHORT * pGPSWeekOffset,
USHORT * pDuration );
ULONG ParseGetXTRADataState(
ULONG inLen,
const BYTE * pIn,
ULONG * pState );
ULONG PackSetXTRADataState(
ULONG * pOutLen,
BYTE * pOut,
ULONG state );
ULONG ParseGetXTRATimeState(
ULONG inLen,
const BYTE * pIn,
ULONG * pState );
ULONG PackSetXTRATimeState(
ULONG * pOutLen,
BYTE * pOut,
ULONG state );
ULONG ParseGetAGPSConfig(
ULONG inLen,
const BYTE * pIn,
ULONG * pServerAddress,
ULONG * pServerPort );
ULONG PackSetAGPSConfig(
ULONG * pOutLen,
BYTE * pOut,
ULONG serverAddress,
ULONG serverPort );
ULONG ParseGetServiceAutomaticTracking(
ULONG inLen,
const BYTE * pIn,
ULONG * pbAuto );
ULONG PackSetServiceAutomaticTracking(
ULONG * pOutLen,
BYTE * pOut,
ULONG bAuto );
ULONG ParseGetPortAutomaticTracking(
ULONG inLen,
const BYTE * pIn,
ULONG * pbAuto );
ULONG PackSetPortAutomaticTracking(
ULONG * pOutLen,
BYTE * pOut,
ULONG bAuto );
ULONG PackResetPDSData(
ULONG * pOutLen,
BYTE * pOut,
ULONG * pGPSDataMask,
ULONG * pCellDataMask );
// CAT
ULONG PackCATSendTerminalResponse(
ULONG * pOutLen,
BYTE * pOut,
ULONG refID,
ULONG dataLen,
BYTE * pData );
ULONG PackCATSendEnvelopeCommand(
ULONG * pOutLen,
BYTE * pOut,
ULONG cmdID,
ULONG dataLen,
BYTE * pData );
// RMS
ULONG ParseGetSMSWake(
ULONG inLen,
const BYTE * pIn,
ULONG * pbEnabled,
ULONG * pWakeMask );
ULONG PackSetSMSWake(
ULONG * pOutLen,
BYTE * pOut,
ULONG bEnable,
ULONG wakeMask );
// OMADM
ULONG PackOMADMStartSession(
ULONG * pOutLen,
BYTE * pOut,
ULONG sessionType );
ULONG ParseOMADMGetSessionInfo(
ULONG inLen,
const BYTE * pIn,
ULONG * pSessionState,
ULONG * pSessionType,
ULONG * pFailureReason,
BYTE * pRetryCount,
WORD * pSessionPause,
WORD * pTimeRemaining );
ULONG ParseOMADMGetPendingNIA(
ULONG inLen,
const BYTE * pIn,
ULONG * pSessionType,
USHORT * pSessionID );
ULONG PackOMADMSendSelection(
ULONG * pOutLen,
BYTE * pOut,
ULONG selection,
USHORT sessionID );
ULONG ParseOMADMGetFeatureSettings(
ULONG inLen,
const BYTE * pIn,
ULONG * pbProvisioning,
ULONG * pbPRLUpdate );
ULONG PackOMADMSetProvisioningFeature(
ULONG * pOutLen,
BYTE * pOut,
ULONG bProvisioning );
ULONG PackOMADMSetPRLUpdateFeature(
ULONG * pOutLen,
BYTE * pOut,
ULONG bPRLUpdate );
// Voice
ULONG PackOriginateUSSD(
ULONG * pOutLen,
BYTE * pOut,
BYTE * pInfo );
ULONG PackAnswerUSSD(
ULONG * pOutLen,
BYTE * pOut,
BYTE * pInfo );