uqmi: sync data from libqmi project
[project/uqmi.git] / qmi-enums-pds.h
1 /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * uqmi -- tiny QMI support implementation
4 *
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.
9 *
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.
14 *
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.
19 *
20 * Copyright (C) 2012 Google Inc.
21 * Copyright (C) 2012-2017 Aleksander Morgado <aleksander@aleksander.es>
22 */
23
24 #ifndef _LIBQMI_GLIB_QMI_ENUMS_PDS_H_
25 #define _LIBQMI_GLIB_QMI_ENUMS_PDS_H_
26
27 /**
28 * SECTION: qmi-enums-pds
29 *
30 * This section defines enumerations and flags used in the PDS service
31 * interface.
32 */
33
34 /*****************************************************************************/
35 /* Helper enums for the 'QMI PDS Event Report' indication */
36
37 /**
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.
43 *
44 * Operation mode used to compute the position.
45 *
46 * Since: 1.0
47 */
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;
54
55 /**
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.
66 *
67 * Status of the positioning session.
68 *
69 * Since: 1.0
70 */
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;
82
83 /**
84 * QmiPdsDataValid:
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.
108 *
109 * Flags to indicate which position data parameters are valid.
110 *
111 * Since: 1.0
112 */
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
137 } QmiPdsDataValid;
138
139 /*****************************************************************************/
140 /* Helper enums for the 'QMI PDS Get GPS Service State' request/response */
141
142 /**
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.
147 *
148 * State of the tracking session.
149 *
150 * Since: 1.0
151 */
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;
157
158 /*****************************************************************************/
159 /* Helper enums for the 'QMI PDS Get Default Tracking Session' request/response */
160
161 /**
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.
166 *
167 * GPS operating mode.
168 *
169 * Since: 1.12
170 */
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;
176
177 /*****************************************************************************/
178 /* Helper enums for the 'QMI PDS Get AGPS Config' request/response */
179
180 /**
181 * QmiPdsNetworkMode:
182 * @QMI_PDS_NETWORK_MODE_UMTS: UMTS.
183 * @QMI_PDS_NETWORK_MODE_CDMA: CDMA.
184 *
185 * Network mode used during the A-GPS setup.
186 *
187 * Since: 1.12
188 */
189 typedef enum { /*< since=1.12 >*/
190 QMI_PDS_NETWORK_MODE_UMTS = 0,
191 QMI_PDS_NETWORK_MODE_CDMA = 1,
192 } QmiPdsNetworkMode;
193
194 #endif /* _LIBQMI_GLIB_QMI_ENUMS_PDS_H_ */