1 /* LOC_API TOOL VERSION: 4.36 */
2 /*=============================================================================
3 L O C _ A P I _ C O M M O N . X D R
6 This is an AUTO GENERATED file that provides an xdr compatible definition of
7 an api that represents the grouping of the different callback functions the
10 ---------------------------------------------------------------------------
11 Copyright (c) 2010 QUALCOMM Incorporated.
12 All Rights Reserved. QUALCOMM Proprietary and Confidential.
13 ---------------------------------------------------------------------------
14 =============================================================================*/
16 /*=============================================================================
22 Generated by following versions of Htorpc modules:
23 Id: //source/qcom/qct/core/mproc/tools/rel/04.01/htorpc/htorpc.pl#20
24 Id: //source/qcom/qct/core/mproc/tools/rel/04.01/htorpc/lib/Htorpc/Start.pm#3
25 Id: //source/qcom/qct/core/mproc/tools/rel/04.01/htorpc/lib/Htorpc/Htoxdr.pm#1
26 Id: //source/qcom/qct/core/mproc/tools/rel/04.01/htorpc/lib/Htorpc/XDR.pm#7
27 Id: //source/qcom/qct/core/mproc/tools/rel/04.01/htorpc/lib/Htorpc/Output.pm#29
28 Id: //source/qcom/qct/core/mproc/tools/rel/04.01/htorpc/lib/Htorpc/Parser.pm#2
29 Id: //source/qcom/qct/core/mproc/tools/rel/04.01/htorpc/lib/Htorpc/Metacomments.pm#6
30 Id: //source/qcom/qct/core/mproc/tools/rel/04.01/htorpc/lib/Htorpc/SymbolTable.pm#3
32 loc_api Definition File(s):
33 Id: //source/qcom/qct/modem/api/gps/main/latest/loc_api.h#16
34 =============================================================================*/
35 /*=============================================================================
37 =============================================================================*/
41 const LOC_API_TOOLVERS = 0x00040024;
42 const LOC_API_FEATURES = 0x00000001;
44 const RPC_LOC_EVENT_NI_NOTIFY_VERIFY_REQUEST = 0x00000010;
46 const RPC_LOC_EVENT_WPS_NEEDED_REQUEST = 0x00000200;
48 const RPC_LOC_EVENT_IOCTL_REPORT = 0x00000080;
50 const RPC_LOC_EVENT_LOCATION_SERVER_REQUEST = 0x00000040;
52 const RPC_LOC_EVENT_RESERVED = 0x8000000000000000;
54 const RPC_LOC_EVENT_PARSED_POSITION_REPORT = 0x00000001;
56 const RPC_LOC_EVENT_ASSISTANCE_DATA_REQUEST = 0x00000020;
58 const RPC_LOC_EVENT_NMEA_POSITION_REPORT = 0x00000008;
60 const RPC_LOC_EVENT_SATELLITE_REPORT = 0x00000002;
62 const RPC_LOC_EVENT_STATUS_REPORT = 0x00000100;
64 const RPC_LOC_EVENT_CB_F_TYPE_VERSION = 0x00040001;
65 const RPC_LOC_OPEN_VERSION = 0x00040001;
66 const RPC_LOC_API_RPC_GLUE_CODE_INFO_REMOTE_VERSION = 0x00040001;
67 const RPC_LOC_API_NULL_VERSION = 0x00040001;
68 const RPC_LOC_STOP_FIX_VERSION = 0x00040001;
69 const RPC_LOC_IOCTL_VERSION = 0x00040001;
70 const RPC_LOC_START_FIX_VERSION = 0x00040001;
71 const RPC_LOC_CLOSE_VERSION = 0x00040001;
72 const RPC_LOC_API_API_VERSIONS_VERSION = 0x00040001;
73 const RPC_LOC_API_API_MAJOR_NUM = 0x0004;
74 const RPC_LOC_APIAPI_VERSION_IS_HASHKEY = 0;
76 typedef bool rpc_boolean;
78 typedef unsigned long rpc_uint32;
80 typedef unsigned short rpc_uint16;
82 typedef unsigned char rpc_uint8;
84 typedef long rpc_int32;
86 typedef unsigned char rpc_byte;
88 typedef unsigned hyper rpc_uint64;
90 typedef rpc_int32 rpc_loc_client_handle_type;
92 typedef rpc_uint64 rpc_loc_event_mask_type;
94 typedef rpc_uint64 rpc_loc_position_valid_mask_type;
96 typedef rpc_uint32 rpc_loc_pos_technology_mask_type;
98 enum rpc_loc_session_status_e_type {
99 RPC_LOC_SESS_STATUS_SUCCESS = 0,
100 RPC_LOC_SESS_STATUS_IN_PROGESS = 1,
101 RPC_LOC_SESS_STATUS_GENERAL_FAILURE = 2,
102 RPC_LOC_SESS_STATUS_TIMEOUT = 3,
103 RPC_LOC_SESS_STATUS_USER_END = 4,
104 RPC_LOC_SESS_STATUS_BAD_PARAMETER = 5,
105 RPC_LOC_SESS_STATUS_PHONE_OFFLINE = 6,
106 RPC_LOC_SESS_STATUS_ENGINE_LOCKED = 7,
107 RPC_LOC_SESS_STATUS_MAX = 268435456
110 struct rpc_loc_calendar_time_s_type {
113 unsigned char day_of_week;
116 unsigned char minute;
117 unsigned char second;
118 rpc_uint16 millisecond;
121 struct rpc_loc_parsed_position_s_type {
122 rpc_loc_position_valid_mask_type valid_mask;
123 rpc_loc_session_status_e_type session_status;
124 rpc_loc_calendar_time_s_type timestamp_calendar;
125 rpc_uint64 timestamp_utc;
126 rpc_uint8 leap_seconds;
130 float altitude_wrt_ellipsoid;
131 float altitude_wrt_mean_sea_level;
132 float speed_horizontal;
133 float speed_vertical;
135 float hor_unc_circular;
136 float hor_unc_ellipse_semi_major;
137 float hor_unc_ellipse_semi_minor;
138 float hor_unc_ellipse_orient_azimuth;
142 unsigned char confidence_horizontal;
143 unsigned char confidence_vertical;
144 float magnetic_deviation;
145 rpc_loc_pos_technology_mask_type technology_mask;
148 enum rpc_loc_sv_system_e_type {
149 RPC_LOC_SV_SYSTEM_GPS = 1,
150 RPC_LOC_SV_SYSTEM_GALILEO = 2,
151 RPC_LOC_SV_SYSTEM_SBAS = 3,
152 RPC_LOC_SV_SYSTEM_COMPASS = 4,
153 RPC_LOC_SV_SYSTEM_GLONASS = 5,
154 RPC_LOC_SV_SYSTEM_MAX = 268435456
157 enum rpc_loc_sv_status_e_type {
158 RPC_LOC_SV_STATUS_IDLE = 1,
159 RPC_LOC_SV_STATUS_SEARCH = 2,
160 RPC_LOC_SV_STATUS_TRACK = 3,
161 RPC_LOC_SV_STATUS_MAX = 268435456
164 typedef rpc_uint32 rpc_loc_sv_info_valid_mask_type;
166 struct rpc_loc_sv_info_s_type {
167 rpc_loc_sv_info_valid_mask_type valid_mask;
168 rpc_loc_sv_system_e_type system;
170 rpc_uint8 health_status;
171 rpc_loc_sv_status_e_type process_status;
179 typedef rpc_uint32 rpc_loc_gnss_info_valid_mask_type;
181 struct rpc_loc_gnss_info_s_type {
182 rpc_loc_gnss_info_valid_mask_type valid_mask;
184 float horizontal_dop;
186 rpc_boolean altitude_assumed;
188 rpc_loc_sv_info_s_type sv_list<80>; /* EVAL:[LOC_API_MAX_SV_COUNT]*/
191 struct rpc_loc_nmea_report_s_type {
193 opaque nmea_sentences[1200]; /* EVAL:[1200]*/
196 enum rpc_loc_status_event_e_type {
197 RPC_LOC_STATUS_EVENT_ENGINE_STATE = 1,
198 RPC_LOC_STATUS_EVENT_FIX_SESSION_STATE = 2,
199 RPC_LOC_STATUS_EVENT_MAX = 268435456
202 enum rpc_loc_engine_state_e_type {
203 RPC_LOC_ENGINE_STATE_ON = 1,
204 RPC_LOC_ENGINE_STATE_OFF = 2,
205 RPC_LOC_ENGINE_STATE_MAX = 268435456
208 enum rpc_loc_fix_session_state_e_type {
209 RPC_LOC_FIX_SESSION_STATE_BEGIN = 1,
210 RPC_LOC_FIX_SESSION_STATE_END = 2,
211 RPC_LOC_FIX_SESSION_STATE_MAX = 268435456
214 union rpc_loc_status_event_payload_u_type switch (rpc_loc_status_event_e_type disc) {
215 case RPC_LOC_STATUS_EVENT_ENGINE_STATE:
216 rpc_loc_engine_state_e_type engine_state;
217 case RPC_LOC_STATUS_EVENT_FIX_SESSION_STATE:
218 rpc_loc_fix_session_state_e_type fix_session_state;
223 struct rpc_loc_status_event_s_type {
224 rpc_loc_status_event_e_type event;
225 rpc_loc_status_event_payload_u_type payload;
228 enum rpc_loc_server_addr_e_type {
229 RPC_LOC_SERVER_ADDR_IPV4 = 1,
230 RPC_LOC_SERVER_ADDR_URL = 2,
231 RPC_LOC_SERVER_ADDR_MAX = 268435456
234 struct rpc_loc_server_addr_ipv4_type {
239 struct rpc_loc_server_addr_url_type {
241 opaque addr[256]; /* EVAL:[256]*/
244 union rpc_loc_server_addr_u_type switch (rpc_loc_server_addr_e_type disc) {
245 case RPC_LOC_SERVER_ADDR_IPV4:
246 rpc_loc_server_addr_ipv4_type ipv4;
247 case RPC_LOC_SERVER_ADDR_URL:
248 rpc_loc_server_addr_url_type url;
253 struct rpc_loc_server_info_s_type {
254 rpc_loc_server_addr_e_type addr_type;
255 rpc_loc_server_addr_u_type addr_info;
258 enum rpc_loc_ni_notify_verify_e_type {
259 RPC_LOC_NI_USER_NO_NOTIFY_NO_VERIFY = 1,
260 RPC_LOC_NI_USER_NOTIFY_ONLY = 2,
261 RPC_LOC_NI_USER_NOTIFY_VERIFY_ALLOW_NO_RESP = 3,
262 RPC_LOC_NI_USER_NOTIFY_VERIFY_NOT_ALLOW_NO_RESP = 4,
263 RPC_LOC_NI_USER_PRIVACY_OVERRIDE = 5,
264 RPC_LOC_NI_USER_NOTIFY_VERITY_TYPE_MAX = 268435456
267 enum rpc_loc_ni_event_e_type {
268 RPC_LOC_NI_EVENT_VX_NOTIFY_VERIFY_REQ = 1,
269 RPC_LOC_NI_EVENT_SUPL_NOTIFY_VERIFY_REQ = 2,
270 RPC_LOC_NI_EVENT_UMTS_CP_NOTIFY_VERIFY_REQ = 3,
271 RPC_LOC_NI_EVENT_VX_SERVICE_INTERACTION_REQ = 4,
272 RPC_LOC_NI_EVENT_MAX = 268435456
275 enum rpc_loc_ni_datacoding_scheme_e_type {
276 RPC_LOC_NI_PRESUPL_ISO646IRV = 0,
277 RPC_LOC_NI_PRESUPL_ISO8859 = 1,
278 RPC_LOC_NI_PRESUPL_UTF8 = 2,
279 RPC_LOC_NI_PRESUPL_UTF16 = 3,
280 RPC_LOC_NI_PRESUPL_UCS2 = 4,
281 RPC_LOC_NI_PRESUPL_GSM_DEFAULT = 5,
282 RPC_LOC_NI_PRESUPL_SHIFT_JIS = 6,
283 RPC_LOC_NI_PRESUPL_JIS = 7,
284 RPC_LOC_NI_PRESUPL_EUC = 8,
285 RPC_LOC_NI_PRESUPL_GB2312 = 9,
286 RPC_LOC_NI_PRESUPL_CNS11643 = 10,
287 RPC_LOC_NI_PRESUPL_KSC1001 = 11,
288 RPC_LOC_NI_PRESUPL_ENCODING_UNKNOWN = 2147483647,
289 RPC_LOC_NI_SS_GERMAN = 12,
290 RPC_LOC_NI_SS_ENGLISH = 13,
291 RPC_LOC_NI_SS_ITALIAN = 14,
292 RPC_LOC_NI_SS_FRENCH = 15,
293 RPC_LOC_NI_SS_SPANISH = 16,
294 RPC_LOC_NI_SS_DUTCH = 17,
295 RPC_LOC_NI_SS_SWEDISH = 18,
296 RPC_LOC_NI_SS_DANISH = 19,
297 RPC_LOC_NI_SS_PORTUGUESE = 20,
298 RPC_LOC_NI_SS_FINNISH = 21,
299 RPC_LOC_NI_SS_NORWEGIAN = 22,
300 RPC_LOC_NI_SS_GREEK = 23,
301 RPC_LOC_NI_SS_TURKISH = 24,
302 RPC_LOC_NI_SS_HUNGARIAN = 25,
303 RPC_LOC_NI_SS_POLISH = 26,
304 RPC_LOC_NI_SS_LANGUAGE_UNSPEC = 27,
305 RPC_LOC_NI_SUPL_UTF8 = 28,
306 RPC_LOC_NI_SUPL_UCS2 = 29,
307 RPC_LOC_NI_SUPL_GSM_DEFAULT = 30,
308 RPC_LOC_NI_SUPL_ENCODING_UNKNOWN = 2147483647
311 enum rpc_loc_ni_vx_requester_id_encoding_scheme_e_type {
312 RPC_LOC_NI_VX_OCTET = 0,
313 RPC_LOC_NI_VX_EXN_PROTOCOL_MSG = 1,
314 RPC_LOC_NI_VX_ASCII = 2,
315 RPC_LOC_NI_VX_IA5 = 3,
316 RPC_LOC_NI_VX_UNICODE = 4,
317 RPC_LOC_NI_VX_SHIFT_JIS = 5,
318 RPC_LOC_NI_VX_KOREAN = 6,
319 RPC_LOC_NI_VX_LATIN_HEBREW = 7,
320 RPC_LOC_NI_VX_LATIN = 8,
321 RPC_LOC_NI_VX_GSM = 9,
322 RPC_LOC_NI_VX_ENCODING_TYPE_MAX = 268435456
325 enum rpc_loc_ni_vx_pos_mode_e_type {
326 RPC_LOC_VX_MS_ASSISTED_ONLY = 1,
327 RPC_LOC_VX_MS_BASED_ONLY = 2,
328 RPC_LOC_VX_MS_ASSISTED_PREF_MSBASED_ALLWD = 3,
329 RPC_LOC_VX_MS_BASED_PREF_ASSISTED_ALLWD = 4,
330 RPC_LOC_VX_POS_MODE_MAX = 268435456
333 struct rpc_loc_ni_vx_requester_id_s_type {
334 unsigned char requester_id_length;
335 opaque requester_id[200]; /* EVAL:[200]*/
338 struct rpc_loc_ni_vx_notify_verify_req_s_type {
339 rpc_loc_ni_notify_verify_e_type notification_priv_type;
340 unsigned char pos_qos_incl;
341 unsigned char pos_qos;
342 rpc_uint32 num_fixes;
344 rpc_loc_ni_vx_pos_mode_e_type pos_mode;
345 rpc_loc_ni_vx_requester_id_encoding_scheme_e_type encoding_scheme;
346 rpc_loc_ni_vx_requester_id_s_type requester_id;
347 rpc_uint16 user_resp_timer_val;
350 enum rpc_loc_ni_supl_pos_method_e_type {
351 RPC_LOC_NI_POSMETHOD_AGPS_SETASSISTED = 1,
352 RPC_LOC_NI_POSMETHOD_AGPS_SETBASED = 2,
353 RPC_LOC_NI_POSMETHOD_AGPS_SETASSISTED_PREF = 3,
354 RPC_LOC_NI_POSMETHOD_AGPS_SETBASED_PREF = 4,
355 RPC_LOC_NI_POSMETHOD_AUTONOMOUS_GPS = 5,
356 RPC_LOC_NI_POSMETHOD_AFLT = 6,
357 RPC_LOC_NI_POSMETHOD_ECID = 7,
358 RPC_LOC_NI_POSMETHOD_EOTD = 8,
359 RPC_LOC_NI_POSMETHOD_OTDOA = 9,
360 RPC_LOC_NI_POSMETHOD_NO_POSITION = 10,
361 RPC_LOC_NI_POSMETHOD_MAX = 268435456
364 struct rpc_loc_ni_supl_slp_session_id_s_type {
365 unsigned char presence;
366 opaque session_id[4]; /* EVAL:[4]*/
367 rpc_loc_server_info_s_type slp_address;
370 struct rpc_loc_ni_requestor_id_s_type {
371 unsigned char data_coding_scheme;
372 opaque requestor_id_string[200]; /* EVAL:[200]*/
373 unsigned char string_len;
376 struct rpc_loc_ni_supl_client_name_s_type {
377 unsigned char data_coding_scheme;
378 opaque client_name_string[64]; /* EVAL:[64]*/
379 unsigned char string_len;
382 struct rpc_loc_ni_supl_qop_s_type {
383 unsigned char bit_mask;
384 unsigned char horacc;
385 unsigned char veracc;
386 rpc_uint16 maxLocAge;
390 struct rpc_loc_ni_supl_notify_verify_req_s_type {
391 rpc_loc_ni_notify_verify_e_type notification_priv_type;
393 rpc_loc_ni_supl_slp_session_id_s_type supl_slp_session_id;
394 opaque supl_hash[8]; /* EVAL:[8]*/
395 rpc_loc_ni_datacoding_scheme_e_type datacoding_scheme;
396 rpc_loc_ni_supl_pos_method_e_type pos_method;
397 rpc_loc_ni_requestor_id_s_type requestor_id;
398 rpc_loc_ni_supl_client_name_s_type client_name;
399 rpc_loc_ni_supl_qop_s_type supl_qop;
400 rpc_uint16 user_response_timer;
403 struct rpc_loc_ni_ext_client_address_s_type {
404 unsigned char ext_client_address_len;
405 opaque ext_client_address[20]; /* EVAL:[20]*/
408 enum rpc_loc_ni_location_type_e_type {
409 RPC_LOC_NI_LOCATIONTYPE_CURRENT_LOCATION = 1,
410 RPC_LOC_NI_LOCATIONTYPE_CURRENT_OR_LAST_KNOWN_LOCATION = 2,
411 RPC_LOC_NI_LOCATIONTYPE_INITIAL_LOCATION = 3,
412 RPC_LOC_NI_LOCATIONTYPE_MAX = 268435456
415 struct rpc_loc_ni_deferred_location_s_type {
416 unsigned char unused_bits;
417 unsigned char ms_available;
420 struct rpc_loc_ni_codeword_string_s_type {
421 unsigned char data_coding_scheme;
422 opaque lcs_codeword_string[20]; /* EVAL:[20]*/
423 unsigned char string_len;
426 struct rpc_loc_ni_service_type_id_s_type {
427 unsigned char lcs_service_type_id;
430 struct rpc_loc_ni_umts_cp_notify_verify_req_s_type {
431 rpc_loc_ni_notify_verify_e_type notification_priv_type;
432 unsigned char invoke_id;
434 unsigned char notification_length;
435 opaque notification_text[64]; /* EVAL:[64]*/
436 rpc_loc_ni_datacoding_scheme_e_type datacoding_scheme;
437 rpc_loc_ni_ext_client_address_s_type ext_client_address_data;
438 rpc_loc_ni_location_type_e_type location_type;
439 rpc_loc_ni_deferred_location_s_type deferred_location;
440 rpc_loc_ni_requestor_id_s_type requestor_id;
441 rpc_loc_ni_codeword_string_s_type codeword_string;
442 rpc_loc_ni_service_type_id_s_type service_type_id;
443 rpc_uint16 user_response_timer;
446 enum rpc_loc_ni_service_interaction_e_type {
447 RPC_LOC_NI_SERVICE_INTERACTION_ONGOING_NI_INCOMING_MO = 1,
448 RPC_LOC_NI_SERVICE_INTERACTION_MAX = 268435456
451 struct rpc_loc_ni_vx_service_interaction_req_s_type {
452 rpc_loc_ni_vx_notify_verify_req_s_type ni_vx_req;
453 rpc_loc_ni_service_interaction_e_type service_interation_type;
456 union rpc_loc_ni_event_payload_u_type switch (rpc_loc_ni_event_e_type disc) {
457 case RPC_LOC_NI_EVENT_VX_NOTIFY_VERIFY_REQ:
458 rpc_loc_ni_vx_notify_verify_req_s_type vx_req;
459 case RPC_LOC_NI_EVENT_SUPL_NOTIFY_VERIFY_REQ:
460 rpc_loc_ni_supl_notify_verify_req_s_type supl_req;
461 case RPC_LOC_NI_EVENT_UMTS_CP_NOTIFY_VERIFY_REQ:
462 rpc_loc_ni_umts_cp_notify_verify_req_s_type umts_cp_req;
463 case RPC_LOC_NI_EVENT_VX_SERVICE_INTERACTION_REQ:
464 rpc_loc_ni_vx_service_interaction_req_s_type service_interaction_req;
469 struct rpc_loc_ni_event_s_type {
470 rpc_loc_ni_event_e_type event;
471 rpc_loc_ni_event_payload_u_type payload;
474 enum rpc_loc_assist_data_request_e_type {
475 RPC_LOC_ASSIST_DATA_TIME_REQ = 1,
476 RPC_LOC_ASSIST_DATA_PREDICTED_ORBITS_REQ = 2,
477 RPC_LOC_ASSIST_DATA_MAX = 268435456
480 typedef string rpc_struct_loc_time_download_source_s_type_servers_ptr<256>; /* EVAL:[LOC_API_MAX_SERVER_ADDR_LENGTH]*/
482 typedef rpc_struct_loc_time_download_source_s_type_servers_ptr rpc_struct_loc_time_download_source_s_type_servers[3]; /* EVAL:[3]*/
484 struct rpc_loc_time_download_source_s_type {
485 rpc_uint32 delay_threshold;
486 rpc_struct_loc_time_download_source_s_type_servers servers;
489 typedef string rpc_struct_loc_predicted_orbits_data_source_s_type_servers_ptr<256>; /* EVAL:[LOC_API_MAX_SERVER_ADDR_LENGTH]*/
491 typedef rpc_struct_loc_predicted_orbits_data_source_s_type_servers_ptr rpc_struct_loc_predicted_orbits_data_source_s_type_servers[3]; /* EVAL:[3]*/
493 struct rpc_loc_predicted_orbits_data_source_s_type {
494 rpc_uint32 max_file_size;
495 rpc_uint32 max_part_size;
496 rpc_struct_loc_predicted_orbits_data_source_s_type_servers servers;
499 union rpc_loc_assist_data_request_payload_u_type switch (rpc_loc_assist_data_request_e_type disc) {
500 case RPC_LOC_ASSIST_DATA_TIME_REQ:
501 rpc_loc_time_download_source_s_type time_download;
502 case RPC_LOC_ASSIST_DATA_PREDICTED_ORBITS_REQ:
503 rpc_loc_predicted_orbits_data_source_s_type data_download;
508 struct rpc_loc_assist_data_request_s_type {
509 rpc_loc_assist_data_request_e_type event;
510 rpc_loc_assist_data_request_payload_u_type payload;
513 typedef rpc_uint32 rpc_loc_server_connection_handle;
515 enum rpc_loc_server_protocol_e_type {
516 RPC_LOC_SERVER_PROTOCOL_DEFAULT = 0,
517 RPC_LOC_SERVER_PROTOCOL_SUPL = 1,
518 RPC_LOC_SERVER_PROTOCOL_VX_MPC = 2,
519 RPC_LOC_SERVER_PROTOCOL_VX_PDE = 3,
520 RPC_LOC_SERVER_PROTOCOL_MAX = 16777216
523 enum rpc_loc_server_request_e_type {
524 RPC_LOC_SERVER_REQUEST_OPEN = 1,
525 RPC_LOC_SERVER_REQUEST_CLOSE = 2,
526 RPC_LOC_SERVER_REQUEST_MAX = 268435456
529 struct rpc_loc_server_open_req_s_type {
530 rpc_loc_server_connection_handle conn_handle;
531 rpc_loc_server_protocol_e_type protocol;
534 struct rpc_loc_server_close_req_s_type {
535 rpc_loc_server_connection_handle conn_handle;
538 union rpc_loc_server_request_u_type switch (rpc_loc_server_request_e_type disc) {
539 case RPC_LOC_SERVER_REQUEST_OPEN:
540 rpc_loc_server_open_req_s_type open_req;
541 case RPC_LOC_SERVER_REQUEST_CLOSE:
542 rpc_loc_server_close_req_s_type close_req;
547 struct rpc_loc_server_request_s_type {
548 rpc_loc_server_request_e_type event;
549 rpc_loc_server_request_u_type payload;
552 enum rpc_loc_qwip_request_e_type {
553 RPC_LOC_QWIP_START_PERIODIC_HI_FREQ_FIXES = 0,
554 RPC_LOC_QWIP_START_PERIODIC_KEEP_WARM,
555 RPC_LOC_QWIP_STOP_PERIODIC_FIXES,
556 RPC_LOC_QWIP_SUSPEND,
557 RPC_LOC_QWIP_REQUEST_MAX = 268435456
560 struct rpc_loc_qwip_request_s_type {
561 rpc_loc_qwip_request_e_type request_type;
565 struct rpc_loc_reserved_payload_s_type {
566 rpc_uint16 data_size;
570 enum rpc_loc_ioctl_e_type {
571 RPC_LOC_IOCTL_GET_API_VERSION = 1,
572 RPC_LOC_IOCTL_SET_FIX_CRITERIA = 2,
573 RPC_LOC_IOCTL_GET_FIX_CRITERIA = 3,
574 RPC_LOC_IOCTL_SERVICE_START_INDEX = 400,
575 RPC_LOC_IOCTL_INFORM_NI_USER_RESPONSE = 400,
576 RPC_LOC_IOCTL_INJECT_PREDICTED_ORBITS_DATA = 401,
577 RPC_LOC_IOCTL_QUERY_PREDICTED_ORBITS_DATA_VALIDITY = 402,
578 RPC_LOC_IOCTL_QUERY_PREDICTED_ORBITS_DATA_SOURCE = 403,
579 RPC_LOC_IOCTL_SET_PREDICTED_ORBITS_DATA_AUTO_DOWNLOAD = 404,
580 RPC_LOC_IOCTL_INJECT_UTC_TIME = 405,
581 RPC_LOC_IOCTL_INJECT_RTC_VALUE = 406,
582 RPC_LOC_IOCTL_INJECT_POSITION = 407,
583 RPC_LOC_IOCTL_QUERY_ENGINE_STATE = 408,
584 RPC_LOC_IOCTL_INFORM_SERVER_OPEN_STATUS = 409,
585 RPC_LOC_IOCTL_INFORM_SERVER_CLOSE_STATUS = 410,
586 RPC_LOC_IOCTL_SEND_WIPER_POSITION_REPORT = 411,
587 RPC_LOC_IOCTL_NOTIFY_WIPER_STATUS = 412,
588 RPC_LOC_IOCTL_ACCESS_EFS_DATA = 413,
589 RPC_LOC_IOCTL_NV_SETTINGS_START_INDEX = 800,
590 RPC_LOC_IOCTL_SET_ENGINE_LOCK = 800,
591 RPC_LOC_IOCTL_GET_ENGINE_LOCK = 801,
592 RPC_LOC_IOCTL_SET_SBAS_CONFIG = 802,
593 RPC_LOC_IOCTL_GET_SBAS_CONFIG = 803,
594 RPC_LOC_IOCTL_SET_NMEA_TYPES = 804,
595 RPC_LOC_IOCTL_GET_NMEA_TYPES = 805,
596 RPC_LOC_IOCTL_SET_CDMA_PDE_SERVER_ADDR = 806,
597 RPC_LOC_IOCTL_GET_CDMA_PDE_SERVER_ADDR = 807,
598 RPC_LOC_IOCTL_SET_CDMA_MPC_SERVER_ADDR = 808,
599 RPC_LOC_IOCTL_GET_CDMA_MPC_SERVER_ADDR = 809,
600 RPC_LOC_IOCTL_SET_UMTS_SLP_SERVER_ADDR = 810,
601 RPC_LOC_IOCTL_GET_UMTS_SLP_SERVER_ADDR = 811,
602 RPC_LOC_IOCTL_SET_ON_DEMAND_LPM = 812,
603 RPC_LOC_IOCTL_GET_ON_DEMAND_LPM = 813,
604 RPC_LOC_IOCTL_PROPRIETARY_START_INDEX = 1000,
605 RPC_LOC_IOCTL_DELETE_ASSIST_DATA = 1000,
606 RPC_LOC_IOCTL_SET_CUSTOM_PDE_SERVER_ADDR = 1001,
607 RPC_LOC_IOCTL_GET_CUSTOM_PDE_SERVER_ADDR = 1002,
608 RPC_LOC_IOCTL_THIRD_PARTY_START_INDEX = 1073741824
611 struct rpc_loc_api_version_s_type {
616 enum rpc_loc_fix_recurrence_e_type {
617 RPC_LOC_PERIODIC_FIX = 1,
618 RPC_LOC_SINGLE_FIX = 2,
619 RPC_LOC_FIX_SESSION_TYPE_MAX = 268435456
622 enum rpc_loc_operation_mode_e_type {
623 RPC_LOC_OPER_MODE_DEFAULT = 1,
624 RPC_LOC_OPER_MODE_MSB = 2,
625 RPC_LOC_OPER_MODE_MSA = 3,
626 RPC_LOC_OPER_MODE_STANDALONE = 4,
627 RPC_LOC_OPER_MODE_SPEED_OPTIMAL = 5,
628 RPC_LOC_OPER_MODE_ACCURACY_OPTIMAL = 6,
629 RPC_LOC_OPER_MODE_DATA_OPTIMAL = 7,
630 RPC_LOC_OPER_MODE_CELL_ID = 8,
631 RPC_LOC_OPER_MODE_MAX = 268435456
634 enum rpc_loc_notify_e_type {
635 RPC_LOC_NOTIFY_ON_INTERVAL = 1,
636 RPC_LOC_NOTIFY_ON_DISTANCE = 2,
637 RPC_LOC_NOTIFY_ON_ANY = 3,
638 RPC_LOC_NOTIFY_ON_ALL = 4,
639 RPC_LOC_NOTIFY_TYPE_MAX = 268435456
642 struct rpc_loc_fix_criteria_s_type {
643 rpc_uint32 valid_mask;
644 rpc_loc_fix_recurrence_e_type recurrence_type;
645 rpc_loc_operation_mode_e_type preferred_operation_mode;
646 rpc_uint32 preferred_accuracy;
647 rpc_uint32 preferred_response_time;
648 rpc_boolean intermediate_pos_report_enabled;
649 rpc_loc_notify_e_type notify_type;
650 rpc_uint32 min_interval;
652 rpc_uint32 min_dist_sample_interval;
655 enum rpc_loc_ni_user_resp_e_type {
656 RPC_LOC_NI_LCS_NOTIFY_VERIFY_ACCEPT = 1,
657 RPC_LOC_NI_LCS_NOTIFY_VERIFY_DENY = 2,
658 RPC_LOC_NI_LCS_NOTIFY_VERIFY_NORESP = 3,
659 RPC_LOC_NI_LCS_NOTIFY_VERIFY_MAX = 268435456
662 struct rpc_loc_user_verify_s_type {
663 rpc_loc_ni_user_resp_e_type user_resp;
664 rpc_loc_ni_event_s_type ni_event_pass_back;
667 enum rpc_loc_predicted_orbits_data_format_e_type {
668 RPC_LOC_PREDICTED_ORBITS_XTRA = 0,
669 RPC_LOC_PREDICTED_ORBITS_FORMAT_MAX = 268435456
672 struct rpc_loc_predicted_orbits_data_s_type {
673 rpc_loc_predicted_orbits_data_format_e_type format_type;
674 rpc_uint32 total_size;
675 rpc_uint8 total_parts;
681 struct rpc_loc_predicted_orbits_data_validity_report_s_type {
682 rpc_uint64 start_time_utc;
683 rpc_uint16 valid_duration_hrs;
686 struct rpc_loc_predicted_orbits_auto_download_config_s_type {
688 unsigned char auto_check_every_hrs;
691 struct rpc_loc_assist_data_time_s_type {
693 rpc_uint32 uncertainty;
696 typedef rpc_uint64 rpc_loc_assist_pos_valid_mask_type;
698 struct rpc_loc_assist_data_pos_s_type {
699 rpc_loc_assist_pos_valid_mask_type valid_mask;
700 rpc_uint64 timestamp_utc;
703 float altitude_wrt_ellipsoid;
704 float altitude_wrt_mean_sea_level;
705 float hor_unc_circular;
707 unsigned char confidence_horizontal;
708 unsigned char confidence_vertical;
709 rpc_int32 timestamp_age;
712 enum rpc_loc_server_open_status_e_type {
713 RPC_LOC_SERVER_OPEN_SUCCESS = 1,
714 RPC_LOC_SERVER_OPEN_FAIL = 2,
715 RPC_LOC_SERVER_OPEN_STATUS_MAX = 268435456
718 struct rpc_loc_server_open_status_s_type {
719 rpc_loc_server_connection_handle conn_handle;
720 rpc_loc_server_open_status_e_type open_status;
721 opaque apn_name[100]; /* EVAL:[100]*/
724 enum rpc_loc_server_close_status_e_type {
725 RPC_LOC_SERVER_CLOSE_SUCCESS = 1,
726 RPC_LOC_SERVER_CLOSE_FAIL = 2,
727 RPC_LOC_SERVER_CLOSE_STATUS_MAX = 268435456
730 struct rpc_loc_server_close_status_s_type {
731 rpc_loc_server_connection_handle conn_handle;
732 rpc_loc_server_close_status_e_type close_status;
735 struct rpc_loc_wiper_fix_time_s_type {
736 rpc_uint32 slow_clock_count;
739 struct rpc_loc_wiper_fix_pos_s_type {
743 rpc_uint8 num_of_aps_used;
744 rpc_uint8 fix_error_code;
747 struct rpc_loc_wiper_ap_info_s_type {
748 opaque mac_addr[6]; /* EVAL:[6]*/
751 rpc_uint8 ap_qualifier;
754 struct rpc_loc_wiper_ap_set_s_type {
755 rpc_uint8 num_of_aps;
756 rpc_loc_wiper_ap_info_s_type ap_info[50]; /* EVAL:[50]*/
759 struct rpc_loc_wiper_position_report_s_type {
760 rpc_uint8 wiper_valid_info_flag;
761 rpc_loc_wiper_fix_time_s_type wiper_fix_time;
762 rpc_loc_wiper_fix_pos_s_type wiper_fix_position;
763 rpc_loc_wiper_ap_set_s_type wiper_ap_set;
766 enum rpc_loc_wiper_status_e_type {
767 RPC_LOC_WIPER_STATUS_AVAILABLE = 1,
768 RPC_LOC_WIPER_STATUS_UNAVAILABLE = 2,
769 RPC_LOC_WIPER_STATUS_E_SIZE = 268435456
772 enum rpc_loc_fs_operation_e_type {
773 RPC_LOC_FS_CREATE_WRITE_FILE = 1,
774 RPC_LOC_FS_APPEND_FILE = 2,
775 RPC_LOC_FS_DELETE_FILE = 3,
776 RPC_LOC_FS_READ_FILE = 4,
777 RPC_LOC_FS_MAX = 268435456
780 struct rpc_loc_efs_data_s_type {
781 opaque filename[64]; /* EVAL:[64]*/
782 rpc_loc_fs_operation_e_type operation;
783 rpc_uint32 total_size;
787 rpc_uint8 total_parts;
791 enum rpc_loc_lock_e_type {
792 RPC_LOC_LOCK_NONE = 1,
795 RPC_LOC_LOCK_ALL = 4,
796 RPC_LOC_LOCK_MAX = 268435456
799 typedef rpc_uint32 rpc_loc_nmea_sentence_type;
801 typedef rpc_uint32 rpc_loc_assist_data_type;
803 struct rpc_loc_assist_data_delete_s_type {
804 rpc_loc_assist_data_type type;
805 rpc_uint32 reserved[8]; /* EVAL:[8]*/
808 union rpc_loc_ioctl_data_u_type switch (rpc_loc_ioctl_e_type disc) {
809 case RPC_LOC_IOCTL_SET_FIX_CRITERIA:
810 rpc_loc_fix_criteria_s_type fix_criteria;
811 case RPC_LOC_IOCTL_INFORM_NI_USER_RESPONSE:
812 rpc_loc_user_verify_s_type user_verify_resp;
813 case RPC_LOC_IOCTL_INJECT_PREDICTED_ORBITS_DATA:
814 rpc_loc_predicted_orbits_data_s_type predicted_orbits_data;
815 case RPC_LOC_IOCTL_SET_PREDICTED_ORBITS_DATA_AUTO_DOWNLOAD:
816 rpc_loc_predicted_orbits_auto_download_config_s_type predicted_orbits_auto_download;
817 case RPC_LOC_IOCTL_INJECT_UTC_TIME:
818 rpc_loc_assist_data_time_s_type assistance_data_time;
819 case RPC_LOC_IOCTL_INJECT_POSITION:
820 rpc_loc_assist_data_pos_s_type assistance_data_position;
821 case RPC_LOC_IOCTL_INFORM_SERVER_OPEN_STATUS:
822 rpc_loc_server_open_status_s_type conn_open_status;
823 case RPC_LOC_IOCTL_INFORM_SERVER_CLOSE_STATUS:
824 rpc_loc_server_close_status_s_type conn_close_status;
825 case RPC_LOC_IOCTL_SEND_WIPER_POSITION_REPORT:
826 rpc_loc_wiper_position_report_s_type wiper_pos;
827 case RPC_LOC_IOCTL_NOTIFY_WIPER_STATUS:
828 rpc_loc_wiper_status_e_type wiper_status;
829 case RPC_LOC_IOCTL_SET_ENGINE_LOCK:
830 rpc_loc_lock_e_type engine_lock;
831 case RPC_LOC_IOCTL_SET_SBAS_CONFIG:
832 rpc_boolean sbas_mode;
833 case RPC_LOC_IOCTL_SET_NMEA_TYPES:
834 rpc_loc_nmea_sentence_type nmea_types;
835 case RPC_LOC_IOCTL_SET_ON_DEMAND_LPM:
836 rpc_boolean on_demand_lpm;
837 case RPC_LOC_IOCTL_SET_CDMA_PDE_SERVER_ADDR:
838 case RPC_LOC_IOCTL_SET_CDMA_MPC_SERVER_ADDR:
839 case RPC_LOC_IOCTL_SET_UMTS_SLP_SERVER_ADDR:
840 case RPC_LOC_IOCTL_SET_CUSTOM_PDE_SERVER_ADDR:
841 rpc_loc_server_info_s_type server_addr;
842 case RPC_LOC_IOCTL_DELETE_ASSIST_DATA:
843 rpc_loc_assist_data_delete_s_type assist_data_delete;
844 case RPC_LOC_IOCTL_ACCESS_EFS_DATA:
845 rpc_loc_efs_data_s_type efs_data;
850 union rpc_loc_ioctl_callback_data_u_type switch (rpc_loc_ioctl_e_type disc) {
851 case RPC_LOC_IOCTL_GET_API_VERSION:
852 rpc_loc_api_version_s_type api_version;
853 case RPC_LOC_IOCTL_GET_FIX_CRITERIA:
854 rpc_loc_fix_criteria_s_type fix_criteria;
855 case RPC_LOC_IOCTL_GET_ENGINE_LOCK:
856 rpc_loc_lock_e_type engine_lock;
857 case RPC_LOC_IOCTL_GET_SBAS_CONFIG:
858 rpc_boolean sbas_mode;
859 case RPC_LOC_IOCTL_GET_NMEA_TYPES:
860 rpc_loc_nmea_sentence_type nmea_types;
861 case RPC_LOC_IOCTL_GET_ON_DEMAND_LPM:
862 rpc_boolean on_demand_lpm;
863 case RPC_LOC_IOCTL_GET_CDMA_PDE_SERVER_ADDR:
864 case RPC_LOC_IOCTL_GET_CDMA_MPC_SERVER_ADDR:
865 case RPC_LOC_IOCTL_GET_UMTS_SLP_SERVER_ADDR:
866 case RPC_LOC_IOCTL_GET_CUSTOM_PDE_SERVER_ADDR:
867 rpc_loc_server_info_s_type server_addr;
868 case RPC_LOC_IOCTL_QUERY_PREDICTED_ORBITS_DATA_SOURCE:
869 rpc_loc_predicted_orbits_data_source_s_type predicted_orbits_data_source;
870 case RPC_LOC_IOCTL_QUERY_PREDICTED_ORBITS_DATA_VALIDITY:
871 rpc_loc_predicted_orbits_data_validity_report_s_type predicted_orbits_data_validity;
876 struct rpc_loc_ioctl_callback_s_type {
877 rpc_loc_ioctl_e_type type;
879 rpc_loc_ioctl_callback_data_u_type data;
882 union rpc_loc_event_payload_u_type switch (unsigned hyper disc) {
883 case RPC_LOC_EVENT_PARSED_POSITION_REPORT:
884 rpc_loc_parsed_position_s_type parsed_location_report;
885 case RPC_LOC_EVENT_SATELLITE_REPORT:
886 rpc_loc_gnss_info_s_type gnss_report;
887 case RPC_LOC_EVENT_NMEA_POSITION_REPORT:
888 rpc_loc_nmea_report_s_type nmea_report;
889 case RPC_LOC_EVENT_NI_NOTIFY_VERIFY_REQUEST:
890 rpc_loc_ni_event_s_type ni_request;
891 case RPC_LOC_EVENT_ASSISTANCE_DATA_REQUEST:
892 rpc_loc_assist_data_request_s_type assist_data_request;
893 case RPC_LOC_EVENT_LOCATION_SERVER_REQUEST:
894 rpc_loc_server_request_s_type loc_server_request;
895 case RPC_LOC_EVENT_IOCTL_REPORT:
896 rpc_loc_ioctl_callback_s_type ioctl_report;
897 case RPC_LOC_EVENT_STATUS_REPORT:
898 rpc_loc_status_event_s_type status_report;
899 case RPC_LOC_EVENT_WPS_NEEDED_REQUEST:
900 rpc_loc_qwip_request_s_type qwip_request;
901 case RPC_LOC_EVENT_RESERVED:
902 rpc_loc_reserved_payload_s_type reserved;