1 /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * uqmi -- tiny QMI support implementation
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2 of the License, or (at your option) any later version.
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the
17 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 * Boston, MA 02110-1301 USA.
20 * Copyright (C) 2012 Google Inc.
21 * Copyright (C) 2012-2017 Aleksander Morgado <aleksander@aleksander.es>
24 #ifndef _LIBQMI_GLIB_QMI_ENUMS_PDS_H_
25 #define _LIBQMI_GLIB_QMI_ENUMS_PDS_H_
28 * SECTION: qmi-enums-pds
30 * This section defines enumerations and flags used in the PDS service
34 /*****************************************************************************/
35 /* Helper enums for the 'QMI PDS Event Report' indication */
38 * QmiPdsOperationMode:
39 * @QMI_PDS_OPERATION_MODE_UNKNOWN: Unknown (position not fixed yet).
40 * @QMI_PDS_OPERATION_MODE_STANDALONE: Standalone.
41 * @QMI_PDS_OPERATION_MODE_MS_BASED: Mobile Station Based (MSB) A-GPS.
42 * @QMI_PDS_OPERATION_MODE_MS_ASSISTED: Mobile Station Assisted (MSA) A-GPS.
44 * Operation mode used to compute the position.
48 typedef enum { /*< since=1.0 >*/
49 QMI_PDS_OPERATION_MODE_UNKNOWN
= -1,
50 QMI_PDS_OPERATION_MODE_STANDALONE
= 0,
51 QMI_PDS_OPERATION_MODE_MS_BASED
= 1,
52 QMI_PDS_OPERATION_MODE_MS_ASSISTED
= 2
53 } QmiPdsOperationMode
;
56 * QmiPdsPositionSessionStatus:
57 * @QMI_PDS_POSITION_SESSION_STATUS_SUCCESS: Success.
58 * @QMI_PDS_POSITION_SESSION_STATUS_IN_PROGRESS: In progress.
59 * @QMI_PDS_POSITION_SESSION_STATUS_GENERAL_FAILURE: General failure.
60 * @QMI_PDS_POSITION_SESSION_STATUS_TIMEOUT: Timeout.
61 * @QMI_PDS_POSITION_SESSION_STATUS_USER_ENDED_SESSION: User ended session.
62 * @QMI_PDS_POSITION_SESSION_STATUS_BAD_PARAMETER: Bad parameter.
63 * @QMI_PDS_POSITION_SESSION_STATUS_PHONE_OFFLINE: Phone is offline.
64 * @QMI_PDS_POSITION_SESSION_STATUS_ENGINE_LOCKED: Engine locked.
65 * @QMI_PDS_POSITION_SESSION_STATUS_E911_SESSION_IN_PROGRESS: Emergency call in progress.
67 * Status of the positioning session.
71 typedef enum { /*< since=1.0 >*/
72 QMI_PDS_POSITION_SESSION_STATUS_SUCCESS
= 0x00,
73 QMI_PDS_POSITION_SESSION_STATUS_IN_PROGRESS
= 0x01,
74 QMI_PDS_POSITION_SESSION_STATUS_GENERAL_FAILURE
= 0x02,
75 QMI_PDS_POSITION_SESSION_STATUS_TIMEOUT
= 0x03,
76 QMI_PDS_POSITION_SESSION_STATUS_USER_ENDED_SESSION
= 0x04,
77 QMI_PDS_POSITION_SESSION_STATUS_BAD_PARAMETER
= 0x05,
78 QMI_PDS_POSITION_SESSION_STATUS_PHONE_OFFLINE
= 0x06,
79 QMI_PDS_POSITION_SESSION_STATUS_ENGINE_LOCKED
= 0x07,
80 QMI_PDS_POSITION_SESSION_STATUS_E911_SESSION_IN_PROGRESS
= 0x08
81 } QmiPdsPositionSessionStatus
;
85 * @QMI_PDS_DATA_VALID_TIMESTAMP_CALENDAR: Timestamp calendar (GPS time).
86 * @QMI_PDS_DATA_VALID_TIMESTAMP_UTC: Timestamp (UTC).
87 * @QMI_PDS_DATA_VALID_LEAP_SECONDS: Leap seconds.
88 * @QMI_PDS_DATA_VALID_TIME_UNCERTAINTY: Time uncertainty.
89 * @QMI_PDS_DATA_VALID_LATITUDE: Latitude.
90 * @QMI_PDS_DATA_VALID_LONGITUDE: Longitude.
91 * @QMI_PDS_DATA_VALID_ELLIPSOID_ALTITUDE: Ellipsoid altitude.
92 * @QMI_PDS_DATA_VALID_MEAN_SEA_LEVEL_ALTITUDE: Mean sea level altitude.
93 * @QMI_PDS_DATA_VALID_HORIZONTAL_SPEED: Horizontal speed.
94 * @QMI_PDS_DATA_VALID_VERTICAL_SPEED: Vertical speed.
95 * @QMI_PDS_DATA_VALID_HEADING: Heading.
96 * @QMI_PDS_DATA_VALID_HORIZONTAL_UNCERTAINTY_CIRCULAR: Horizontal uncertainty circular.
97 * @QMI_PDS_DATA_VALID_HORIZONTAL_UNCERTAINTY_ELLIPSE_SEMI_MAJOR: Horizontal uncertainty ellipse semi-major.
98 * @QMI_PDS_DATA_VALID_HORIZONTAL_UNCERTAINTY_ELLIPSE_SEMI_MINOR: Horizontal uncertainty ellipse semi-minor.
99 * @QMI_PDS_DATA_VALID_HORIZONTAL_UNCERTAINTY_ELLIPSE_ORIENT_AZIMUTH: Horizontal uncertainty ellipse orient azimuth.
100 * @QMI_PDS_DATA_VALID_VERTICAL_UNCERTAINTY: Vertical uncertainty.
101 * @QMI_PDS_DATA_VALID_HORIZONTAL_VELOCITY_UNCERTAINTY: Horizontal velocity uncertainty.
102 * @QMI_PDS_DATA_VALID_VERTICAL_VELOCITY_UNCERTAINTY: Vertical velocity uncertainty.
103 * @QMI_PDS_DATA_VALID_HORIZONTAL_CONFIDENCE: Horizontal confidence.
104 * @QMI_PDS_DATA_VALID_POSITION_DOP: Position dillution of precision.
105 * @QMI_PDS_DATA_VALID_HORIZONTAL_DOP: Horizontal dillution of precision.
106 * @QMI_PDS_DATA_VALID_VERTICAL_DOP: Vertical dillution of precision.
107 * @QMI_PDS_DATA_VALID_OPERATING_MODE: Operating mode.
109 * Flags to indicate which position data parameters are valid.
113 typedef enum { /*< since=1.0 >*/
114 QMI_PDS_DATA_VALID_TIMESTAMP_CALENDAR
= 1 << 0,
115 QMI_PDS_DATA_VALID_TIMESTAMP_UTC
= 1 << 1,
116 QMI_PDS_DATA_VALID_LEAP_SECONDS
= 1 << 2,
117 QMI_PDS_DATA_VALID_TIME_UNCERTAINTY
= 1 << 3,
118 QMI_PDS_DATA_VALID_LATITUDE
= 1 << 4,
119 QMI_PDS_DATA_VALID_LONGITUDE
= 1 << 5,
120 QMI_PDS_DATA_VALID_ELLIPSOID_ALTITUDE
= 1 << 6,
121 QMI_PDS_DATA_VALID_MEAN_SEA_LEVEL_ALTITUDE
= 1 << 7,
122 QMI_PDS_DATA_VALID_HORIZONTAL_SPEED
= 1 << 8,
123 QMI_PDS_DATA_VALID_VERTICAL_SPEED
= 1 << 9,
124 QMI_PDS_DATA_VALID_HEADING
= 1 << 10,
125 QMI_PDS_DATA_VALID_HORIZONTAL_UNCERTAINTY_CIRCULAR
= 1 << 11,
126 QMI_PDS_DATA_VALID_HORIZONTAL_UNCERTAINTY_ELLIPSE_SEMI_MAJOR
= 1 << 12,
127 QMI_PDS_DATA_VALID_HORIZONTAL_UNCERTAINTY_ELLIPSE_SEMI_MINOR
= 1 << 13,
128 QMI_PDS_DATA_VALID_HORIZONTAL_UNCERTAINTY_ELLIPSE_ORIENT_AZIMUTH
= 1 << 14,
129 QMI_PDS_DATA_VALID_VERTICAL_UNCERTAINTY
= 1 << 15,
130 QMI_PDS_DATA_VALID_HORIZONTAL_VELOCITY_UNCERTAINTY
= 1 << 16,
131 QMI_PDS_DATA_VALID_VERTICAL_VELOCITY_UNCERTAINTY
= 1 << 17,
132 QMI_PDS_DATA_VALID_HORIZONTAL_CONFIDENCE
= 1 << 18,
133 QMI_PDS_DATA_VALID_POSITION_DOP
= 1 << 19,
134 QMI_PDS_DATA_VALID_HORIZONTAL_DOP
= 1 << 20,
135 QMI_PDS_DATA_VALID_VERTICAL_DOP
= 1 << 21,
136 QMI_PDS_DATA_VALID_OPERATING_MODE
= 1 << 22
139 /*****************************************************************************/
140 /* Helper enums for the 'QMI PDS Get GPS Service State' request/response */
143 * QmiPdsTrackingSessionState:
144 * @QMI_PDS_TRACKING_SESSION_STATE_UNKNOWN: Unknown state.
145 * @QMI_PDS_TRACKING_SESSION_STATE_INACTIVE: Session inactive.
146 * @QMI_PDS_TRACKING_SESSION_STATE_ACTIVE: Session active.
148 * State of the tracking session.
152 typedef enum { /*< since=1.0 >*/
153 QMI_PDS_TRACKING_SESSION_STATE_UNKNOWN
= 0,
154 QMI_PDS_TRACKING_SESSION_STATE_INACTIVE
= 1,
155 QMI_PDS_TRACKING_SESSION_STATE_ACTIVE
= 2
156 } QmiPdsTrackingSessionState
;
158 /*****************************************************************************/
159 /* Helper enums for the 'QMI PDS Get Default Tracking Session' request/response */
162 * QmiPdsOperatingMode:
163 * @QMI_PDS_OPERATING_MODE_STANDALONE: Standalone (GPS only).
164 * @QMI_PDS_OPERATING_MODE_MS_BASED: Mobile Station Based (MSB) A-GPS
165 * @QMI_PDS_OPERATING_MODE_MS_ASSISTED: Mobile Station Assisted (MSA) A-GPS.
167 * GPS operating mode.
171 typedef enum { /*< since=1.12 >*/
172 QMI_PDS_OPERATING_MODE_STANDALONE
= 0,
173 QMI_PDS_OPERATING_MODE_MS_BASED
= 1,
174 QMI_PDS_OPERATING_MODE_MS_ASSISTED
= 2,
175 } QmiPdsOperatingMode
;
177 /*****************************************************************************/
178 /* Helper enums for the 'QMI PDS Get AGPS Config' request/response */
182 * @QMI_PDS_NETWORK_MODE_UMTS: UMTS.
183 * @QMI_PDS_NETWORK_MODE_CDMA: CDMA.
185 * Network mode used during the A-GPS setup.
189 typedef enum { /*< since=1.12 >*/
190 QMI_PDS_NETWORK_MODE_UMTS
= 0,
191 QMI_PDS_NETWORK_MODE_CDMA
= 1,
194 #endif /* _LIBQMI_GLIB_QMI_ENUMS_PDS_H_ */