libqmi-qmuxd/gobi-api/GobiAPI_1.0.40/Core/QMIEnum.h

1150 lines
45 KiB
C
Executable File

/*===========================================================================
FILE:
QMIEnum.h
DESCRIPTION:
QMI protocol enumerations and related methods
PUBLIC ENUMERATIONS AND METHODS:
eQMIService
eQMIMessageCTL
eQMIMessageWDS
eQMIMessageDMS
eQMIMessageNAS
eQMIMessageWMS
eQMIMessagePDS
eQMIMessageAUTH
eQMIMessageCAT
eQMIMessageRMS
eQMIMessageOMA
eQMIResultCode
eQMIErrorCode
eQMICallEndReason
Copyright (c) 2011, Code Aurora Forum. 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 Code Aurora Forum 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
//---------------------------------------------------------------------------
// Include Files
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
// Definitions
//---------------------------------------------------------------------------
// Invalid QMI transaction ID
const ULONG INVALID_QMI_TRANSACTION_ID = 0;
// QMI DMS PRL size constants
const ULONG QMI_DMS_MAX_PRL_SIZE = 16384;
const ULONG QMI_DMS_MAX_PRL_BLOCK = 256;
/*=========================================================================*/
// eQMIService Enumeration
// QMI Service Type Enumeration
/*=========================================================================*/
enum eQMIService
{
eQMI_SVC_ENUM_BEGIN = -1,
eQMI_SVC_CONTROL, // 000 Control service
eQMI_SVC_WDS, // 001 Wireless data service
eQMI_SVC_DMS, // 002 Device management service
eQMI_SVC_NAS, // 003 Network access service
eQMI_SVC_QOS, // 004 Quality of service, err, service
eQMI_SVC_WMS, // 005 Wireless messaging service
eQMI_SVC_PDS, // 006 Position determination service
eQMI_SVC_AUTH, // 007 Authentication service
eQMI_SVC_VOICE = 9, // 009 Voice service
eQMI_SVC_CAT = 224, // 224 Card application toolkit service
eQMI_SVC_RMS, // 225 Remote management service
eQMI_SVC_OMA, // 226 Open mobile alliance dev mgmt service
eQMI_SVC_ENUM_END
};
/*===========================================================================
METHOD:
IsValid (Inline Method)
DESCRIPTION:
eQMIService validity check
PARAMETERS:
svc [ I ] - Enum value being verified
RETURN VALUE:
bool
===========================================================================*/
inline bool IsValid( eQMIService svc )
{
bool retVal = false;
if ( (svc > eQMI_SVC_ENUM_BEGIN && svc <= eQMI_SVC_AUTH)
|| (svc == eQMI_SVC_VOICE)
|| (svc >= eQMI_SVC_CAT && svc < eQMI_SVC_ENUM_END) )
{
retVal = true;
}
return retVal;
};
/*=========================================================================*/
// eQMIMessageCTL Enumeration
// QMI Control Service Type Message ID Enumeration
/*=========================================================================*/
enum eQMIMessageCTL
{
eQMI_CTL_ENUM_BEGIN = -1,
eQMI_CTL_SET_INSTANCE_ID = 32, // 32 Set the unique link instance ID
eQMI_CTL_GET_VERSION_INFO, // 33 Get supported service version info
eQMI_CTL_GET_CLIENT_ID, // 34 Get a unique client ID
eQMI_CTL_RELEASE_CLIENT_ID, // 35 Release the unique client ID
eQMI_CTL_REVOKE_CLIENT_ID_IND, // 36 Indication of client ID revocation
eQMI_CTL_INVALID_CLIENT_ID, // 37 Indication of invalid client ID
eQMI_CTL_SET_DATA_FORMAT, // 38 Set host driver data format
eQMI_CTL_SYNC, // 39 Synchronize client/server
eQMI_CTL_SYNC_IND = 39, // 39 Synchronize indication
eQMI_CTL_SET_EVENT, // 40 Set event report conditions
eQMI_CTL_EVENT_IND = 40, // 40 Event report indication
eQMI_CTL_SET_POWER_SAVE_CFG, // 41 Set power save config
eQMI_CTL_SET_POWER_SAVE_MODE, // 42 Set power save mode
eQMI_CTL_GET_POWER_SAVE_MODE, // 43 Get power save mode
eQMI_CTL_ENUM_END
};
/*===========================================================================
METHOD:
IsValid (Inline Method)
DESCRIPTION:
eQMIMessageCTL validity check
PARAMETERS:
msgID [ I ] - Enum value being verified
RETURN VALUE:
bool
===========================================================================*/
inline bool IsValid( eQMIMessageCTL msgID )
{
bool retVal = false;
if (msgID >= eQMI_CTL_SET_INSTANCE_ID && msgID < eQMI_CTL_ENUM_END)
{
retVal = true;
}
return retVal;
};
/*=========================================================================*/
// eQMIMessageWDS Enumeration
// QMI WDS Service Type Message ID Enumeration
/*=========================================================================*/
enum eQMIMessageWDS
{
eQMI_WDS_ENUM_BEGIN = -1,
eQMI_WDS_RESET, // 00 Reset WDS service state variables
eQMI_WDS_SET_EVENT, // 01 Set connection state report conditions
eQMI_WDS_EVENT_IND = 1, // 01 Connection state report indication
eQMI_WDS_ABORT, // 02 Abort previously issued WDS command
eQMI_WDS_START_NET = 32, // 32 Start WDS network interface
eQMI_WDS_STOP_NET, // 33 Stop WDS network interface
eQMI_WDS_GET_PKT_STATUS, // 34 Get packet data connection status
eQMI_WDS_PKT_STATUS_IND = 34, // 34 Packet data connection status indication
eQMI_WDS_GET_RATES, // 35 Get current bit rates of the connection
eQMI_WDS_GET_STATISTICS, // 36 Get the packet data transfer statistics
eQMI_WDS_G0_DORMANT, // 37 Go dormant
eQMI_WDS_G0_ACTIVE, // 38 Go active
eQMI_WDS_CREATE_PROFILE, // 39 Create profile with specified settings
eQMI_WDS_MODIFY_PROFILE, // 40 Modify profile with specified settings
eQMI_WDS_DELETE_PROFILE, // 41 Delete the specified profile
eQMI_WDS_GET_PROFILE_LIST, // 42 Get all profiles
eQMI_WDS_GET_PROFILE, // 43 Get the specified profile
eQMI_WDS_GET_DEFAULTS, // 44 Get the default data session settings
eQMI_WDS_GET_SETTINGS, // 45 Get the runtime data session settings
eQMI_WDS_SET_MIP, // 46 Get the mobile IP setting
eQMI_WDS_GET_MIP, // 47 Set the mobile IP setting
eQMI_WDS_GET_DORMANCY, // 48 Get the dormancy status
eQMI_WDS_GET_AUTOCONNECT = 52, // 52 Get the NDIS autoconnect setting
eQMI_WDS_GET_DURATION, // 53 Get the duration of data session
eQMI_WDS_GET_MODEM_STATUS, // 54 Get the modem status
eQMI_WDS_MODEM_IND = 54, // 54 Modem status indication
eQMI_WDS_GET_DATA_BEARER, // 55 Get the data bearer type
eQMI_WDS_GET_MODEM_INFO, // 56 Get the modem info
eQMI_WDS_MODEM_INFO_IND = 56, // 56 Modem info indication
eQMI_WDS_GET_ACTIVE_MIP = 60, // 60 Get the active mobile IP profile
eQMI_WDS_SET_ACTIVE_MIP, // 61 Set the active mobile IP profile
eQMI_WDS_GET_MIP_PROFILE, // 62 Get mobile IP profile settings
eQMI_WDS_SET_MIP_PROFILE, // 63 Set mobile IP profile settings
eQMI_WDS_GET_MIP_PARAMS, // 64 Get mobile IP parameters
eQMI_WDS_SET_MIP_PARAMS, // 65 Set mobile IP parameters
eQMI_WDS_GET_LAST_MIP_STATUS, // 66 Get last mobile IP status
eQMI_WDS_GET_AAA_AUTH_STATUS, // 67 Get AN-AAA authentication status
eQMI_WDS_GET_CUR_DATA_BEARER, // 68 Get current data bearer
eQMI_WDS_GET_CALL_LIST, // 69 Get the call history list
eQMI_WDS_GET_CALL_ENTRY, // 70 Get an entry from the call history list
eQMI_WDS_CLEAR_CALL_LIST, // 71 Clear the call history list
eQMI_WDS_GET_CALL_LIST_MAX, // 72 Get maximum size of call history list
eQMI_WDS_SET_IP_FAMILY = 77, // 77 Set the client IP family preference
eQMI_WDS_SET_AUTOCONNECT = 81, // 81 Set the NDIS autoconnect setting
eQMI_WDS_GET_DNS, // 82 Get the DNS setting
eQMI_WDS_SET_DNS, // 83 Set the DNS setting
eQMI_WDS_ENUM_END
};
/*===========================================================================
METHOD:
IsValid (Inline Method)
DESCRIPTION:
eQMIMessageWDS validity check
PARAMETERS:
msgID [ I ] - Enum value being verified
RETURN VALUE:
bool
===========================================================================*/
inline bool IsValid( eQMIMessageWDS msgID )
{
bool retVal = false;
if ( (msgID > eQMI_WDS_ENUM_BEGIN && msgID <= eQMI_WDS_ABORT)
|| (msgID >= eQMI_WDS_START_NET && msgID <= eQMI_WDS_GET_DORMANCY)
|| (msgID >= eQMI_WDS_GET_AUTOCONNECT && msgID <= eQMI_WDS_MODEM_INFO_IND)
|| (msgID >= eQMI_WDS_GET_ACTIVE_MIP && msgID <= eQMI_WDS_GET_CALL_LIST_MAX)
|| (msgID == eQMI_WDS_SET_IP_FAMILY)
|| (msgID >= eQMI_WDS_SET_AUTOCONNECT && msgID < eQMI_WDS_ENUM_END) )
{
retVal = true;
}
return retVal;
};
/*=========================================================================*/
// eQMIMessageDMS Enumeration
// QMI DMS Service Type Message ID Enumeration
/*=========================================================================*/
enum eQMIMessageDMS
{
eQMI_DMS_ENUM_BEGIN = -1,
eQMI_DMS_RESET, // 00 Reset DMS service state variables
eQMI_DMS_SET_EVENT, // 01 Set connection state report conditions
eQMI_DMS_EVENT_IND = 1, // 01 Connection state report indication
eQMI_DMS_GET_CAPS = 32, // 32 Get the device capabilities
eQMI_DMS_GET_MANUFACTURER, // 33 Get the device manfacturer
eQMI_DMS_GET_MODEL_ID, // 34 Get the device model ID
eQMI_DMS_GET_REV_ID, // 35 Get the device revision ID
eQMI_DMS_GET_NUMBER, // 36 Get the assigned voice number
eQMI_DMS_GET_IDS, // 37 Get the ESN/IMEI/MEID
eQMI_DMS_GET_POWER_STATE, // 38 Get the get power state
eQMI_DMS_UIM_SET_PIN_PROT, // 39 UIM - Set PIN protection
eQMI_DMS_UIM_PIN_VERIFY, // 40 UIM - Verify PIN
eQMI_DMS_UIM_PIN_UNBLOCK, // 41 UIM - Unblock PIN
eQMI_DMS_UIM_PIN_CHANGE, // 42 UIM - Change PIN
eQMI_DMS_UIM_GET_PIN_STATUS, // 43 UIM - Get PIN status
eQMI_DMS_GET_MSM_ID = 44, // 44 Get MSM ID
eQMI_DMS_GET_OPERTAING_MODE, // 45 Get the operating mode
eQMI_DMS_SET_OPERATING_MODE, // 46 Set the operating mode
eQMI_DMS_GET_TIME, // 47 Get timestamp from the device
eQMI_DMS_GET_PRL_VERSION, // 48 Get the PRL version
eQMI_DMS_GET_ACTIVATED_STATE, // 49 Get the activation state
eQMI_DMS_ACTIVATE_AUTOMATIC, // 50 Perform an automatic activation
eQMI_DMS_ACTIVATE_MANUAL, // 51 Perform a manual activation
eQMI_DMS_GET_USER_LOCK_STATE, // 52 Get the lock state
eQMI_DMS_SET_USER_LOCK_STATE, // 53 Set the lock state
eQMI_DMS_SET_USER_LOCK_CODE, // 54 Set the lock PIN
eQMI_DMS_READ_USER_DATA, // 55 Read user data
eQMI_DMS_WRITE_USER_DATA, // 56 Write user data
eQMI_DMS_READ_ERI_FILE, // 57 Read the enhanced roaming indicator file
eQMI_DMS_FACTORY_DEFAULTS, // 58 Reset to factory defaults
eQMI_DMS_VALIDATE_SPC, // 59 Validate service programming code
eQMI_DMS_UIM_GET_ICCID, // 60 Get UIM ICCID
eQMI_DMS_GET_FIRWARE_ID, // 61 Get firmware ID
eQMI_DMS_SET_FIRMWARE_ID, // 62 Set firmware ID
eQMI_DMS_GET_HOST_LOCK_ID, // 63 Get host lock ID
eQMI_DMS_UIM_GET_CK_STATUS, // 64 UIM - Get control key status
eQMI_DMS_UIM_SET_CK_PROT, // 65 UIM - Set control key protection
eQMI_DMS_UIM_UNBLOCK_CK, // 66 UIM - Unblock facility control key
eQMI_DMS_GET_IMSI, // 67 Get the IMSI
eQMI_DMS_UIM_GET_STATE, // 68 UIM - Get the UIM state
eQMI_DMS_GET_BAND_CAPS, // 69 Get the device band capabilities
eQMI_DMS_GET_FACTORY_ID, // 70 Get the device factory ID
eQMI_DMS_GET_FIRMWARE_PREF, // 71 Get firmware preference
eQMI_DMS_SET_FIRMWARE_PREF, // 72 Set firmware preference
eQMI_DMS_LIST_FIRMWARE, // 73 List all stored firmware
eQMI_DMS_DELETE_FIRMWARE, // 74 Delete specified stored firmware
eQMI_DMS_SET_TIME, // 75 Set device time
eQMI_DMS_GET_FIRMWARE_INFO, // 76 Get stored firmware info
eQMI_DMS_GET_ALT_NET_CFG, // 77 Get alternate network config
eQMI_DMS_SET_ALT_NET_CFG, // 78 Set alternate network config
eQMI_DMS_GET_IMG_DLOAD_MODE, // 79 Get next image download mode
eQMI_DMS_SET_IMG_DLOAD_MODE, // 80 Set next image download mod
eQMI_DMS_ENUM_END
};
/*===========================================================================
METHOD:
IsValid (Inline Method)
DESCRIPTION:
eQMIMessageDMS validity check
PARAMETERS:
msgID [ I ] - Enum value being verified
RETURN VALUE:
bool
===========================================================================*/
inline bool IsValid( eQMIMessageDMS msgID )
{
bool retVal = false;
if ( (msgID > eQMI_DMS_ENUM_BEGIN && msgID <= eQMI_DMS_EVENT_IND)
|| (msgID >= eQMI_DMS_GET_CAPS && msgID < eQMI_DMS_ENUM_END) )
{
retVal = true;
}
return retVal;
};
/*=========================================================================*/
// eQMIMessageNAS Enumeration
// QMI NAS Service Type Message ID Enumeration
/*=========================================================================*/
enum eQMIMessageNAS
{
eQMI_NAS_ENUM_BEGIN = -1,
eQMI_NAS_RESET, // 00 Reset NAS service state variables
eQMI_NAS_ABORT, // 01 Abort previously issued NAS command
eQMI_NAS_SET_EVENT, // 02 Set NAS state report conditions
eQMI_NAS_EVENT_IND = 2, // 02 Connection state report indication
eQMI_NAS_SET_REG_EVENT, // 03 Set NAS registration report conditions
eQMI_NAS_GET_RSSI = 32, // 32 Get the signal strength
eQMI_NAS_SCAN_NETS, // 33 Scan for visible network
eQMI_NAS_REGISTER_NET, // 34 Initiate a network registration
eQMI_NAS_ATTACH_DETACH, // 35 Initiate an attach or detach action
eQMI_NAS_GET_SS_INFO, // 36 Get info about current serving system
eQMI_NAS_SS_INFO_IND = 36, // 36 Current serving system info indication
eQMI_NAS_GET_HOME_INFO, // 37 Get info about home network
eQMI_NAS_GET_NET_PREF_LIST, // 38 Get the list of preferred networks
eQMI_NAS_SET_NET_PREF_LIST, // 39 Set the list of preferred networks
eQMI_NAS_GET_NET_BAN_LIST, // 40 Get the list of forbidden networks
eQMI_NAS_SET_NET_BAN_LIST, // 41 Set the list of forbidden networks
eQMI_NAS_SET_TECH_PREF, // 42 Set the technology preference
eQMI_NAS_GET_TECH_PREF, // 43 Get the technology preference
eQMI_NAS_GET_ACCOLC, // 44 Get the Access Overload Class
eQMI_NAS_SET_ACCOLC, // 45 Set the Access Overload Class
eQMI_NAS_GET_SYSPREF, // 46 Get the CDMA system preference
eQMI_NAS_GET_NET_PARAMS, // 47 Get various network parameters
eQMI_NAS_SET_NET_PARAMS, // 48 Set various network parameters
eQMI_NAS_GET_RF_INFO, // 49 Get the SS radio/band channel info
eQMI_NAS_GET_AAA_AUTH_STATUS, // 50 Get AN-AAA authentication status
eQMI_NAS_SET_SYS_SELECT_PREF, // 51 Set system selection preference
eQMI_NAS_GET_SYS_SELECT_PREF, // 52 Get system selection preference
eQMI_NAS_SYS_SELECT_IND = 52, // 52 System selection pref indication
eQMI_NAS_SET_DDTM_PREF = 55, // 55 Set DDTM preference
eQMI_NAS_GET_DDTM_PREF, // 56 Get DDTM preference
eQMI_NAS_DDTM_IND = 56, // 56 DDTM preference indication
eQMI_NAS_GET_PLMN_MODE = 59, // 59 Get PLMN mode bit from CSP
eQMI_NAS_PLMN_MODE_IND, // 60 CSP PLMN mode bit indication
eQMI_NAS_GET_PLMN_NAME = 68, // 68 Get operator name for specified network
eQMI_NAS_ENUM_END
};
/*===========================================================================
METHOD:
IsValid (Inline Method)
DESCRIPTION:
eQMIMessageNAS validity check
PARAMETERS:
msgID [ I ] - Enum value being verified
RETURN VALUE:
bool
===========================================================================*/
inline bool IsValid( eQMIMessageNAS msgID )
{
bool retVal = false;
if ( (msgID > eQMI_NAS_ENUM_BEGIN && msgID <= eQMI_NAS_SET_REG_EVENT)
|| (msgID >= eQMI_NAS_GET_RSSI && msgID <= eQMI_NAS_SYS_SELECT_IND)
|| (msgID >= eQMI_NAS_SET_DDTM_PREF && msgID <= eQMI_NAS_DDTM_IND)
|| (msgID >= eQMI_NAS_GET_PLMN_MODE && msgID <= eQMI_NAS_PLMN_MODE_IND)
|| (msgID >= eQMI_NAS_GET_PLMN_NAME && msgID < eQMI_NAS_ENUM_END) )
{
retVal = true;
}
return retVal;
};
/*=========================================================================*/
// eQMIMessageWMS Enumeration
// QMI WMS Service Type Message ID Enumeration
/*=========================================================================*/
enum eQMIMessageWMS
{
eQMI_WMS_ENUM_BEGIN = -1,
eQMI_WMS_RESET, // 00 Reset WMS service state variables
eQMI_WMS_SET_EVENT, // 01 Set new message report conditions
eQMI_WMS_EVENT_IND = 1, // 01 New message report indication
eQMI_WMS_RAW_SEND = 32, // 32 Send a raw message
eQMI_WMS_RAW_WRITE, // 33 Write a raw message to the device
eQMI_WMS_RAW_READ, // 34 Read a raw message from the device
eQMI_WMS_MODIFY_TAG, // 35 Modify message tag on the device
eQMI_WMS_DELETE, // 36 Delete message by index/tag/memory
eQMI_WMS_GET_MSG_PROTOCOL = 48, // 48 Get the current message protocol
eQMI_WMS_GET_MSG_LIST, // 49 Get list of messages from the device
eQMI_WMS_SET_ROUTES, // 50 Set routes for message memory storage
eQMI_WMS_GET_ROUTES, // 51 Get routes for message memory storage
eQMI_WMS_GET_SMSC_ADDR, // 52 Get SMSC address
eQMI_WMS_SET_SMSC_ADDR, // 53 Set SMSC address
eQMI_WMS_GET_MSG_LIST_MAX, // 54 Get maximum size of SMS storage
eQMI_WMS_SEND_ACK, // 55 Send ACK
eQMI_WMS_SET_RETRY_PERIOD, // 56 Set retry period
eQMI_WMS_SET_RETRY_INTERVAL, // 57 Set retry interval
eQMI_WMS_SET_DC_DISCO_TIMER, // 58 Set DC auto-disconnect timer
eQMI_WMS_SET_MEMORY_STATUS, // 59 Set memory storage status
eQMI_WMS_SET_BC_ACTIVATION, // 60 Set broadcast activation
eQMI_WMS_SET_BC_CONFIG, // 61 Set broadcast config
eQMI_WMS_GET_BC_CONFIG, // 62 Get broadcast config
eQMI_WMS_MEMORY_FULL_IND, // 63 Memory full indication
eQMI_WMS_GET_DOMAIN_PREF, // 64 Get domain preference
eQMI_WMS_SET_DOMAIN_PREF, // 65 Set domain preference
eQMI_WMS_MEMORY_SEND, // 66 Send message from memory store
eQMI_WMS_GET_MSG_WAITING, // 67 Get message waiting info
eQMI_WMS_MSG_WAITING_IND, // 68 Message waiting indication
eQMI_WMS_SET_PRIMARY_CLIENT, // 69 Set client as primary client
eQMI_WMS_SMSC_ADDR_IND, // 70 SMSC address indication
eQMI_WMS_ENUM_END
};
/*===========================================================================
METHOD:
IsValid (Inline Method)
DESCRIPTION:
eQMIMessageWMS validity check
PARAMETERS:
msgID [ I ] - Enum value being verified
RETURN VALUE:
bool
===========================================================================*/
inline bool IsValid( eQMIMessageWMS msgID )
{
bool retVal = false;
if ( (msgID > eQMI_WMS_ENUM_BEGIN && msgID <= eQMI_WMS_EVENT_IND)
|| (msgID >= eQMI_WMS_RAW_SEND && msgID <= eQMI_WMS_DELETE)
|| (msgID >= eQMI_WMS_GET_MSG_PROTOCOL && msgID < eQMI_WMS_ENUM_END) )
{
retVal = true;
}
return retVal;
};
/*=========================================================================*/
// eQMIMessagePDS Enumeration
// QMI PDS Service Type Message ID Enumeration
/*=========================================================================*/
enum eQMIMessagePDS
{
eQMI_PDS_ENUM_BEGIN = -1,
eQMI_PDS_RESET, // 00 Reset PDS service state variables
eQMI_PDS_SET_EVENT, // 01 Set PDS report conditions
eQMI_PDS_EVENT_IND = 1, // 01 PDS report indication
eQMI_PDS_GET_STATE = 32, // 32 Return PDS service state
eQMI_PDS_STATE_IND = 32, // 32 PDS service state indication
eQMI_PDS_SET_STATE, // 33 Set PDS service state
eQMI_PDS_START_SESSION, // 34 Start a PDS tracking session
eQMI_PDS_GET_SESSION_INFO, // 35 Get PDS tracking session info
eQMI_PDS_FIX_POSITION, // 36 Manual tracking session position
eQMI_PDS_END_SESSION, // 37 End a PDS tracking session
eQMI_PDS_GET_NMEA_CFG, // 38 Get NMEA sentence config
eQMI_PDS_SET_NMEA_CFG, // 39 Set NMEA sentence config
eQMI_PDS_INJECT_TIME, // 40 Inject a time reference
eQMI_PDS_GET_DEFAULTS, // 41 Get default tracking session config
eQMI_PDS_SET_DEFAULTS, // 42 Set default tracking session config
eQMI_PDS_GET_XTRA_PARAMS, // 43 Get the GPS XTRA parameters
eQMI_PDS_SET_XTRA_PARAMS, // 44 Set the GPS XTRA parameters
eQMI_PDS_FORCE_XTRA_DL, // 45 Force a GPS XTRA database download
eQMI_PDS_GET_AGPS_CONFIG, // 46 Get the AGPS mode configuration
eQMI_PDS_SET_AGPS_CONFIG, // 47 Set the AGPS mode configuration
eQMI_PDS_GET_SVC_AUTOTRACK, // 48 Get the service auto-tracking state
eQMI_PDS_SET_SVC_AUTOTRACK, // 49 Set the service auto-tracking state
eQMI_PDS_GET_COM_AUTOTRACK, // 50 Get COM port auto-tracking config
eQMI_PDS_SET_COM_AUTOTRACK, // 51 Set COM port auto-tracking config
eQMI_PDS_RESET_DATA, // 52 Reset PDS service data
eQMI_PDS_SINGLE_FIX, // 53 Request single position fix
eQMI_PDS_GET_VERSION, // 54 Get PDS service version
eQMI_PDS_INJECT_XTRA, // 55 Inject XTRA data
eQMI_PDS_INJECT_POSITION, // 56 Inject position data
eQMI_PDS_INJECT_WIFI, // 57 Inject Wi-Fi obtained data
eQMI_PDS_GET_SBAS_CONFIG, // 58 Get SBAS config
eQMI_PDS_SET_SBAS_CONFIG, // 59 Set SBAS config
eQMI_PDS_SEND_NI_RESPONSE, // 60 Send network initiated response
eQMI_PDS_INJECT_ABS_TIME, // 61 Inject absolute time
eQMI_PDS_INJECT_EFS, // 62 Inject EFS data
eQMI_PDS_GET_DPO_CONFIG, // 63 Get DPO config
eQMI_PDS_SET_DPO_CONFIG, // 64 Set DPO config
eQMI_PDS_GET_ODP_CONFIG, // 65 Get ODP config
eQMI_PDS_SET_ODP_CONFIG, // 66 Set ODP config
eQMI_PDS_CANCEL_SINGLE_FIX, // 67 Cancel single position fix
eQMI_PDS_GET_GPS_STATE, // 68 Get GPS state
eQMI_PDS_GET_METHODS = 80, // 80 Get GPS position methods state
eQMI_PDS_SET_METHODS, // 81 Set GPS position methods state
eQMI_PDS_ENUM_END
};
/*===========================================================================
METHOD:
IsValid (Inline Method)
DESCRIPTION:
eQMIMessagePDS validity check
PARAMETERS:
msgID [ I ] - Enum value being verified
RETURN VALUE:
bool
===========================================================================*/
inline bool IsValid( eQMIMessagePDS msgID )
{
bool retVal = false;
if ( (msgID > eQMI_PDS_ENUM_BEGIN && msgID <= eQMI_PDS_EVENT_IND)
|| (msgID >= eQMI_PDS_GET_STATE && msgID <= eQMI_PDS_GET_GPS_STATE)
|| (msgID >= eQMI_PDS_GET_METHODS && msgID < eQMI_PDS_ENUM_END) )
{
retVal = true;
}
return retVal;
};
/*=========================================================================*/
// eQMIMessageAUTH Enumeration
// QMI Authentication Service Type Message ID Enumeration
/*=========================================================================*/
enum eQMIMessageAUTH
{
eQMI_AUTH_ENUM_BEGIN = -1,
eQMI_AUTH_START_EAP = 32, // 32 Start the EAP session
eQMI_AUTH_SEND_EAP, // 33 Send and receive EAP packets
eQMI_AUTH_EAP_RESULT_IND, // 34 EAP session result indication
eQMI_AUTH_GET_EAP_KEYS, // 35 Get the EAP session keys
eQMI_AUTH_END_EAP, // 36 End the EAP session
eQMI_AUTH_ENUM_END
};
/*=========================================================================*/
// eQMIMessageVoice Enumeration
// QMI Voice Service Type Message ID Enumeration
/*=========================================================================*/
enum eQMIMessageVoice
{
eQMI_VOICE_ENUM_BEGIN = -1,
eQMI_VOICE_INDICATION_REG = 3, // 03 Set indication registration state
eQMI_VOICE_CALL_ORIGINATE = 32, // 32 Originate a voice call
eQMI_VOICE_CALL_END, // 33 End a voice call
eQMI_VOICE_CALL_ANSWER, // 34 Answer incoming voice call
eQMI_VOICE_GET_CALL_INFO = 36, // 36 Get call information
eQMI_VOICE_OTASP_STATUS_IND, // 37 OTASP/OTAPA event indication
eQMI_VOICE_INFO_REC_IND, // 38 New info record indication
eQMI_VOICE_SEND_FLASH, // 39 Send a simple flash
eQMI_VOICE_BURST_DTMF, // 40 Send a burst DTMF
eQMI_VOICE_START_CONT_DTMF, // 41 Starts a continuous DTMF
eQMI_VOICE_STOP_CONT_DTMF, // 42 Stops a continuous DTMF
eQMI_VOICE_DTMF_IND, // 43 DTMF event indication
eQMI_VOICE_SET_PRIVACY_PREF, // 44 Set privacy preference
eQMI_VOICE_PRIVACY_IND, // 45 Privacy change indication
eQMI_VOICE_ALL_STATUS_IND, // 46 Voice all call status indication
eQMI_VOICE_GET_ALL_STATUS, // 47 Get voice all call status
eQMI_VOICE_MANAGE_CALLS = 49, // 49 Manage calls
eQMI_VOICE_SUPS_NOTIFICATION_IND, // 50 Supplementary service notifications
eQMI_VOICE_SET_SUPS_SERVICE, // 51 Manage supplementary service
eQMI_VOICE_GET_CALL_WAITING, // 52 Query sup service call waiting
eQMI_VOICE_GET_CALL_BARRING, // 53 Query sup service call barring
eQMI_VOICE_GET_CLIP, // 54 Query sup service CLIP
eQMI_VOICE_GET_CLIR, // 55 Query sup service CLIR
eQMI_VOICE_GET_CALL_FWDING, // 56 Query sup service call forwarding
eQMI_VOICE_SET_CALL_BARRING_PWD, // 57 Set call barring password
eQMI_VOICE_ORIG_USSD, // 58 Initiate USSD operation
eQMI_VOICE_ANSWER_USSD, // 59 Answer USSD request
eQMI_VOICE_CANCEL_USSD, // 60 Cancel USSD operation
eQMI_VOICE_USSD_RELEASE_IND, // 61 USSD release indication
eQMI_VOICE_USSD_IND, // 62 USSD request/notification indication
eQMI_VOICE_UUS_IND, // 63 UUS information indication
eQMI_VOICE_SET_CONFIG, // 64 Set config
eQMI_VOICE_GET_CONFIG, // 65 Get config
eQMI_VOICE_SUPS_IND, // 66 Sup service request indication
eQMI_VOICE_ASYNC_ORIG_USSD, // 67 Initiate USSD operation
eQMI_VOICE_ASYNC_USSD_IND = 67, // 67 USSD request/notification indication
eQMI_VOICE_ENUM_END
};
/*===========================================================================
METHOD:
IsValid (Inline Method)
DESCRIPTION:
eQMIMessageVoice validity check
PARAMETERS:
msgID [ I ] - Enum value being verified
RETURN VALUE:
bool
===========================================================================*/
inline bool IsValid( eQMIMessageVoice msgID )
{
bool retVal = false;
if ( (msgID == eQMI_VOICE_INDICATION_REG)
|| (msgID >= eQMI_VOICE_CALL_ORIGINATE && msgID <= eQMI_VOICE_CALL_ANSWER)
|| (msgID >= eQMI_VOICE_GET_CALL_INFO && msgID <= eQMI_VOICE_GET_ALL_STATUS)
|| (msgID >= eQMI_VOICE_MANAGE_CALLS && msgID < eQMI_VOICE_ENUM_END) )
{
retVal = true;
}
return retVal;
};
/*===========================================================================
METHOD:
IsValid (Inline Method)
DESCRIPTION:
eQMIMessageAUTH validity check
PARAMETERS:
msgID [ I ] - Enum value being verified
RETURN VALUE:
bool
===========================================================================*/
inline bool IsValid( eQMIMessageAUTH msgID )
{
bool retVal = false;
if (msgID >= eQMI_AUTH_START_EAP && msgID < eQMI_AUTH_ENUM_END)
{
retVal = true;
}
return retVal;
};
/*=========================================================================*/
// eQMIMessageCAT Enumeration
// QMI CAT Service Type Message ID Enumeration
/*=========================================================================*/
enum eQMIMessageCAT
{
eQMI_CAT_ENUM_BEGIN = -1,
eQMI_CAT_RESET, // 00 Reset CAT service state variables
eQMI_CAT_SET_EVENT, // 01 Set new message report conditions
eQMI_CAT_EVENT_IND = 1, // 01 New message report indication
eQMI_CAT_GET_STATE = 32, // 32 Get service state information
eQMI_CAT_SEND_TERMINAL, // 33 Send a terminal response
eQMI_CAT_SEND_ENVELOPE, // 34 Send an envelope command
eQMI_CAT_ENUM_END
};
/*===========================================================================
METHOD:
IsValid (Inline Method)
DESCRIPTION:
eQMIMessageCAT validity check
PARAMETERS:
msgID [ I ] - Enum value being verified
RETURN VALUE:
bool
===========================================================================*/
inline bool IsValid( eQMIMessageCAT msgID )
{
bool retVal = false;
if ( (msgID > eQMI_CAT_ENUM_BEGIN && msgID <= eQMI_CAT_EVENT_IND)
|| (msgID >= eQMI_CAT_GET_STATE && msgID < eQMI_CAT_ENUM_END) )
{
retVal = true;
}
return retVal;
};
/*=========================================================================*/
// eQMIMessageRMS Enumeration
// QMI RMS Service Type Message ID Enumeration
/*=========================================================================*/
enum eQMIMessageRMS
{
eQMI_RMS_ENUM_BEGIN = -1,
eQMI_RMS_RESET, // 00 Reset RMS service state variables
eQMI_RMS_GET_SMS_WAKE = 32, // 32 Get SMS wake settings
eQMI_RMS_SET_SMS_WAKE, // 33 Set SMS wake settings
eQMI_RMS_ENUM_END
};
/*===========================================================================
METHOD:
IsValid (Inline Method)
DESCRIPTION:
eQMIMessageRMS validity check
PARAMETERS:
msgID [ I ] - Enum value being verified
RETURN VALUE:
bool
===========================================================================*/
inline bool IsValid( eQMIMessageRMS msgID )
{
bool retVal = false;
if ( (msgID == eQMI_RMS_RESET)
|| (msgID >= eQMI_RMS_GET_SMS_WAKE && msgID < eQMI_RMS_ENUM_END) )
{
retVal = true;
}
return retVal;
};
/*=========================================================================*/
// eQMIMessageOMA Enumeration
// QMI OMA-DM Service Type Message ID Enumeration
/*=========================================================================*/
enum eQMIMessageOMA
{
eQMI_OMA_ENUM_BEGIN = -1,
eQMI_OMA_RESET, // 00 Reset OMA service state variables
eQMI_OMA_SET_EVENT, // 01 Set OMA report conditions
eQMI_OMA_EVENT_IND = 1, // 01 OMA report indication
eQMI_OMA_START_SESSION = 32, // 32 Start client inititated session
eQMI_OMA_CANCEL_SESSION, // 33 Cancel session
eQMI_OMA_GET_SESSION_INFO, // 34 Get session information
eQMI_OMA_SEND_SELECTION, // 35 Send selection for net inititated msg
eQMI_OMA_GET_FEATURES, // 36 Get feature settings
eQMI_OMA_SET_FEATURES, // 37 Set feature settings
eQMI_OMA_ENUM_END
};
/*===========================================================================
METHOD:
IsValid (Inline Method)
DESCRIPTION:
eQMIMessageOMA validity check
PARAMETERS:
msgID [ I ] - Enum value being verified
RETURN VALUE:
bool
===========================================================================*/
inline bool IsValid( eQMIMessageOMA msgID )
{
bool retVal = false;
if ( (msgID > eQMI_OMA_ENUM_BEGIN && msgID <= eQMI_OMA_EVENT_IND)
|| (msgID >= eQMI_OMA_START_SESSION && msgID < eQMI_OMA_ENUM_END) )
{
retVal = true;
}
return retVal;
};
/*=========================================================================*/
// eQMIResultCode Enumeration
// QMI Result Code Enumeration
/*=========================================================================*/
enum eQMIResultCode
{
eQMI_RC_ENUM_BEGIN = -1,
eQMI_RC_SUCCESS, // 00 Success
eQMI_RC_ERROR, // 01 Error
eQMI_RC_ENUM_END
};
/*===========================================================================
METHOD:
IsValid (Inline Method)
DESCRIPTION:
eQMIResultCode validity check
PARAMETERS:
rc [ I ] - Enum value being verified
RETURN VALUE:
bool
===========================================================================*/
inline bool IsValid( eQMIResultCode rc )
{
bool retVal = false;
if (rc > eQMI_RC_ENUM_BEGIN && rc < eQMI_RC_ENUM_END)
{
retVal = true;
}
return retVal;
};
/*=========================================================================*/
// eQMIErrorCode Enumeration
// QMI Error Code Enumeration
/*=========================================================================*/
enum eQMIErrorCode
{
eQMI_ERR_ENUM_BEGIN = -1,
eQMI_ERR_NONE, // 00
eQMI_ERR_MALFORMED_MSG, // 01
eQMI_ERR_NO_MEMORY, // 02
eQMI_ERR_INTERNAL, // 03
eQMI_ERR_ABORTED, // 04
eQMI_ERR_CLIENT_IDS_EXHAUSTED, // 05
eQMI_ERR_UNABORTABLE_TRANSACTION, // 06
eQMI_ERR_INVALID_CLIENT_ID, // 07
eQMI_ERR_NO_THRESHOLDS, // 08
eQMI_ERR_INVALID_HANDLE, // 09
eQMI_ERR_INVALID_PROFILE, // 10
eQMI_ERR_INVALID_PIN_ID, // 11
eQMI_ERR_INCORRECT_PIN, // 12
eQMI_ERR_NO_NETWORK_FOUND, // 13
eQMI_ERR_CALL_FAILED, // 14
eQMI_ERR_OUT_OF_CALL, // 15
eQMI_ERR_NOT_PROVISIONED, // 16
eQMI_ERR_MISSING_ARG, // 17
eQMI_ERR_18, // 18
eQMI_ERR_ARG_TOO_LONG, // 19
eQMI_ERR_20, // 20
eQMI_ERR_21, // 21
eQMI_ERR_INVALID_TX_ID, // 22
eQMI_ERR_DEVICE_IN_USE, // 23
eQMI_ERR_OP_NETWORK_UNSUPPORTED, // 24
eQMI_ERR_OP_DEVICE_UNSUPPORTED, // 25
eQMI_ERR_NO_EFFECT, // 26
eQMI_ERR_NO_FREE_PROFILE, // 27
eQMI_ERR_INVALID_PDP_TYPE, // 28
eQMI_ERR_INVALID_TECH_PREF, // 29
eQMI_ERR_INVALID_PROFILE_TYPE, // 30
eQMI_ERR_INVALID_SERVICE_TYPE, // 31
eQMI_ERR_INVALID_REGISTER_ACTION, // 32
eQMI_ERR_INVALID_PS_ATTACH_ACTION, // 33
eQMI_ERR_AUTHENTICATION_FAILED, // 34
eQMI_ERR_PIN_BLOCKED, // 35
eQMI_ERR_PIN_ALWAYS_BLOCKED, // 36
eQMI_ERR_UIM_UNINITIALIZED, // 37
eQMI_ERR_MAX_QOS_REQUESTS_IN_USE, // 38
eQMI_ERR_INCORRECT_FLOW_FILTER, // 39
eQMI_ERR_NETWORK_QOS_UNAWARE, // 40
eQMI_ERR_INVALID_QOS_ID, // 41
eQMI_ERR_REQUESTED_NUM_UNSUPPORTED, // 42
eQMI_ERR_INTERFACE_NOT_FOUND, // 43
eQMI_ERR_FLOW_SUSPENDED, // 44
eQMI_ERR_INVALID_DATA_FORMAT, // 45
eQMI_ERR_GENERAL, // 46
eQMI_ERR_UNKNOWN, // 47
eQMI_ERR_INVALID_ARG, // 48
eQMI_ERR_INVALID_INDEX, // 49
eQMI_ERR_NO_ENTRY, // 50
eQMI_ERR_DEVICE_STORAGE_FULL, // 51
eQMI_ERR_DEVICE_NOT_READY, // 52
eQMI_ERR_NETWORK_NOT_READY, // 53
eQMI_ERR_WMS_CAUSE_CODE, // 54
eQMI_ERR_WMS_MESSAGE_NOT_SENT, // 55
eQMI_ERR_WMS_MESSAGE_DELIVERY_FAILURE, // 56
eQMI_ERR_WMS_INVALID_MESSAGE_ID, // 57
eQMI_ERR_WMS_ENCODING, // 58
eQMI_ERR_AUTHENTICATION_LOCK, // 59
eQMI_ERR_INVALID_TRANSITION, // 60
eQMI_ERR_61, // 61
eQMI_ERR_62, // 62
eQMI_ERR_63, // 63
eQMI_ERR_64, // 64
eQMI_ERR_SESSION_INACTIVE, // 65
eQMI_ERR_SESSION_INVALID, // 66
eQMI_ERR_SESSION_OWNERSHIP, // 67
eQMI_ERR_INSUFFICIENT_RESOURCES, // 68
eQMI_ERR_DISABLED, // 69
eQMI_ERR_INVALID_OPERATION, // 70
eQMI_ERR_INVALID_QMI_CMD, // 71
eQMI_ERR_WMS_TPDU_TYPE, // 72
eQMI_ERR_WMS_SMSC_ADDR, // 73
eQMI_ERR_INFO_UNAVAILABLE, // 74
eQMI_ERR_SEGMENT_TOO_LONG, // 75
eQMI_ERR_SEGMENT_ORDER, // 76
eQMI_ERR_BUNDLING_NOT_SUPPORTED, // 77
eQMI_ERR_78, // 78
eQMI_ERR_POLICY_MISMATCH, // 79
eQMI_ERR_SIM_FILE_NOT_FOUND, // 80
eQMI_ERR_EXTENDED_EXTERNAL, // 81
eQMI_ERR_ACCESS_DENIED, // 82
eQMI_ERR_HARDWARE_RESTRICTED, // 83
eQMI_ERR_ACK_NOT_SENT, // 84
eQMI_ERR_INCOMPATIBLE_STATE = 90, // 90
eQMI_ERR_FDN_RESTRICT, // 91
eQMI_ERR_SUPS_FAILURE_CAUSE, // 92
eQMI_ERR_NO_RADIO, // 93
eQMI_ERR_NOT_SUPPORTED, // 94
eQMI_ERR_CARD_CALL_CONTROL_FAILED = 96, // 96
eQMI_ERR_NETWORK_ABORTED, // 97
eQMI_ERR_CAT_EVT_REG_FAILED, // 61441
eQMI_ERR_CAT_INVALID_TR, // 61442
eQMI_ERR_CAT_INVALID_ENV_CMD, // 61443
eQMI_ERR_CAT_ENV_CMD_BUSY, // 61444
eQMI_ERR_CAT_ENV_CMD_FAIL, // 61445
eQMI_ERR_ENUM_END
};
/*===========================================================================
METHOD:
IsValid (Inline Method)
DESCRIPTION:
eQMIErrorCode validity check
PARAMETERS:
ec [ I ] - Enum value being verified
RETURN VALUE:
bool
===========================================================================*/
inline bool IsValid( eQMIErrorCode ec )
{
bool retVal = false;
if ( (ec > eQMI_ERR_ENUM_BEGIN && ec <= eQMI_ERR_ACK_NOT_SENT)
|| (ec >= eQMI_ERR_INCOMPATIBLE_STATE && ec <= eQMI_ERR_NOT_SUPPORTED)
|| (ec == eQMI_ERR_CARD_CALL_CONTROL_FAILED)
|| (ec == eQMI_ERR_NETWORK_ABORTED)
|| (ec >= eQMI_ERR_CAT_EVT_REG_FAILED && ec < eQMI_ERR_ENUM_END) )
{
retVal = true;
}
return retVal;
};
/*=========================================================================*/
// eQMICallEndReason Enumeration
// QMI Call End Reason Enumeration
/*=========================================================================*/
enum eQMICallEndReason
{
eQMI_CALL_END_REASON_BEGIN = -1,
// General
eQMI_CALL_END_REASON_UNSPECIFIED = 1, // 1
eQMI_CALL_END_REASON_CLIENT_END, // 2
eQMI_CALL_END_REASON_NO_SRV, // 3
eQMI_CALL_END_REASON_FADE, // 4
eQMI_CALL_END_REASON_REL_NORMAL, // 5
eQMI_CALL_END_REASON_ACC_IN_PROG, // 6
eQMI_CALL_END_REASON_ACC_FAIL, // 7
eQMI_CALL_END_REASON_REDIR_OR_HANDOFF, // 8
eQMI_CALL_END_REASON_CLOSE_IN_PROGRESS, // 9
eQMI_CALL_END_REASON_AUTH_FAILED, // 10
eQMI_CALL_END_REASON_INTERNAL, // 11
// CDMA
eQMI_CALL_END_REASON_CDMA_LOCK = 500, // 500
eQMI_CALL_END_REASON_INTERCEPT, // 501
eQMI_CALL_END_REASON_REORDER, // 502
eQMI_CALL_END_REASON_REL_SO_REJ, // 503
eQMI_CALL_END_REASON_INCOM_CALL, // 504
eQMI_CALL_END_REASON_ALERT_STOP, // 505
eQMI_CALL_END_REASON_ACTIVATION, // 506
eQMI_CALL_END_REASON_MAX_ACCESS_PROBE, // 507
eQMI_CALL_END_REASON_CCS_NOT_SUPPORTED_BY_BS, // 508
eQMI_CALL_END_REASON_NO_RESPONSE_FROM_BS, // 509
eQMI_CALL_END_REASON_REJECTED_BY_BS, // 510
eQMI_CALL_END_REASON_INCOMPATIBLE, // 511
eQMI_CALL_END_REASON_ALREADY_IN_TC, // 512
eQMI_CALL_END_REASON_USER_CALL_ORIG_DURING_GPS, // 513
eQMI_CALL_END_REASON_USER_CALL_ORIG_DURING_SMS, // 514
eQMI_CALL_END_REASON_NO_CDMA_SRV, // 515
// GSM/WCDMA
eQMI_CALL_END_REASON_CONF_FAILED = 1000, // 1000
eQMI_CALL_END_REASON_INCOM_REJ, // 1001
eQMI_CALL_END_REASON_NO_GW_SRV, // 1002
eQMI_CALL_END_REASON_NETWORK_END, // 1003
eQMI_CALL_END_REASON_LLC_SNDCP_FAILURE, // 1004
eQMI_CALL_END_REASON_INSUFFICIENT_RESOURCES, // 1005
eQMI_CALL_END_REASON_OPTION_TEMP_OOO, // 1006
eQMI_CALL_END_REASON_NSAPI_ALREADY_USED, // 1007
eQMI_CALL_END_REASON_REGULAR_DEACTIVATION, // 1008
eQMI_CALL_END_REASON_NETWORK_FAILURE, // 1009
eQMI_CALL_END_REASON_UMTS_REATTACH_REQ, // 1010
eQMI_CALL_END_REASON_UMTS_PROTOCOL_ERROR, // 1011
eQMI_CALL_END_REASON_OPERATOR_BARRING, // 1012
eQMI_CALL_END_REASON_UNKNOWN_APN, // 1013
eQMI_CALL_END_REASON_UNKNOWN_PDP, // 1014
eQMI_CALL_END_REASON_GGSN_REJECT, // 1015
eQMI_CALL_END_REASON_ACTIVATION_REJECT, // 1016
eQMI_CALL_END_REASON_OPTION_NOT_SUPPORTED, // 1017
eQMI_CALL_END_REASON_OPTION_UNSUBSCRIBED, // 1018
eQMI_CALL_END_REASON_QOS_NOT_ACCEPTED, // 1019
eQMI_CALL_END_REASON_TFT_SEMANTIC_ERROR, // 1020
eQMI_CALL_END_REASON_TFT_SYNTAX_ERROR, // 1021
eQMI_CALL_END_REASON_UNKNOWN_PDP_CONTEXT, // 1022
eQMI_CALL_END_REASON_FILTER_SEMANTIC_ERROR, // 1023
eQMI_CALL_END_REASON_FILTER_SYNTAX_ERROR, // 1024
eQMI_CALL_END_REASON_PDP_WITHOUT_ACTIVE_TFT, // 1025
eQMI_CALL_END_REASON_INVALID_TRANSACTION_ID, // 1026
eQMI_CALL_END_REASON_MESSAGE_SEMANTIC_ERROR, // 1027
eQMI_CALL_END_REASON_INVALID_MANDATORY_INFO, // 1028
eQMI_CALL_END_REASON_TYPE_UNSUPPORTED, // 1029
eQMI_CALL_END_REASON_MSG_TYPE_WRONG_FOR_STATE, // 1030
eQMI_CALL_END_REASON_UNKNOWN_INFO_ELEMENT, // 1031
eQMI_CALL_END_REASON_CONDITIONAL_IE_ERROR, // 1032
eQMI_CALL_END_REASON_MSG_WRONG_FOR_PROTOCOL, // 1033
eQMI_CALL_END_REASON_APN_TYPE_CONFLICT, // 1034
eQMI_CALL_END_REASON_NO_GPRS_CONTEXT, // 1035
eQMI_CALL_END_REASON_FEATURE_NOT_SUPPORTED, // 1036
// CDMA 1xEV-DO (HDR)
eQMI_CALL_END_REASON_CD_GEN_OR_BUSY = 1500, // 1500
eQMI_CALL_END_REASON_CD_BILL_OR_AUTH, // 1501
eQMI_CALL_END_REASON_CHG_HDR, // 1502
eQMI_CALL_END_REASON_EXIT_HDR, // 1503
eQMI_CALL_END_REASON_HDR_NO_SESSION , // 1504
eQMI_CALL_END_REASON_HDR_ORIG_DURING_GPS_FIX, // 1505
eQMI_CALL_END_REASON_HDR_CS_TIMEOUT , // 1506
eQMI_CALL_END_REASON_HDR_RELEASED_BY_CM, // 1507
eQMI_CALL_END_REASON_END
};
/*===========================================================================
METHOD:
IsValid (Inline Method)
DESCRIPTION:
eQMICallEndReason validity check
PARAMETERS:
err [ I ] - Enum value being verified
RETURN VALUE:
bool
===========================================================================*/
inline bool IsValid( eQMICallEndReason err )
{
if ( (err >= eQMI_CALL_END_REASON_UNSPECIFIED)
&& (err <= eQMI_CALL_END_REASON_INTERNAL) )
{
return true;
}
if ( (err >= eQMI_CALL_END_REASON_CDMA_LOCK)
&& (err <= eQMI_CALL_END_REASON_NO_CDMA_SRV) )
{
return true;
}
if ( (err >= eQMI_CALL_END_REASON_CONF_FAILED)
&& (err <= eQMI_CALL_END_REASON_FEATURE_NOT_SUPPORTED) )
{
return true;
}
if ( (err >= eQMI_CALL_END_REASON_CD_GEN_OR_BUSY)
&& (err <= eQMI_CALL_END_REASON_HDR_RELEASED_BY_CM) )
{
return true;
}
return false;
};