loc api v02 update

newer version to support dsds and RAT based
cell info injections

Change-Id: I490a928db7af37a266edbad1acba6e1f9f8aa186
This commit is contained in:
Kevin Tang 2012-12-14 19:55:45 -08:00
parent 7ac13574ff
commit 660f21b540
5 changed files with 1698 additions and 1284 deletions

View file

@ -406,7 +406,16 @@ static locClientRespIndTableStructT locClientRespIndTable[]= {
//Pedomete Report //Pedomete Report
{ QMI_LOC_PEDOMETER_REPORT_IND_V02, { QMI_LOC_PEDOMETER_REPORT_IND_V02,
sizeof(qmiLocPedometerReportIndMsgT_v02)} sizeof(qmiLocPedometerReportIndMsgT_v02)},
{ QMI_LOC_INJECT_WCDMA_CELL_INFO_IND_V02,
sizeof(qmiLocInjectWCDMACellInfoIndMsgT_v02)},
{ QMI_LOC_INJECT_TDSCDMA_CELL_INFO_IND_V02,
sizeof(qmiLocInjectTDSCDMACellInfoIndMsgT_v02)},
{ QMI_LOC_INJECT_SUBSCRIBER_ID_IND_V02,
sizeof(qmiLocInjectSubscriberIDIndMsgT_v02)}
}; };
@ -1056,6 +1065,9 @@ static bool locClientHandleIndication(
case QMI_LOC_INJECT_GSM_CELL_INFO_IND_V02: case QMI_LOC_INJECT_GSM_CELL_INFO_IND_V02:
case QMI_LOC_INJECT_NETWORK_INITIATED_MESSAGE_IND_V02: case QMI_LOC_INJECT_NETWORK_INITIATED_MESSAGE_IND_V02:
case QMI_LOC_WWAN_OUT_OF_SERVICE_NOTIFICATION_IND_V02: case QMI_LOC_WWAN_OUT_OF_SERVICE_NOTIFICATION_IND_V02:
case QMI_LOC_INJECT_WCDMA_CELL_INFO_IND_V02:
case QMI_LOC_INJECT_TDSCDMA_CELL_INFO_IND_V02:
case QMI_LOC_INJECT_SUBSCRIBER_ID_IND_V02:
{ {
status = true; status = true;
break; break;
@ -1599,6 +1611,24 @@ static bool validateRequest(
break; break;
} }
case QMI_LOC_INJECT_WCDMA_CELL_INFO_REQ_V02:
{
*pOutLen = sizeof(qmiLocInjectWCDMACellInfoReqMsgT_v02);
break;
}
case QMI_LOC_INJECT_TDSCDMA_CELL_INFO_REQ_V02:
{
*pOutLen = sizeof(qmiLocInjectTDSCDMACellInfoReqMsgT_v02);
break;
}
case QMI_LOC_INJECT_SUBSCRIBER_ID_IND_V02:
{
*pOutLen = sizeof(qmiLocInjectSubscriberIDReqMsgT_v02);
break;
}
// ALL requests with no payload // ALL requests with no payload
case QMI_LOC_GET_SERVICE_REVISION_REQ_V02: case QMI_LOC_GET_SERVICE_REVISION_REQ_V02:
case QMI_LOC_GET_FIX_CRITERIA_REQ_V02: case QMI_LOC_GET_FIX_CRITERIA_REQ_V02:

View file

@ -610,6 +610,10 @@ typedef union
To send this request, set the reqId field in locClientSendReq() to To send this request, set the reqId field in locClientSendReq() to
QMI_LOC_PEDOMETER_REPORT_REQ_V02 */ QMI_LOC_PEDOMETER_REPORT_REQ_V02 */
const qmiLocInjectWCDMACellInfoReqMsgT_v02 *pInjectWCDMACellInfoReq;
const qmiLocInjectTDSCDMACellInfoReqMsgT_v02 *pInjectTDSCDMACellInfoReq;
const qmiLocInjectSubscriberIDReqMsgT_v02 *pInjectSubscriberIDReq;
}locClientReqUnionType; }locClientReqUnionType;
@ -1152,6 +1156,10 @@ typedef union
The respIndId field in the response indication callback is set to The respIndId field in the response indication callback is set to
QMI_LOC_PEDOMETER_REPORT_IND_V02. */ QMI_LOC_PEDOMETER_REPORT_IND_V02. */
const qmiLocInjectWCDMACellInfoIndMsgT_v02 *pInjectWCDMACellInfoInd;
const qmiLocInjectTDSCDMACellInfoIndMsgT_v02 *pInjectTDSCDMACellInfoInd;
const qmiLocInjectSubscriberIDIndMsgT_v02 *pInjectSubscriberIDInd;
}locClientRespIndUnionType; }locClientRespIndUnionType;
/** @} */ /* end_addtogroup data_types */ /** @} */ /* end_addtogroup data_types */

