uqmi: print radio interfaces in serving system command
[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 */
22
23 #ifndef _LIBQMI_GLIB_QMI_ENUMS_PDS_H_
24 #define _LIBQMI_GLIB_QMI_ENUMS_PDS_H_
25
26 /**
27 * SECTION: qmi-enums-pds
28 * @title: PDS enumerations and flags
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: MS based.
42 * @QMI_PDS_OPERATION_MODE_MS_ASSISTED: MS assisted.
43 *
44 * Operation mode used to compute the position.
45 */
46 typedef enum {
47 QMI_PDS_OPERATION_MODE_UNKNOWN = -1,
48 QMI_PDS_OPERATION_MODE_STANDALONE = 0,
49 QMI_PDS_OPERATION_MODE_MS_BASED = 1,
50 QMI_PDS_OPERATION_MODE_MS_ASSISTED = 2
51 } QmiPdsOperationMode;
52
53 /**
54 * QmiPdsPositionSessionStatus:
55 * @QMI_PDS_POSITION_SESSION_STATUS_SUCCESS: Success.
56 * @QMI_PDS_POSITION_SESSION_STATUS_IN_PROGRESS: In progress.
57 * @QMI_PDS_POSITION_SESSION_STATUS_GENERAL_FAILURE: General failure.
58 * @QMI_PDS_POSITION_SESSION_STATUS_TIMEOUT: Timeout.
59 * @QMI_PDS_POSITION_SESSION_STATUS_USER_ENDED_SESSION: User ended session.
60 * @QMI_PDS_POSITION_SESSION_STATUS_BAD_PARAMETER: Bad parameter.
61 * @QMI_PDS_POSITION_SESSION_STATUS_PHONE_OFFLINE: Phone is offline.
62 * @QMI_PDS_POSITION_SESSION_STATUS_ENGINE_LOCKED: Engine locked.
63 * @QMI_PDS_POSITION_SESSION_STATUS_E911_SESSION_IN_PROGRESS: Emergency call in progress.
64 *
65 * Status of the positioning session.
66 */
67 typedef enum {
68 QMI_PDS_POSITION_SESSION_STATUS_SUCCESS = 0x00,
69 QMI_PDS_POSITION_SESSION_STATUS_IN_PROGRESS = 0x01,
70 QMI_PDS_POSITION_SESSION_STATUS_GENERAL_FAILURE = 0x02,
71 QMI_PDS_POSITION_SESSION_STATUS_TIMEOUT = 0x03,
72 QMI_PDS_POSITION_SESSION_STATUS_USER_ENDED_SESSION = 0x04,
73 QMI_PDS_POSITION_SESSION_STATUS_BAD_PARAMETER = 0x05,
74 QMI_PDS_POSITION_SESSION_STATUS_PHONE_OFFLINE = 0x06,
75 QMI_PDS_POSITION_SESSION_STATUS_ENGINE_LOCKED = 0x07,
76 QMI_PDS_POSITION_SESSION_STATUS_E911_SESSION_IN_PROGRESS = 0x08
77 } QmiPdsPositionSessionStatus;
78
79 /**
80 * QmiPdsDataValid:
81 * @QMI_PDS_DATA_VALID_TIMESTAMP_CALENDAR: Timestamp calendar (GPS time).
82 * @QMI_PDS_DATA_VALID_TIMESTAMP_UTC: Timestamp (UTC).
83 * @QMI_PDS_DATA_VALID_LEAP_SECONDS: Leap seconds.
84 * @QMI_PDS_DATA_VALID_TIME_UNCERTAINTY: Time uncertainty.
85 * @QMI_PDS_DATA_VALID_LATITUDE: Latitude.
86 * @QMI_PDS_DATA_VALID_LONGITUDE: Longitude.
87 * @QMI_PDS_DATA_VALID_ELLIPSOID_ALTITUDE: Ellipsoid altitude.
88 * @QMI_PDS_DATA_VALID_MEAN_SEA_LEVEL_ALTITUDE: Mean sea level altitude.
89 * @QMI_PDS_DATA_VALID_HORIZONTAL_SPEED: Horizontal speed.
90 * @QMI_PDS_DATA_VALID_VERTICAL_SPEED: Vertical speed.
91 * @QMI_PDS_DATA_VALID_HEADING: Heading.
92 * @QMI_PDS_DATA_VALID_HORIZONTAL_UNCERTAINTY_CIRCULAR: Horizontal uncertainty circular.
93 * @QMI_PDS_DATA_VALID_HORIZONTAL_UNCERTAINTY_ELLIPSE_SEMI_MAJOR: Horizontal uncertainty ellipse semi-major.
94 * @QMI_PDS_DATA_VALID_HORIZONTAL_UNCERTAINTY_ELLIPSE_SEMI_MINOR: Horizontal uncertainty ellipse semi-minor.
95 * @QMI_PDS_DATA_VALID_HORIZONTAL_UNCERTAINTY_ELLIPSE_ORIENT_AZIMUTH: Horizontal uncertainty ellipse orient azimuth.
96 * @QMI_PDS_DATA_VALID_VERTICAL_UNCERTAINTY: Vertical uncertainty.
97 * @QMI_PDS_DATA_VALID_HORIZONTAL_VELOCITY_UNCERTAINTY: Horizontal velocity uncertainty.
98 * @QMI_PDS_DATA_VALID_VERTICAL_VELOCITY_UNCERTAINTY: Vertical velocity uncertainty.
99 * @QMI_PDS_DATA_VALID_HORIZONTAL_CONFIDENCE: Horizontal confidence.
100 * @QMI_PDS_DATA_VALID_POSITION_DOP: Position dillution of precision.
101 * @QMI_PDS_DATA_VALID_HORIZONTAL_DOP: Horizontal dillution of precision.
102 * @QMI_PDS_DATA_VALID_VERTICAL_DOP: Vertical dillution of precision.
103 * @QMI_PDS_DATA_VALID_OPERATING_MODE: Operating mode.
104 *
105 * Flags to indicate which position data parameters are valid.
106 */
107 typedef enum {
108 QMI_PDS_DATA_VALID_TIMESTAMP_CALENDAR = 1 << 0,
109 QMI_PDS_DATA_VALID_TIMESTAMP_UTC = 1 << 1,
110 QMI_PDS_DATA_VALID_LEAP_SECONDS = 1 << 2,
111 QMI_PDS_DATA_VALID_TIME_UNCERTAINTY = 1 << 3,
112 QMI_PDS_DATA_VALID_LATITUDE = 1 << 4,
113 QMI_PDS_DATA_VALID_LONGITUDE = 1 << 5,
114 QMI_PDS_DATA_VALID_ELLIPSOID_ALTITUDE = 1 << 6,
115 QMI_PDS_DATA_VALID_MEAN_SEA_LEVEL_ALTITUDE = 1 << 7,
116 QMI_PDS_DATA_VALID_HORIZONTAL_SPEED = 1 << 8,
117 QMI_PDS_DATA_VALID_VERTICAL_SPEED = 1 << 9,
118 QMI_PDS_DATA_VALID_HEADING = 1 << 10,
119 QMI_PDS_DATA_VALID_HORIZONTAL_UNCERTAINTY_CIRCULAR = 1 << 11,
120 QMI_PDS_DATA_VALID_HORIZONTAL_UNCERTAINTY_ELLIPSE_SEMI_MAJOR = 1 << 12,
121 QMI_PDS_DATA_VALID_HORIZONTAL_UNCERTAINTY_ELLIPSE_SEMI_MINOR = 1 << 13,
122 QMI_PDS_DATA_VALID_HORIZONTAL_UNCERTAINTY_ELLIPSE_ORIENT_AZIMUTH = 1 << 14,
123 QMI_PDS_DATA_VALID_VERTICAL_UNCERTAINTY = 1 << 15,
124 QMI_PDS_DATA_VALID_HORIZONTAL_VELOCITY_UNCERTAINTY = 1 << 16,
125 QMI_PDS_DATA_VALID_VERTICAL_VELOCITY_UNCERTAINTY = 1 << 17,
126 QMI_PDS_DATA_VALID_HORIZONTAL_CONFIDENCE = 1 << 18,
127 QMI_PDS_DATA_VALID_POSITION_DOP = 1 << 19,
128 QMI_PDS_DATA_VALID_HORIZONTAL_DOP = 1 << 20,
129 QMI_PDS_DATA_VALID_VERTICAL_DOP = 1 << 21,
130 QMI_PDS_DATA_VALID_OPERATING_MODE = 1 << 22
131 } QmiPdsDataValid;
132
133 /*****************************************************************************/
134 /* Helper enums for the 'QMI PDS Get GPS Service State' request/response */
135
136 /**
137 * QmiPdsTrackingSessionState:
138 * @QMI_PDS_TRACKING_SESSION_STATE_UNKNOWN: Unknown state.
139 * @QMI_PDS_TRACKING_SESSION_STATE_INACTIVE: Session inactive.
140 * @QMI_PDS_TRACKING_SESSION_STATE_ACTIVE: Session active.
141 *
142 * State of the tracking session.
143 */
144 typedef enum {
145 QMI_PDS_TRACKING_SESSION_STATE_UNKNOWN = 0,
146 QMI_PDS_TRACKING_SESSION_STATE_INACTIVE = 1,
147 QMI_PDS_TRACKING_SESSION_STATE_ACTIVE = 2
148 } QmiPdsTrackingSessionState;
149
150 /*****************************************************************************/
151 /* Helper enums for the 'QMI PDS Get Default Tracking Session' request/response */
152
153 /**
154 * QmiPdsOperatingMode:
155 * @QMI_PDS_OPERATING_MODE_STANDALONE: Standalone (GPS only).
156 * @QMI_PDS_OPERATING_MODE_MS_BASED: MS-based.
157 * @QMI_PDS_OPERATING_MODE_MS_ASSISTED: MS-assisted (A-GPS).
158 *
159 * GPS operating mode.
160 */
161 typedef enum {
162 QMI_PDS_OPERATING_MODE_STANDALONE = 0,
163 QMI_PDS_OPERATING_MODE_MS_BASED = 1,
164 QMI_PDS_OPERATING_MODE_MS_ASSISTED = 2,
165 } QmiPdsOperatingMode;
166
167 /*****************************************************************************/
168 /* Helper enums for the 'QMI PDS Get AGPS Config' request/response */
169
170 /**
171 * QmiPdsNetworkMode:
172 * @QMI_PDS_NETWORK_MODE_UMTS: UMTS.
173 * @QMI_PDS_NETWORK_MODE_CDMA: CDMA.
174 *
175 * Network mode used during the A-GPS setup.
176 */
177 typedef enum {
178 QMI_PDS_NETWORK_MODE_UMTS = 0,
179 QMI_PDS_NETWORK_MODE_CDMA = 1,
180 } QmiPdsNetworkMode;
181
182 #endif /* _LIBQMI_GLIB_QMI_ENUMS_PDS_H_ */