View file

@ -228,7 +228,16 @@ static loc_name_val_s_type loc_v02_event_name[] =
NAME_VAL(QMI_LOC_EVENT_MOTION_DATA_CONTROL_IND_V02), NAME_VAL(QMI_LOC_EVENT_MOTION_DATA_CONTROL_IND_V02),
NAME_VAL(QMI_LOC_PEDOMETER_REPORT_REQ_V02), NAME_VAL(QMI_LOC_PEDOMETER_REPORT_REQ_V02),
NAME_VAL(QMI_LOC_PEDOMETER_REPORT_RESP_V02), NAME_VAL(QMI_LOC_PEDOMETER_REPORT_RESP_V02),
NAME_VAL(QMI_LOC_PEDOMETER_REPORT_IND_V02) NAME_VAL(QMI_LOC_PEDOMETER_REPORT_IND_V02),
NAME_VAL(QMI_LOC_INJECT_WCDMA_CELL_INFO_REQ_V02),
NAME_VAL(QMI_LOC_INJECT_WCDMA_CELL_INFO_RESP_V02),
NAME_VAL(QMI_LOC_INJECT_WCDMA_CELL_INFO_IND_V02),
NAME_VAL(QMI_LOC_INJECT_TDSCDMA_CELL_INFO_REQ_V02),
NAME_VAL(QMI_LOC_INJECT_TDSCDMA_CELL_INFO_RESP_V02),
NAME_VAL(QMI_LOC_INJECT_TDSCDMA_CELL_INFO_IND_V02),
NAME_VAL(QMI_LOC_INJECT_SUBSCRIBER_ID_REQ_V02),
NAME_VAL(QMI_LOC_INJECT_SUBSCRIBER_ID_RESP_V02),
NAME_VAL(QMI_LOC_INJECT_SUBSCRIBER_ID_IND_V02)
}; };
static int loc_v02_event_num = sizeof(loc_v02_event_name) / sizeof(loc_name_val_s_type); static int loc_v02_event_num = sizeof(loc_v02_event_name) / sizeof(loc_name_val_s_type);

File diff suppressed because it is too large Load diff

View file

@ -64,8 +64,9 @@
*THIS IS AN AUTO GENERATED FILE. DO NOT ALTER IN ANY WAY *THIS IS AN AUTO GENERATED FILE. DO NOT ALTER IN ANY WAY
*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*/ *====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*/
/* This file was generated with Tool version 5.6 /* This file was generated with Tool version 6.0
It was generated on: Fri Oct 26 2012 It requires encode/decode library version 5 or later
It was generated on: Thu Dec 13 2012 (Spin )
From IDL File: location_service_v02.idl */ From IDL File: location_service_v02.idl */
/** @defgroup loc_qmi_consts Constant values defined in the IDL */ /** @defgroup loc_qmi_consts Constant values defined in the IDL */
@ -91,11 +92,11 @@ extern "C" {
/** Major Version Number of the IDL used to generate this file */ /** Major Version Number of the IDL used to generate this file */
#define LOC_V02_IDL_MAJOR_VERS 0x02 #define LOC_V02_IDL_MAJOR_VERS 0x02
/** Revision Number of the IDL used to generate this file */ /** Revision Number of the IDL used to generate this file */
#define LOC_V02_IDL_MINOR_VERS 0x11 #define LOC_V02_IDL_MINOR_VERS 0x12
/** Major Version Number of the qmi_idl_compiler used to generate this file */ /** Major Version Number of the qmi_idl_compiler used to generate this file */
#define LOC_V02_IDL_TOOL_VERS 0x05 #define LOC_V02_IDL_TOOL_VERS 0x06
/** Maximum Defined Message ID */ /** Maximum Defined Message ID */
#define LOC_V02_MAX_MESSAGE_ID 0x006F; #define LOC_V02_MAX_MESSAGE_ID 0x0072;
/** /**
@} @}
*/ */
@ -191,10 +192,21 @@ extern "C" {
#define QMI_LOC_MAX_SUPL_CERT_LENGTH_V02 2000 #define QMI_LOC_MAX_SUPL_CERT_LENGTH_V02 2000
/** Maximum length of the network-initiated Geofence ID /** Maximum length of the network-initiated Geofence ID
list */ list. */
#define QMI_LOC_MAX_NI_GEOFENCE_ID_LIST_LENGTH_V02 16 #define QMI_LOC_MAX_NI_GEOFENCE_ID_LIST_LENGTH_V02 16
/** Maximum length of the injected network initiated message. */ /** Maximum value of WDMA frequency for injection of WCDMA cell
information */
#define QMI_LOC_MAX_WCDMA_FREQ_V02 16383
/** Maximum value of PSC for injection of WCDMA cell information */
#define QMI_LOC_MAX_WCDMA_PSC_V02 511
/** Maximum value of TDSCDMA frequency for injection of TDSCDMA cell
information */
#define QMI_LOC_MAX_TDSCDMA_FREQ_V02 16383
/** Maximum length of the injected network-initiated message. */
#define QMI_LOC_MAX_INJECTED_NETWORK_INITIATED_MESSAGE_LENGTH_V02 1024 #define QMI_LOC_MAX_INJECTED_NETWORK_INITIATED_MESSAGE_LENGTH_V02 1024
/** /**
@} @}
@ -2277,9 +2289,9 @@ typedef struct {
uint16_t samplesPerBatch; uint16_t samplesPerBatch;
/**< Specifies the number of samples per batch the GNSS location engine is to /**< Specifies the number of samples per batch the GNSS location engine is to
receive. The sensor sampling frequency can be computed as follows: \n receive. The sensor sampling frequency can be computed as follows: \vspace{-0.06in} \n
samplingFrequency = samplesPerBatch * batchesPerSecond \n samplingFrequency = samplesPerBatch * batchesPerSecond \vspace{-0.06in} \n
samplesPerBatch must be a nonzero positive value. samplesPerBatch must be a nonzero positive value.
*/ */
@ -2287,7 +2299,7 @@ typedef struct {
uint16_t batchesPerSecond; uint16_t batchesPerSecond;
/**< Number of sensor-data batches the GNSS location engine is to receive /**< Number of sensor-data batches the GNSS location engine is to receive
per second. The rate is specified in an integral number of batches per per second. The rate is specified in an integral number of batches per
second (Hz). \n second (Hz). \vspace{-0.06in} \n
batchesPerSecond must be a nonzero positive value. batchesPerSecond must be a nonzero positive value.
*/ */
@ -2456,7 +2468,7 @@ typedef struct {
/* Mandatory */ /* Mandatory */
/* WWAN Type */ /* WWAN Type */
qmiLocWWANTypeEnumT_v02 wwanType; qmiLocWWANTypeEnumT_v02 wwanType;
/**< Identifies the WWAN type for this request. \n /**< Identifies the WWAN type for this request.
Valid values: \begin{itemize1} Valid values: \begin{itemize1}
\item 0x00000000 -- WWAN_TYPE_ INTERNET \item 0x00000000 -- WWAN_TYPE_ INTERNET
@ -7871,13 +7883,13 @@ typedef enum {
typedef struct { typedef struct {
qmiLocMotionStateEnumT_v02 motion_state; qmiLocMotionStateEnumT_v02 motion_state;
/**< Current motion state of the user. \n /**< Current motion state of the user.
Valid values: \begin{itemize1} Valid values: \begin{itemize1}
\item eQMI_LOC_MOTION_ STATE_UNKNOWN (0) -- Device state is not known. \item eQMI_LOC_MOTION_ STATE_UNKNOWN (0) -- Device state is not known.
\item eQMI_LOC_MOTION_ STATE_STATIONARY (1) -- Device state is Stationary. \item eQMI_LOC_MOTION_ STATE_STATIONARY (1) -- Device state is Stationary.
\item eQMI_LOC_MOTION_ STATE_IN_MOTION (2) -- Device state is In Motion. \item eQMI_LOC_MOTION_ STATE_IN_MOTION (2) -- Device state is In Motion.
\vspace{0.06in} \end{itemize1} \vspace{0.1in} \end{itemize1}
Absolute rest and relative rest are both indicated by setting motion_state Absolute rest and relative rest are both indicated by setting motion_state
to Stationary. The relative rest state can be distinguished from absolute to Stationary. The relative rest state can be distinguished from absolute
@ -7885,7 +7897,7 @@ typedef struct {
*/ */
qmiLocMotionModeEnumT_v02 motion_mode; qmiLocMotionModeEnumT_v02 motion_mode;
/**< Modes of user motion. \n /**< Modes of user motion.
Valid values: \begin{itemize1} Valid values: \begin{itemize1}
\item eQMI_LOC_MOTION_MODE_ UNKNOWN (0) -- Device movement is not known. \item eQMI_LOC_MOTION_MODE_ UNKNOWN (0) -- Device movement is not known.
@ -7898,7 +7910,7 @@ typedef struct {
is in Pedestrian Running mode. is in Pedestrian Running mode.
\item eQMI_LOC_MOTION_MODE_ VEHICLE_UNKNOWN (300) -- Device movement is \item eQMI_LOC_MOTION_MODE_ VEHICLE_UNKNOWN (300) -- Device movement is
in Vehicular mode; nothing else is known about the movement. in Vehicular mode; nothing else is known about the movement.
\vspace{0.06in} \end{itemize1} \vspace{0.1in} \end{itemize1}
The motion_mode value is independent of the motion_state value. The motion_mode value is independent of the motion_state value.
*/ */
@ -7906,11 +7918,11 @@ typedef struct {
float probability_of_state; float probability_of_state;
/**< Probability that the device is actually undergoing the motion state /**< Probability that the device is actually undergoing the motion state
specified by the combination of the values of motion_state, motion_mode, specified by the combination of the values of motion_state, motion_mode,
and motion_sub_mode. \vspace{0.06in} and motion_sub_mode. \vspace{0.1in}
This value is a floating point number in the range of 0 to 100, in This value is a floating point number in the range of 0 to 100, in
units of percent probability. Any value greater than 99.9999 is units of percent probability. Any value greater than 99.9999 is
applied as 99.9999. \vspace{0.06in} applied as 99.9999. \vspace{0.1in}
It is recommended that if a particular combination of motion_state and It is recommended that if a particular combination of motion_state and
motion_mode cannot be determined with more than 50 percent confidence, motion_mode cannot be determined with more than 50 percent confidence,
@ -7918,7 +7930,7 @@ typedef struct {
For example, if the mode of In-Motion + Pedestrian-Running can only be For example, if the mode of In-Motion + Pedestrian-Running can only be
determined with 50 percent probability, and the simpler statement of In-Motion determined with 50 percent probability, and the simpler statement of In-Motion
can be determined with 90 percent probability, it is recommended that this field can be determined with 90 percent probability, it is recommended that this field
be used to simply state In-Motion with 90 percent probability. \vspace{0.06in} be used to simply state In-Motion with 90 percent probability. \vspace{0.1in}
If the motion_state is not known, the value in this field is not used. If the motion_state is not known, the value in this field is not used.
*/ */
@ -7932,11 +7944,11 @@ typedef struct {
will no longer be used. The timeout value is in units of milliseconds. will no longer be used. The timeout value is in units of milliseconds.
Values in the range of 0 to 10000 are accepted. If 65535 is provided, Values in the range of 0 to 10000 are accepted. If 65535 is provided,
the motion data input is applied until the next input is the motion data input is applied until the next input is
received. \vspace{0.06in} received. \n
If the determination of motion data is an instantaneous observation If the determination of motion data is an instantaneous observation
and no notice is guaranteed to be given via the QMI on a change in the and no notice is guaranteed to be given via the QMI on a change in the
state of the motion data, it is recommended that this field be set to 0. \vspace{0.06in} state of the motion data, it is recommended that this field be set to 0. \vspace{0.1in}
If the determination of motion data is continuously monitored If the determination of motion data is continuously monitored
external to the QMI and an update is always applied to the QMI upon any external to the QMI and an update is always applied to the QMI upon any
@ -7959,7 +7971,6 @@ typedef struct {
/* Mandatory */ /* Mandatory */
/* Motion Data */ /* Motion Data */
qmiLocMotionDataStructT_v02 motion_data; qmiLocMotionDataStructT_v02 motion_data;
/**< Current motion data of the client */
}qmiLocInjectMotionDataReqMsgT_v02; /* Message */ }qmiLocInjectMotionDataReqMsgT_v02; /* Message */
/** /**
@} @}
@ -8015,7 +8026,7 @@ typedef struct {
typedef struct { typedef struct {
/* Mandatory */ /* Mandatory */
/* Get NI Geofence ID List status */ /* Get NI Geofence ID List Status */
qmiLocStatusEnumT_v02 status; qmiLocStatusEnumT_v02 status;
/**< Status of the Get NI Geofence ID List request. /**< Status of the Get NI Geofence ID List request.
Valid values: \n Valid values: \n
@ -8051,16 +8062,16 @@ typedef struct {
typedef struct { typedef struct {
uint32_t MCC; uint32_t MCC;
/**< GSM mobile country code. Refer to ITU-T E.212 specification */ /**< GSM mobile country code. Refer to ITU-T E.212 \hyperref[R2]{[R2]}. */
uint32_t MNC; uint32_t MNC;
/**< GSM mobile network code. Refer to ITU-T E.212 specification*/ /**< GSM mobile network code. Refer to \hyperref[R2]{[R2]}. */
uint32_t LAC; uint32_t LAC;
/**< GSM location area code.Refer to ITU-T E.212 specification */ /**< GSM location area code. Refer to \hyperref[R2]{[R2]}. */
uint32_t CID; uint32_t CID;
/**< GSM cell identification.Refer to ITU-T E.212 specification */ /**< GSM cell identification. Refer to \hyperref[R2]{[R2]}. */
}qmiLocGSMCellIdStructT_v02; /* Type */ }qmiLocGSMCellIdStructT_v02; /* Type */
/** /**
@} @}
@ -8069,23 +8080,30 @@ typedef struct {
/** @addtogroup loc_qmi_messages /** @addtogroup loc_qmi_messages
@{ @{
*/ */
/** Request Message; Used to inject GSM Cell information into the location /** Request Message; Injects GSM cell information into the location
engine. */ engine. */
typedef struct { typedef struct {
/* Mandatory */ /* Mandatory */
/* GSM Cell ID */ /* GSM Cell ID */
qmiLocGSMCellIdStructT_v02 gsmCellId; qmiLocGSMCellIdStructT_v02 gsmCellId;
/**< Identifies the GSM Cell the device is currently camped on.*/ /**< \n Identifies the GSM cell on which the device is currently camped. */
/* Mandatory */ /* Mandatory */
/* Roaming Status */ /* Roaming Status */
uint8_t roamingStatus; uint8_t roamingStatus;
/**< Whether the device is roaming. /**< Whether the device is roaming.
\begin{itemize1} \begin{itemize1}
\item 0x01 (TRUE) -- The device is roaming. \item 0x01 (TRUE) -- Device is roaming
\item 0x00 (FALSE) -- The device is not roaming. \item 0x00 (FALSE) -- Device is not roaming
\vspace{-0.18in} \end{itemize1}*/ \vspace{-0.18in} \end{itemize1}*/
/* Optional */
/* Timing Advance */
uint8_t timingAdvance_valid; /**< Must be set to true if timingAdvance is being passed */
uint32_t timingAdvance;
/**< The round trip delay between the MS and the BS, in unit of 3.69 microseconds.
Refer to 3GPP TS 05.10 and TS 45.010 */
}qmiLocInjectGSMCellInfoReqMsgT_v02; /* Message */ }qmiLocInjectGSMCellInfoReqMsgT_v02; /* Message */
/** /**
@} @}
@ -8094,7 +8112,7 @@ typedef struct {
/** @addtogroup loc_qmi_messages /** @addtogroup loc_qmi_messages
@{ @{
*/ */
/** Indication Message; Used to inject GSM Cell information into the location /** Indication Message; Injects GSM cell information into the location
engine. */ engine. */
typedef struct { typedef struct {
@ -8103,24 +8121,242 @@ typedef struct {
qmiLocStatusEnumT_v02 status; qmiLocStatusEnumT_v02 status;
/**< Status of the Inject GSM Cell Info request. /**< Status of the Inject GSM Cell Info request.
Valid values: \n Valid values: \begin{itemize1}
- 0x00000000 -- SUCCESS \n \item 0x00000000 -- SUCCESS
- 0x00000001 -- GENERAL_FAILURE \n \item 0x00000001 -- GENERAL_FAILURE
- 0x00000002 -- UNSUPPORTED \n \item 0x00000002 -- UNSUPPORTED
- 0x00000003 -- INVALID_PARAMETER \n \item 0x00000003 -- INVALID_ PARAMETER
- 0x00000004 -- ENGINE_BUSY \n \item 0x00000004 -- ENGINE_BUSY
- 0x00000006 -- TIMEOUT */ \item 0x00000006 -- TIMEOUT
\vspace{-018in} \end{itemize1} */
}qmiLocInjectGSMCellInfoIndMsgT_v02; /* Message */ }qmiLocInjectGSMCellInfoIndMsgT_v02; /* Message */
/** /**
@} @}
*/ */
/** @addtogroup loc_qmi_enums
@{
*/
typedef enum {
QMILOCROAMINGSTATUSENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/
eQMI_LOC_PHONE_NOT_ROAMING_V02 = 1, /**< Modem is camped on a home network */
eQMI_LOC_PHONE_ROAMING_V02 = 2, /**< Modem is camped on a roaming network. */
QMILOCROAMINGSTATUSENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/
}qmiLocRoamingStatusEnumT_v02;
/**
@}
*/
/** @addtogroup loc_qmi_aggregates
@{
*/
typedef struct {
uint32_t mcc;
/**< WCDMA mobile country code. Refer to ITU-T E.212 \hyperref[R2]{[R2]}. */
uint32_t mnc;
/**< WCDMA mobile network code. Refer to \hyperref[R2]{[R2]}. */
uint32_t cid;
/**< WCDMA Cell Identity. Refer to \hyperref[R2]{[R2]}. */
}qmiLocWCDMACellIdStructT_v02; /* Type */
/**
@}
*/
/** @addtogroup loc_qmi_messages
@{
*/
/** Request Message; Injects WCDMA cell information into the location
engine. */
typedef struct {
/* Mandatory */
/* WCDMA Cell ID */
qmiLocWCDMACellIdStructT_v02 wcdmaCellId;
/**< \n Identifies the WCDMA cell on which the device is currently camped. */
/* Mandatory */
/* Roaming Status */
qmiLocRoamingStatusEnumT_v02 roamingStatus;
/**< Whether the device is roaming.
Valid values: \begin{itemize1}
\item eQMI_LOC_PHONE_NOT_ROAMING -- Device not roaming, i.e. its camped on
its home network
\item eQMI_LOC_PHONE_ROAMING -- Device is currently roaming, i.e. its camped
on a roaming network.
\vspace{0.1in} \end{itemize1} */
/* Optional */
uint8_t freq_valid; /**< Must be set to true if freq is being passed */
uint32_t freq;
/**< FrequencyInfo of the serving cell. Valid range is 0 to 16383. Refer to TS 25.331 */
/* Optional */
uint8_t psc_valid; /**< Must be set to true if psc is being passed */
uint32_t psc;
/**< PrimaryScramblingCode of the serving cell. Valid range is 0 to 511. Refer to TS 25.331 */
}qmiLocInjectWCDMACellInfoReqMsgT_v02; /* Message */
/**
@}
*/
/** @addtogroup loc_qmi_messages
@{
*/
/** Indication Message; Injects WCDMA cell information into the location
engine. */
typedef struct {
/* Mandatory */
/* Inject WCDMA Cell Info Status */
qmiLocStatusEnumT_v02 status;
/**< Status of the Inject WCDMA Cell Info request.
Valid values: \begin{itemize1}
\item 0x00000000 -- SUCCESS
\item 0x00000001 -- GENERAL_FAILURE
\item 0x00000002 -- UNSUPPORTED
\item 0x00000003 -- INVALID_ PARAMETER
\item 0x00000004 -- ENGINE_BUSY
\item 0x00000006 -- TIMEOUT
\vspace{-018in} \end{itemize1} */
}qmiLocInjectWCDMACellInfoIndMsgT_v02; /* Message */
/**
@}
*/
/** @addtogroup loc_qmi_aggregates
@{
*/
typedef struct {
uint32_t mcc;
/**< TDSCDMA mobile country code. Refer to ITU-T E.212 \hyperref[R2]{[R2]}. */
uint32_t mnc;
/**< TDSCDMA mobile network code. Refer to \hyperref[R2]{[R2]}. */
uint32_t cid;
/**< TDSCDMA Cell Identity. Refer to TS 25.331. */
uint32_t lac;
/**< TDSCDMA location area code. Refer to \hyperref[R2]{[R2]}. */
}qmiLocTDSCDMACellIdStructT_v02; /* Type */
/**
@}
*/
/** @addtogroup loc_qmi_messages
@{
*/
/** Request Message; Injects TDSCDMA cell information into the location
engine. */
typedef struct {
/* Mandatory */
/* TDSCDMA Cell ID */
qmiLocTDSCDMACellIdStructT_v02 tdscdmaCellId;
/**< \n Identifies the TDSCDMA cell on which the device is currently camped. */
/* Mandatory */
/* Roaming Status */
qmiLocRoamingStatusEnumT_v02 roamingStatus;
/**< Whether the device is roaming.
Valid values: \begin{itemize1}
\item eQMI_LOC_PHONE_NOT_ROAMING -- Device not roaming, i.e. its camped on
its home network
\item eQMI_LOC_PHONE_ROAMING -- Device is currently roaming, i.e. its camped
on a roaming network.
\vspace{0.1in} \end{itemize1} */
/* Optional */
uint8_t freq_valid; /**< Must be set to true if freq is being passed */
uint32_t freq;
/**< FrequencyInfo of the serving cell. Valid range is 0 to 16383. Refer to TS 25.331 */
}qmiLocInjectTDSCDMACellInfoReqMsgT_v02; /* Message */
/**
@}
*/
/** @addtogroup loc_qmi_messages
@{
*/
/** Indication Message; Injects TDSCDMA cell information into the location
engine. */
typedef struct {
/* Mandatory */
/* Inject TDSCDMA Cell Info Status */
qmiLocStatusEnumT_v02 status;
/**< Status of the Inject TDSCDMA Cell Info request.
Valid values: \begin{itemize1}
\item 0x00000000 -- SUCCESS
\item 0x00000001 -- GENERAL_FAILURE
\item 0x00000002 -- UNSUPPORTED
\item 0x00000003 -- INVALID_ PARAMETER
\item 0x00000004 -- ENGINE_BUSY
\item 0x00000006 -- TIMEOUT
\vspace{-018in} \end{itemize1} */
}qmiLocInjectTDSCDMACellInfoIndMsgT_v02; /* Message */
/**
@}
*/
/** @addtogroup loc_qmi_messages
@{
*/
/** Request Message; Injects the phone's subscriber ID into the location engine. */
typedef struct {
/* Optional */
/* Preferred IMSI */
uint8_t preferredIMSI_valid; /**< Must be set to true if preferredIMSI is being passed */
uint64_t preferredIMSI;
/**< \n The IMSI number of the preferred RAT. Refer to \hyperref[R2]{[R2]}.*/
/* Optional */
/* Preferred MSISDN */
uint8_t preferredMSISDN_valid; /**< Must be set to true if preferredMSISDN is being passed */
uint64_t preferredMSISDN;
/**< \n The MSISDN number of the preferred RAT. Refer to \hyperref[R2]{[R2]}.*/
}qmiLocInjectSubscriberIDReqMsgT_v02; /* Message */
/**
@}
*/
/** @addtogroup loc_qmi_messages
@{
*/
/** Indication Message; Injects the phone's subscriber ID into the location engine. */
typedef struct {
/* Mandatory */
/* Inject Subscriber ID Status */
qmiLocStatusEnumT_v02 status;
/**< Status of the Inject Subscriber ID request.
Valid values: \begin{itemize1}
\item 0x00000000 -- SUCCESS
\item 0x00000001 -- GENERAL_FAILURE
\item 0x00000002 -- UNSUPPORTED
\item 0x00000003 -- INVALID_ PARAMETER
\item 0x00000004 -- ENGINE_BUSY
\item 0x00000006 -- TIMEOUT
\vspace{-018in} \end{itemize1} */
}qmiLocInjectSubscriberIDIndMsgT_v02; /* Message */
/**
@}
*/
/** @addtogroup loc_qmi_enums /** @addtogroup loc_qmi_enums
@{ @{
*/ */
typedef enum { typedef enum {
QMILOCINJECTEDNETWORKINITIATEDMESSAGETYPEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/ QMILOCINJECTEDNETWORKINITIATEDMESSAGETYPEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/
eQMI_LOC_INJECTED_NETWORK_INITIATED_MESSAGE_TYPE_SUPL_V02 = 0, /**< SUPL netwrok initiated message is being injected. */ eQMI_LOC_INJECTED_NETWORK_INITIATED_MESSAGE_TYPE_SUPL_V02 = 0, /**< SUPL network-initiated message is being injected. */
QMILOCINJECTEDNETWORKINITIATEDMESSAGETYPEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/ QMILOCINJECTEDNETWORKINITIATEDMESSAGETYPEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/
}qmiLocInjectedNetworkInitiatedMessageTypeEnumT_v02; }qmiLocInjectedNetworkInitiatedMessageTypeEnumT_v02;
/** /**
@ -8130,24 +8366,25 @@ typedef enum {
/** @addtogroup loc_qmi_messages /** @addtogroup loc_qmi_messages
@{ @{
*/ */
/** Request Message; Used to inject a network initiated message into the location /** Request Message; Injects a network-initiated message into the location
engine. */ engine. */
typedef struct { typedef struct {
/* Mandatory */ /* Mandatory */
/* Injected Network Initiated Message Type */ /* Injected Network Initiated Message Type */
qmiLocInjectedNetworkInitiatedMessageTypeEnumT_v02 injectedNIMessageType; qmiLocInjectedNetworkInitiatedMessageTypeEnumT_v02 injectedNIMessageType;
/**< Type of the network initiated message being injected /**< Type of the network-initiated message being injected.
Valid Values:
- eQMI_LOC_INJECTED_NETWORK_INITIATED_MESSAGE_TYPE_SUPL (0) -- SUPL netwrok initiated message is being injected. */ Valid values:
- eQMI_LOC_INJECTED_NETWORK_INITIATED_MESSAGE_TYPE_SUPL (0) -- SUPL network-initiated message is being injected. */
/* Mandatory */ /* Mandatory */
/* Injected Network Initiated Message */ /* Injected Network Initiated Message */
uint32_t injectedNIMessage_len; /**< Must be set to # of elements in injectedNIMessage */ uint32_t injectedNIMessage_len; /**< Must be set to # of elements in injectedNIMessage */
uint8_t injectedNIMessage[QMI_LOC_MAX_INJECTED_NETWORK_INITIATED_MESSAGE_LENGTH_V02]; uint8_t injectedNIMessage[QMI_LOC_MAX_INJECTED_NETWORK_INITIATED_MESSAGE_LENGTH_V02];
/**< Network initiated message body. /**< Network-initiated message body.
If the inject NI message type is TYPE_SUPL, the message contains If the inject NI message type is TYPE_SUPL, the message contains
a SUPL INIT message as defined in OMA-TS-ULP-V2_0-20110527-C specification. */ a SUPL INIT message as defined in OMA-TS-ULP-V2_0-20110527-C \hyperref[S5]{[S5]}. */
}qmiLocInjectNetworkInitiatedMessageReqMsgT_v02; /* Message */ }qmiLocInjectNetworkInitiatedMessageReqMsgT_v02; /* Message */
/** /**
@} @}
@ -8156,7 +8393,7 @@ typedef struct {
/** @addtogroup loc_qmi_messages /** @addtogroup loc_qmi_messages
@{ @{
*/ */
/** Indication Message; Used to inject a network initiated message into the location /** Indication Message; Injects a network-initiated message into the location
engine. */ engine. */
typedef struct { typedef struct {
@ -8165,14 +8402,15 @@ typedef struct {
qmiLocStatusEnumT_v02 status; qmiLocStatusEnumT_v02 status;
/**< Status of the Inject Network Initiated Message request. /**< Status of the Inject Network Initiated Message request.
Valid values: \n Valid values: \begin{itemize1}
- 0x00000000 -- SUCCESS \n \item 0x00000000 -- SUCCESS
- 0x00000001 -- GENERAL_FAILURE \n \item 0x00000001 -- GENERAL_FAILURE
- 0x00000002 -- UNSUPPORTED \n \item 0x00000002 -- UNSUPPORTED
- 0x00000003 -- INVALID_PARAMETER \n \item 0x00000003 -- INVALID_ PARAMETER
- 0x00000004 -- ENGINE_BUSY \n \item 0x00000004 -- ENGINE_BUSY
- 0x00000006 -- TIMEOUT \n \item 0x00000006 -- TIMEOUT
- 0x00000008 -- INSUFFICIENT_MEMORY \n */ \item 0x00000008 -- INSUFFICIENT_ MEMORY
\vspace{-0.18in} \end{itemize1} */
}qmiLocInjectNetworkInitiatedMessageIndMsgT_v02; /* Message */ }qmiLocInjectNetworkInitiatedMessageIndMsgT_v02; /* Message */
/** /**
@} @}
@ -8187,22 +8425,23 @@ typedef struct {
/** @addtogroup loc_qmi_messages /** @addtogroup loc_qmi_messages
@{ @{
*/ */
/** Indication Message; Used to notify the location engine that the device is /** Indication Message; Notifies the location engine that the device is out of
no longer camped. */ service. */
typedef struct { typedef struct {
/* Mandatory */ /* Mandatory */
/* Notify WWAN Out of Service Status */ /* Notify WWAN Out of Service Status */
qmiLocStatusEnumT_v02 status; qmiLocStatusEnumT_v02 status;
/**< Status of the Notify WWAN out of service request. /**< Status of the Notify WWAN Out of Service request.
Valid values: \n Valid values: \begin{itemize1}
- 0x00000000 -- SUCCESS \n \item 0x00000000 -- SUCCESS
- 0x00000001 -- GENERAL_FAILURE \n \item 0x00000001 -- GENERAL_FAILURE
- 0x00000002 -- UNSUPPORTED \n \item 0x00000002 -- UNSUPPORTED
- 0x00000003 -- INVALID_PARAMETER \n \item 0x00000003 -- INVALID_ PARAMETER
- 0x00000004 -- ENGINE_BUSY \n \item 0x00000004 -- ENGINE_BUSY
- 0x00000006 -- TIMEOUT \n \item 0x00000006 -- TIMEOUT
\vspace{-0.18in} \end{itemize1}
*/ */
}qmiLocWWANOutOfServiceNotificationIndMsgT_v02; /* Message */ }qmiLocWWANOutOfServiceNotificationIndMsgT_v02; /* Message */
/** /**
@ -8505,6 +8744,15 @@ typedef struct {
#define QMI_LOC_PEDOMETER_REPORT_REQ_V02 0x006F #define QMI_LOC_PEDOMETER_REPORT_REQ_V02 0x006F
#define QMI_LOC_PEDOMETER_REPORT_RESP_V02 0x006F #define QMI_LOC_PEDOMETER_REPORT_RESP_V02 0x006F
#define QMI_LOC_PEDOMETER_REPORT_IND_V02 0x006F #define QMI_LOC_PEDOMETER_REPORT_IND_V02 0x006F
#define QMI_LOC_INJECT_WCDMA_CELL_INFO_REQ_V02 0x0070
#define QMI_LOC_INJECT_WCDMA_CELL_INFO_RESP_V02 0x0070
#define QMI_LOC_INJECT_WCDMA_CELL_INFO_IND_V02 0x0070
#define QMI_LOC_INJECT_TDSCDMA_CELL_INFO_REQ_V02 0x0071
#define QMI_LOC_INJECT_TDSCDMA_CELL_INFO_RESP_V02 0x0071
#define QMI_LOC_INJECT_TDSCDMA_CELL_INFO_IND_V02 0x0071
#define QMI_LOC_INJECT_SUBSCRIBER_ID_REQ_V02 0x0072
#define QMI_LOC_INJECT_SUBSCRIBER_ID_RESP_V02 0x0072
#define QMI_LOC_INJECT_SUBSCRIBER_ID_IND_V02 0x0072
/** /**
@} @}
*/ */