1/* Copyright (c) 2011-2012, The Linux Foundation. All rights reserved.
2 *
3 * Redistribution and use in source and binary forms, with or without
4 * modification, are permitted provided that the following conditions are
5 * met:
6 *     * Redistributions of source code must retain the above copyright
7 *       notice, this list of conditions and the following disclaimer.
8 *     * Redistributions in binary form must reproduce the above
9 *       copyright notice, this list of conditions and the following
10 *       disclaimer in the documentation and/or other materials provided
11 *       with the distribution.
12 *     * Neither the name of The Linux Foundation, nor the names of its
13 *       contributors may be used to endorse or promote products derived
14 *       from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
17 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
19 * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
20 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
23 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
24 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
25 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
26 * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 *
28 */
29/* LOC_API TOOL VERSION: 4.48 */
30/* GENERATED: TUE JUN 14 2011 */
31/*=============================================================================
32                      L O C _ A P I _ C O M M O N . X D R
33
34GENERAL DESCRIPTION
35  This is an AUTO GENERATED file that provides an xdr compatible definition of
36  an api that represents the grouping of the different callback functions the
37  loc_api API supports.
38
39  ---------------------------------------------------------------------------
40
41
42  ---------------------------------------------------------------------------
43=============================================================================*/
44
45/*=============================================================================
46
47                              Edit History
48
49                             AUTO GENERATED
50
51Generated by following versions of Htorpc modules:
52Id: //source/qcom/qct/core/mproc/tools/rel/2h09/htorpc/htorpc.pl#1
53Id: //source/qcom/qct/core/mproc/tools/rel/2h09/htorpc/lib/Htorpc/Start.pm#1
54Id: //source/qcom/qct/core/mproc/tools/rel/2h09/htorpc/lib/Htorpc/Htoxdr.pm#1
55Id: //source/qcom/qct/core/mproc/tools/rel/2h09/htorpc/lib/Htorpc/XDR.pm#3
56Id: //source/qcom/qct/core/mproc/tools/rel/2h09/htorpc/lib/Htorpc/Output.pm#5
57Id: //source/qcom/qct/core/mproc/tools/rel/2h09/htorpc/lib/Htorpc/Parser.pm#1
58Id: //source/qcom/qct/core/mproc/tools/rel/2h09/htorpc/lib/Htorpc/Metacomments.pm#1
59Id: //source/qcom/qct/core/mproc/tools/rel/2h09/htorpc/lib/Htorpc/SymbolTable.pm#1
60
61loc_api Definition File(s):
62Id: //source/qcom/qct/modem/api/gps/main/latest/loc_api.h#24
63=============================================================================*/
64/*=============================================================================
65$Header$
66=============================================================================*/
67
68
69
70const LOC_API_TOOLVERS = 0x00040030;
71const LOC_API_FEATURES = 0x00000001;
72
73const RPC_LOC_EVENT_STATUS_REPORT = 0x00000100;
74
75const RPC_LOC_EVENT_ASSISTANCE_DATA_REQUEST = 0x00000020;
76
77const RPC_LOC_EVENT_WPS_NEEDED_REQUEST = 0x00000200;
78
79const RPC_LOC_EVENT_SATELLITE_REPORT = 0x00000002;
80
81const RPC_LOC_EVENT_PARSED_POSITION_REPORT = 0x00000001;
82
83const RPC_LOC_EVENT_RESERVED = 0x8000000000000000;
84
85const RPC_LOC_EVENT_LOCATION_SERVER_REQUEST = 0x00000040;
86
87const RPC_LOC_EVENT_NMEA_POSITION_REPORT = 0x00000008;
88
89const RPC_LOC_EVENT_IOCTL_REPORT = 0x00000080;
90
91const RPC_LOC_EVENT_NMEA_1HZ_REPORT = 0x00000004;
92
93const RPC_LOC_EVENT_NI_NOTIFY_VERIFY_REQUEST = 0x00000010;
94
95const RPC_LOC_API_CB_NULL_VERSION = 0x00050002;
96const RPC_LOC_EVENT_CB_F_TYPE_VERSION = 0x00050001;
97const RPC_LOC_API_API_VERSIONS_VERSION = 0x00050001;
98const RPC_LOC_STOP_FIX_VERSION = 0x00050001;
99const RPC_LOC_START_FIX_VERSION = 0x00050001;
100const RPC_LOC_IOCTL_VERSION = 0x00050001;
101const RPC_LOC_CLOSE_VERSION = 0x00050001;
102const RPC_LOC_API_RPC_GLUE_CODE_INFO_REMOTE_VERSION = 0x00050001;
103const RPC_LOC_OPEN_VERSION = 0x00050001;
104const RPC_LOC_API_NULL_VERSION = 0x00050001;
105const RPC_LOC_API_API_MAJOR_NUM = 0x0005;
106const RPC_LOC_APIAPI_VERSION_IS_HASHKEY = 0;
107
108typedef rpc_int32 rpc_loc_client_handle_type;
109
110typedef rpc_uint64 rpc_loc_event_mask_type;
111
112typedef rpc_uint64 rpc_loc_position_valid_mask_type;
113
114typedef rpc_uint32 rpc_loc_pos_technology_mask_type;
115
116enum rpc_loc_session_status_e_type {
117  RPC_LOC_SESS_STATUS_SUCCESS = 0,
118  RPC_LOC_SESS_STATUS_IN_PROGESS = 1,
119  RPC_LOC_SESS_STATUS_GENERAL_FAILURE = 2,
120  RPC_LOC_SESS_STATUS_TIMEOUT = 3,
121  RPC_LOC_SESS_STATUS_USER_END = 4,
122  RPC_LOC_SESS_STATUS_BAD_PARAMETER = 5,
123  RPC_LOC_SESS_STATUS_PHONE_OFFLINE = 6,
124  RPC_LOC_SESS_STATUS_ENGINE_LOCKED = 7,
125  RPC_LOC_SESS_STATUS_MAX = 268435456
126};
127
128struct rpc_loc_calendar_time_s_type {
129  rpc_uint16 year;
130  unsigned char month;
131  unsigned char day_of_week;
132  unsigned char day;
133  unsigned char hour;
134  unsigned char minute;
135  unsigned char second;
136  rpc_uint16 millisecond;
137};
138
139struct rpc_loc_parsed_position_s_type {
140  rpc_loc_position_valid_mask_type valid_mask;
141  rpc_loc_session_status_e_type session_status;
142  rpc_loc_calendar_time_s_type timestamp_calendar;
143  rpc_uint64 timestamp_utc;
144  rpc_uint8 leap_seconds;
145  float time_unc;
146  double latitude;
147  double longitude;
148  float altitude_wrt_ellipsoid;
149  float altitude_wrt_mean_sea_level;
150  float speed_horizontal;
151  float speed_vertical;
152  float heading;
153  float hor_unc_circular;
154  float hor_unc_ellipse_semi_major;
155  float hor_unc_ellipse_semi_minor;
156  float hor_unc_ellipse_orient_azimuth;
157  float vert_unc;
158  float speed_unc;
159  float heading_unc;
160  unsigned char confidence_horizontal;
161  unsigned char confidence_vertical;
162  float magnetic_deviation;
163  rpc_loc_pos_technology_mask_type technology_mask;
164};
165
166enum rpc_loc_sv_system_e_type {
167  RPC_LOC_SV_SYSTEM_GPS = 1,
168  RPC_LOC_SV_SYSTEM_GALILEO = 2,
169  RPC_LOC_SV_SYSTEM_SBAS = 3,
170  RPC_LOC_SV_SYSTEM_COMPASS = 4,
171  RPC_LOC_SV_SYSTEM_GLONASS = 5,
172  RPC_LOC_SV_SYSTEM_MAX = 268435456
173};
174
175enum rpc_loc_sv_status_e_type {
176  RPC_LOC_SV_STATUS_IDLE = 1,
177  RPC_LOC_SV_STATUS_SEARCH = 2,
178  RPC_LOC_SV_STATUS_TRACK = 3,
179  RPC_LOC_SV_STATUS_MAX = 268435456
180};
181
182typedef rpc_uint32 rpc_loc_sv_info_valid_mask_type;
183
184struct rpc_loc_sv_info_s_type {
185  rpc_loc_sv_info_valid_mask_type valid_mask;
186  rpc_loc_sv_system_e_type system;
187  rpc_uint8 prn;
188  rpc_uint8 health_status;
189  rpc_loc_sv_status_e_type process_status;
190  rpc_boolean has_eph;
191  rpc_boolean has_alm;
192  float elevation;
193  float azimuth;
194  float snr;
195};
196
197typedef rpc_uint32 rpc_loc_gnss_info_valid_mask_type;
198
199struct rpc_loc_gnss_info_s_type {
200  rpc_loc_gnss_info_valid_mask_type valid_mask;
201  float position_dop;
202  float horizontal_dop;
203  float vertical_dop;
204  rpc_boolean altitude_assumed;
205  rpc_uint16 sv_count;
206    rpc_loc_sv_info_s_type sv_list<80>; /* EVAL:[LOC_API_MAX_SV_COUNT]*/
207};
208
209struct rpc_loc_nmea_report_s_type {
210  rpc_uint16 length;
211  opaque nmea_sentences[200];
212};
213
214enum rpc_loc_status_event_e_type {
215  RPC_LOC_STATUS_EVENT_ENGINE_STATE = 1,
216  RPC_LOC_STATUS_EVENT_FIX_SESSION_STATE = 2,
217  RPC_LOC_STATUS_EVENT_MAX = 268435456
218};
219
220enum rpc_loc_engine_state_e_type {
221  RPC_LOC_ENGINE_STATE_ON = 1,
222  RPC_LOC_ENGINE_STATE_OFF = 2,
223  RPC_LOC_ENGINE_STATE_MAX = 268435456
224};
225
226enum rpc_loc_fix_session_state_e_type {
227  RPC_LOC_FIX_SESSION_STATE_BEGIN = 1,
228  RPC_LOC_FIX_SESSION_STATE_END = 2,
229  RPC_LOC_FIX_SESSION_STATE_MAX = 268435456
230};
231
232union rpc_loc_status_event_payload_u_type switch (rpc_loc_status_event_e_type disc) {
233  case RPC_LOC_STATUS_EVENT_ENGINE_STATE:
234    rpc_loc_engine_state_e_type engine_state;
235  case RPC_LOC_STATUS_EVENT_FIX_SESSION_STATE:
236    rpc_loc_fix_session_state_e_type fix_session_state;
237  default:
238    void;
239};
240
241struct rpc_loc_status_event_s_type {
242  rpc_loc_status_event_e_type event;
243  rpc_loc_status_event_payload_u_type payload;
244};
245
246enum rpc_loc_server_addr_e_type {
247  RPC_LOC_SERVER_ADDR_IPV4 = 1,
248  RPC_LOC_SERVER_ADDR_URL = 2,
249  RPC_LOC_SERVER_ADDR_IPV6 = 3,
250  RPC_LOC_SERVER_ADDR_MAX = 268435456
251};
252
253struct rpc_loc_server_addr_ipv4_type {
254  rpc_uint32 addr;
255  rpc_uint16 port;
256};
257
258struct rpc_loc_server_addr_url_type {
259  rpc_uint16 length;
260  opaque addr[256];
261};
262
263struct rpc_loc_server_addr_ipv6_type {
264  rpc_uint16 addr[8];
265  rpc_uint32 port;
266};
267
268union rpc_loc_server_addr_u_type switch (rpc_loc_server_addr_e_type disc) {
269  case RPC_LOC_SERVER_ADDR_IPV4:
270    rpc_loc_server_addr_ipv4_type ipv4;
271  case RPC_LOC_SERVER_ADDR_URL:
272    rpc_loc_server_addr_url_type url;
273  case RPC_LOC_SERVER_ADDR_IPV6:
274    rpc_loc_server_addr_ipv6_type ipv6;
275  default:
276    void;
277};
278
279struct rpc_loc_server_info_s_type {
280  rpc_loc_server_addr_e_type addr_type;
281  rpc_loc_server_addr_u_type addr_info;
282};
283
284enum rpc_loc_ni_notify_verify_e_type {
285  RPC_LOC_NI_USER_NO_NOTIFY_NO_VERIFY = 1,
286  RPC_LOC_NI_USER_NOTIFY_ONLY = 2,
287  RPC_LOC_NI_USER_NOTIFY_VERIFY_ALLOW_NO_RESP = 3,
288  RPC_LOC_NI_USER_NOTIFY_VERIFY_NOT_ALLOW_NO_RESP = 4,
289  RPC_LOC_NI_USER_PRIVACY_OVERRIDE = 5,
290  RPC_LOC_NI_USER_NOTIFY_VERITY_TYPE_MAX = 268435456
291};
292
293enum rpc_loc_ni_event_e_type {
294  RPC_LOC_NI_EVENT_VX_NOTIFY_VERIFY_REQ = 1,
295  RPC_LOC_NI_EVENT_SUPL_NOTIFY_VERIFY_REQ = 2,
296  RPC_LOC_NI_EVENT_UMTS_CP_NOTIFY_VERIFY_REQ = 3,
297  RPC_LOC_NI_EVENT_VX_SERVICE_INTERACTION_REQ = 4,
298  RPC_LOC_NI_EVENT_MAX = 268435456
299};
300
301enum rpc_loc_ni_datacoding_scheme_e_type {
302  RPC_LOC_NI_PRESUPL_ISO646IRV = 0,
303  RPC_LOC_NI_PRESUPL_ISO8859 = 1,
304  RPC_LOC_NI_PRESUPL_UTF8 = 2,
305  RPC_LOC_NI_PRESUPL_UTF16 = 3,
306  RPC_LOC_NI_PRESUPL_UCS2 = 4,
307  RPC_LOC_NI_PRESUPL_GSM_DEFAULT = 5,
308  RPC_LOC_NI_PRESUPL_SHIFT_JIS = 6,
309  RPC_LOC_NI_PRESUPL_JIS = 7,
310  RPC_LOC_NI_PRESUPL_EUC = 8,
311  RPC_LOC_NI_PRESUPL_GB2312 = 9,
312  RPC_LOC_NI_PRESUPL_CNS11643 = 10,
313  RPC_LOC_NI_PRESUPL_KSC1001 = 11,
314  RPC_LOC_NI_PRESUPL_ENCODING_UNKNOWN = 2147483647,
315  RPC_LOC_NI_SS_GERMAN = 12,
316  RPC_LOC_NI_SS_ENGLISH = 13,
317  RPC_LOC_NI_SS_ITALIAN = 14,
318  RPC_LOC_NI_SS_FRENCH = 15,
319  RPC_LOC_NI_SS_SPANISH = 16,
320  RPC_LOC_NI_SS_DUTCH = 17,
321  RPC_LOC_NI_SS_SWEDISH = 18,
322  RPC_LOC_NI_SS_DANISH = 19,
323  RPC_LOC_NI_SS_PORTUGUESE = 20,
324  RPC_LOC_NI_SS_FINNISH = 21,
325  RPC_LOC_NI_SS_NORWEGIAN = 22,
326  RPC_LOC_NI_SS_GREEK = 23,
327  RPC_LOC_NI_SS_TURKISH = 24,
328  RPC_LOC_NI_SS_HUNGARIAN = 25,
329  RPC_LOC_NI_SS_POLISH = 26,
330  RPC_LOC_NI_SS_LANGUAGE_UNSPEC = 27,
331  RPC_LOC_NI_SUPL_UTF8 = 28,
332  RPC_LOC_NI_SUPL_UCS2 = 29,
333  RPC_LOC_NI_SUPL_GSM_DEFAULT = 30,
334  RPC_LOC_NI_SUPL_ENCODING_UNKNOWN = 2147483647
335};
336
337enum rpc_loc_ni_vx_requester_id_encoding_scheme_e_type {
338  RPC_LOC_NI_VX_OCTET = 0,
339  RPC_LOC_NI_VX_EXN_PROTOCOL_MSG = 1,
340  RPC_LOC_NI_VX_ASCII = 2,
341  RPC_LOC_NI_VX_IA5 = 3,
342  RPC_LOC_NI_VX_UNICODE = 4,
343  RPC_LOC_NI_VX_SHIFT_JIS = 5,
344  RPC_LOC_NI_VX_KOREAN = 6,
345  RPC_LOC_NI_VX_LATIN_HEBREW = 7,
346  RPC_LOC_NI_VX_LATIN = 8,
347  RPC_LOC_NI_VX_GSM = 9,
348  RPC_LOC_NI_VX_ENCODING_TYPE_MAX = 268435456
349};
350
351enum rpc_loc_ni_vx_pos_mode_e_type {
352  RPC_LOC_VX_MS_ASSISTED_ONLY = 1,
353  RPC_LOC_VX_MS_BASED_ONLY = 2,
354  RPC_LOC_VX_MS_ASSISTED_PREF_MSBASED_ALLWD = 3,
355  RPC_LOC_VX_MS_BASED_PREF_ASSISTED_ALLWD = 4,
356  RPC_LOC_VX_POS_MODE_MAX = 268435456
357};
358
359struct rpc_loc_ni_vx_requester_id_s_type {
360  unsigned char requester_id_length;
361  opaque requester_id[200];
362};
363
364struct rpc_loc_ni_vx_notify_verify_req_s_type {
365  rpc_loc_ni_notify_verify_e_type notification_priv_type;
366  unsigned char pos_qos_incl;
367  unsigned char pos_qos;
368  rpc_uint32 num_fixes;
369  rpc_uint32 tbf;
370  rpc_loc_ni_vx_pos_mode_e_type pos_mode;
371  rpc_loc_ni_vx_requester_id_encoding_scheme_e_type encoding_scheme;
372  rpc_loc_ni_vx_requester_id_s_type requester_id;
373  rpc_uint16 user_resp_timer_val;
374};
375
376enum rpc_loc_ni_supl_pos_method_e_type {
377  RPC_LOC_NI_POSMETHOD_AGPS_SETASSISTED = 1,
378  RPC_LOC_NI_POSMETHOD_AGPS_SETBASED = 2,
379  RPC_LOC_NI_POSMETHOD_AGPS_SETASSISTED_PREF = 3,
380  RPC_LOC_NI_POSMETHOD_AGPS_SETBASED_PREF = 4,
381  RPC_LOC_NI_POSMETHOD_AUTONOMOUS_GPS = 5,
382  RPC_LOC_NI_POSMETHOD_AFLT = 6,
383  RPC_LOC_NI_POSMETHOD_ECID = 7,
384  RPC_LOC_NI_POSMETHOD_EOTD = 8,
385  RPC_LOC_NI_POSMETHOD_OTDOA = 9,
386  RPC_LOC_NI_POSMETHOD_NO_POSITION = 10,
387  RPC_LOC_NI_POSMETHOD_MAX = 268435456
388};
389
390struct rpc_loc_ni_supl_slp_session_id_s_type {
391  unsigned char presence;
392  opaque session_id[4];
393  rpc_loc_server_info_s_type slp_address;
394};
395
396struct rpc_loc_ni_requestor_id_s_type {
397  unsigned char data_coding_scheme;
398  opaque requestor_id_string[200];
399  unsigned char string_len;
400};
401
402struct rpc_loc_ni_supl_client_name_s_type {
403  unsigned char data_coding_scheme;
404  opaque client_name_string[64];
405  unsigned char string_len;
406};
407
408struct rpc_loc_ni_supl_qop_s_type {
409  unsigned char bit_mask;
410  unsigned char horacc;
411  unsigned char veracc;
412  rpc_uint16 maxLocAge;
413  unsigned char delay;
414};
415
416struct rpc_loc_ni_supl_notify_verify_req_s_type {
417  rpc_loc_ni_notify_verify_e_type notification_priv_type;
418  rpc_uint16 flags;
419  rpc_loc_ni_supl_slp_session_id_s_type supl_slp_session_id;
420  opaque supl_hash[8];
421  rpc_loc_ni_datacoding_scheme_e_type datacoding_scheme;
422  rpc_loc_ni_supl_pos_method_e_type pos_method;
423  rpc_loc_ni_requestor_id_s_type requestor_id;
424  rpc_loc_ni_supl_client_name_s_type client_name;
425  rpc_loc_ni_supl_qop_s_type supl_qop;
426  rpc_uint16 user_response_timer;
427};
428
429struct rpc_loc_ni_ext_client_address_s_type {
430  unsigned char ext_client_address_len;
431  opaque ext_client_address[20];
432};
433
434enum rpc_loc_ni_location_type_e_type {
435  RPC_LOC_NI_LOCATIONTYPE_CURRENT_LOCATION = 1,
436  RPC_LOC_NI_LOCATIONTYPE_CURRENT_OR_LAST_KNOWN_LOCATION = 2,
437  RPC_LOC_NI_LOCATIONTYPE_INITIAL_LOCATION = 3,
438  RPC_LOC_NI_LOCATIONTYPE_MAX = 268435456
439};
440
441struct rpc_loc_ni_deferred_location_s_type {
442  unsigned char unused_bits;
443  unsigned char ms_available;
444};
445
446struct rpc_loc_ni_codeword_string_s_type {
447  unsigned char data_coding_scheme;
448  opaque lcs_codeword_string[20];
449  unsigned char string_len;
450};
451
452struct rpc_loc_ni_service_type_id_s_type {
453  unsigned char lcs_service_type_id;
454};
455
456struct rpc_loc_ni_umts_cp_notify_verify_req_s_type {
457  rpc_loc_ni_notify_verify_e_type notification_priv_type;
458  unsigned char invoke_id;
459  rpc_uint16 flags;
460  unsigned char notification_length;
461  opaque notification_text[64];
462  rpc_loc_ni_datacoding_scheme_e_type datacoding_scheme;
463  rpc_loc_ni_ext_client_address_s_type ext_client_address_data;
464  rpc_loc_ni_location_type_e_type location_type;
465  rpc_loc_ni_deferred_location_s_type deferred_location;
466  rpc_loc_ni_requestor_id_s_type requestor_id;
467  rpc_loc_ni_codeword_string_s_type codeword_string;
468  rpc_loc_ni_service_type_id_s_type service_type_id;
469  rpc_uint16 user_response_timer;
470};
471
472enum rpc_loc_ni_service_interaction_e_type {
473  RPC_LOC_NI_SERVICE_INTERACTION_ONGOING_NI_INCOMING_MO = 1,
474  RPC_LOC_NI_SERVICE_INTERACTION_MAX = 268435456
475};
476
477struct rpc_loc_ni_vx_service_interaction_req_s_type {
478  rpc_loc_ni_vx_notify_verify_req_s_type ni_vx_req;
479  rpc_loc_ni_service_interaction_e_type service_interation_type;
480};
481
482union rpc_loc_ni_event_payload_u_type switch (rpc_loc_ni_event_e_type disc) {
483  case RPC_LOC_NI_EVENT_VX_NOTIFY_VERIFY_REQ:
484    rpc_loc_ni_vx_notify_verify_req_s_type vx_req;
485  case RPC_LOC_NI_EVENT_SUPL_NOTIFY_VERIFY_REQ:
486    rpc_loc_ni_supl_notify_verify_req_s_type supl_req;
487  case RPC_LOC_NI_EVENT_UMTS_CP_NOTIFY_VERIFY_REQ:
488    rpc_loc_ni_umts_cp_notify_verify_req_s_type umts_cp_req;
489  case RPC_LOC_NI_EVENT_VX_SERVICE_INTERACTION_REQ:
490    rpc_loc_ni_vx_service_interaction_req_s_type service_interaction_req;
491  default:
492    void;
493};
494
495struct rpc_loc_ni_event_s_type {
496  rpc_loc_ni_event_e_type event;
497  rpc_loc_ni_event_payload_u_type payload;
498};
499
500enum rpc_loc_assist_data_request_e_type {
501  RPC_LOC_ASSIST_DATA_TIME_REQ = 1,
502  RPC_LOC_ASSIST_DATA_PREDICTED_ORBITS_REQ = 2,
503  RPC_LOC_ASSIST_DATA_POSITION_INJECTION_REQ = 3,
504  RPC_LOC_ASSIST_DATA_MAX = 268435456
505};
506
507typedef string rpc_struct_loc_time_download_source_s_type_servers_ptr<256>; /* EVAL:[LOC_API_MAX_SERVER_ADDR_LENGTH]*/
508
509typedef rpc_struct_loc_time_download_source_s_type_servers_ptr rpc_struct_loc_time_download_source_s_type_servers[3];
510
511struct rpc_loc_time_download_source_s_type {
512  rpc_uint32 delay_threshold;
513  rpc_struct_loc_time_download_source_s_type_servers servers;
514};
515
516typedef string rpc_struct_loc_predicted_orbits_data_source_s_type_servers_ptr<LOC_API_MAX_SERVER_ADDR_LENGTH>;
517
518typedef rpc_struct_loc_predicted_orbits_data_source_s_type_servers_ptr rpc_struct_loc_predicted_orbits_data_source_s_type_servers[3];
519
520struct rpc_loc_predicted_orbits_data_source_s_type {
521  rpc_uint32 max_file_size;
522  rpc_uint32 max_part_size;
523  rpc_struct_loc_predicted_orbits_data_source_s_type_servers servers;
524};
525
526struct rpc_loc_pos_inj_request_s_type {
527  rpc_uint32 flags;
528  double latitude;
529  double longitude;
530  rpc_uint32 position_uncertainty;
531  rpc_uint64 timestamp;
532};
533
534union rpc_loc_assist_data_request_payload_u_type switch (rpc_loc_assist_data_request_e_type disc) {
535  case RPC_LOC_ASSIST_DATA_TIME_REQ:
536    rpc_loc_time_download_source_s_type time_download;
537  case RPC_LOC_ASSIST_DATA_PREDICTED_ORBITS_REQ:
538    rpc_loc_predicted_orbits_data_source_s_type data_download;
539  case RPC_LOC_ASSIST_DATA_POSITION_INJECTION_REQ:
540    rpc_loc_pos_inj_request_s_type pos_injection;
541  default:
542    void;
543};
544
545struct rpc_loc_assist_data_request_s_type {
546  rpc_loc_assist_data_request_e_type event;
547  rpc_loc_assist_data_request_payload_u_type payload;
548};
549
550typedef rpc_uint32 rpc_loc_server_connection_handle;
551
552enum rpc_loc_server_protocol_e_type {
553  RPC_LOC_SERVER_PROTOCOL_DEFAULT = 0,
554  RPC_LOC_SERVER_PROTOCOL_SUPL = 1,
555  RPC_LOC_SERVER_PROTOCOL_VX_MPC = 2,
556  RPC_LOC_SERVER_PROTOCOL_VX_PDE = 3,
557  RPC_LOC_SERVER_PROTOCOL_MAX = 16777216
558};
559
560enum rpc_loc_server_connection_e_type {
561  RPC_LOC_SERVER_CONNECTION_LBS = 0,
562  RPC_LOC_SERVER_CONNECTION_WWAN_INTERNET,
563  RPC_LOC_SERVER_CONNECTION_MAX = 16777216
564};
565
566enum rpc_loc_server_request_e_type {
567  RPC_LOC_SERVER_REQUEST_OPEN = 1,
568  RPC_LOC_SERVER_REQUEST_CLOSE = 2,
569  RPC_LOC_SERVER_REQUEST_MULTI_OPEN = 3,
570  RPC_LOC_SERVER_REQUEST_MAX = 268435456
571};
572
573struct rpc_loc_server_open_req_s_type {
574  rpc_loc_server_connection_handle conn_handle;
575  rpc_loc_server_protocol_e_type protocol;
576};
577
578struct rpc_loc_server_multi_open_req_s_type {
579  rpc_loc_server_connection_handle conn_handle;
580  rpc_loc_server_protocol_e_type protocol;
581  rpc_loc_server_connection_e_type connection_type;
582};
583
584struct rpc_loc_server_close_req_s_type {
585  rpc_loc_server_connection_handle conn_handle;
586};
587
588union rpc_loc_server_request_u_type switch (rpc_loc_server_request_e_type disc) {
589  case RPC_LOC_SERVER_REQUEST_OPEN:
590    rpc_loc_server_open_req_s_type open_req;
591  case RPC_LOC_SERVER_REQUEST_CLOSE:
592    rpc_loc_server_close_req_s_type close_req;
593  case RPC_LOC_SERVER_REQUEST_MULTI_OPEN:
594    rpc_loc_server_multi_open_req_s_type multi_open_req;
595  default:
596    void;
597};
598
599struct rpc_loc_server_request_s_type {
600  rpc_loc_server_request_e_type event;
601  rpc_loc_server_request_u_type payload;
602};
603
604enum rpc_loc_qwip_request_e_type {
605  RPC_LOC_QWIP_START_PERIODIC_HI_FREQ_FIXES = 0,
606  RPC_LOC_QWIP_START_PERIODIC_KEEP_WARM,
607  RPC_LOC_QWIP_STOP_PERIODIC_FIXES,
608  RPC_LOC_QWIP_SUSPEND,
609  RPC_LOC_QWIP_REQUEST_MAX = 268435456
610};
611
612struct rpc_loc_qwip_request_s_type {
613  rpc_loc_qwip_request_e_type request_type;
614  rpc_uint16 tbf_ms;
615};
616
617struct rpc_loc_reserved_payload_s_type {
618  rpc_uint16 data_size;
619  opaque data<>;
620};
621
622enum rpc_loc_ioctl_e_type {
623  RPC_LOC_IOCTL_GET_API_VERSION = 1,
624  RPC_LOC_IOCTL_SET_FIX_CRITERIA = 2,
625  RPC_LOC_IOCTL_GET_FIX_CRITERIA = 3,
626  RPC_LOC_IOCTL_SERVICE_START_INDEX = 400,
627  RPC_LOC_IOCTL_INFORM_NI_USER_RESPONSE = 400,
628  RPC_LOC_IOCTL_INJECT_PREDICTED_ORBITS_DATA = 401,
629  RPC_LOC_IOCTL_QUERY_PREDICTED_ORBITS_DATA_VALIDITY = 402,
630  RPC_LOC_IOCTL_QUERY_PREDICTED_ORBITS_DATA_SOURCE = 403,
631  RPC_LOC_IOCTL_SET_PREDICTED_ORBITS_DATA_AUTO_DOWNLOAD = 404,
632  RPC_LOC_IOCTL_INJECT_UTC_TIME = 405,
633  RPC_LOC_IOCTL_INJECT_RTC_VALUE = 406,
634  RPC_LOC_IOCTL_INJECT_POSITION = 407,
635  RPC_LOC_IOCTL_QUERY_ENGINE_STATE = 408,
636  RPC_LOC_IOCTL_INFORM_SERVER_OPEN_STATUS = 409,
637  RPC_LOC_IOCTL_INFORM_SERVER_CLOSE_STATUS = 410,
638  RPC_LOC_IOCTL_SEND_WIPER_POSITION_REPORT = 411,
639  RPC_LOC_IOCTL_NOTIFY_WIPER_STATUS = 412,
640  RPC_LOC_IOCTL_ACCESS_EFS_DATA = 413,
641  RPC_LOC_IOCTL_ERROR_ESTIMATE_CONFIG = 414,
642  RPC_LOC_IOCTL_INFORM_SERVER_MULTI_OPEN_STATUS = 415,
643  RPC_LOC_IOCTL_NV_SETTINGS_START_INDEX = 800,
644  RPC_LOC_IOCTL_SET_ENGINE_LOCK = 800,
645  RPC_LOC_IOCTL_GET_ENGINE_LOCK = 801,
646  RPC_LOC_IOCTL_SET_SBAS_CONFIG = 802,
647  RPC_LOC_IOCTL_GET_SBAS_CONFIG = 803,
648  RPC_LOC_IOCTL_SET_NMEA_TYPES = 804,
649  RPC_LOC_IOCTL_GET_NMEA_TYPES = 805,
650  RPC_LOC_IOCTL_SET_CDMA_PDE_SERVER_ADDR = 806,
651  RPC_LOC_IOCTL_GET_CDMA_PDE_SERVER_ADDR = 807,
652  RPC_LOC_IOCTL_SET_CDMA_MPC_SERVER_ADDR = 808,
653  RPC_LOC_IOCTL_GET_CDMA_MPC_SERVER_ADDR = 809,
654  RPC_LOC_IOCTL_SET_UMTS_SLP_SERVER_ADDR = 810,
655  RPC_LOC_IOCTL_GET_UMTS_SLP_SERVER_ADDR = 811,
656  RPC_LOC_IOCTL_SET_ON_DEMAND_LPM = 812,
657  RPC_LOC_IOCTL_GET_ON_DEMAND_LPM = 813,
658  RPC_LOC_IOCTL_SET_XTRA_T_SESSION_CONTROL = 814,
659  RPC_LOC_IOCTL_GET_XTRA_T_SESSION_CONTROL = 815,
660  RPC_LOC_IOCTL_SET_LBS_APN_PROFILE = 816,
661  RPC_LOC_IOCTL_GET_LBS_APN_PROFILE = 817,
662  RPC_LOC_IOCTL_SET_XTRA_APN_PROFILE = 818,
663  RPC_LOC_IOCTL_GET_XTRA_APN_PROFILE = 819,
664  RPC_LOC_IOCTL_SET_DATA_ENABLE = 820,
665  RPC_LOC_IOCTL_SET_SUPL_VERSION = 821,
666  RPC_LOC_IOCTL_GET_SUPL_VERSION = 822,
667  RPC_LOC_IOCTL_PROPRIETARY_START_INDEX = 1000,
668  RPC_LOC_IOCTL_DELETE_ASSIST_DATA = 1000,
669  RPC_LOC_IOCTL_SET_CUSTOM_PDE_SERVER_ADDR = 1001,
670  RPC_LOC_IOCTL_GET_CUSTOM_PDE_SERVER_ADDR = 1002,
671  RPC_LOC_IOCTL_RESERVED_CMD = 8000,
672  RPC_LOC_IOCTL_THIRD_PARTY_START_INDEX = 1073741824
673};
674
675struct rpc_loc_api_version_s_type {
676  unsigned char major;
677  unsigned char minor;
678};
679
680enum rpc_loc_fix_recurrence_e_type {
681  RPC_LOC_PERIODIC_FIX = 1,
682  RPC_LOC_SINGLE_FIX = 2,
683  RPC_LOC_FIX_SESSION_TYPE_MAX = 268435456
684};
685
686enum rpc_loc_operation_mode_e_type {
687  RPC_LOC_OPER_MODE_DEFAULT = 1,
688  RPC_LOC_OPER_MODE_MSB = 2,
689  RPC_LOC_OPER_MODE_MSA = 3,
690  RPC_LOC_OPER_MODE_STANDALONE = 4,
691  RPC_LOC_OPER_MODE_SPEED_OPTIMAL = 5,
692  RPC_LOC_OPER_MODE_ACCURACY_OPTIMAL = 6,
693  RPC_LOC_OPER_MODE_DATA_OPTIMAL = 7,
694  RPC_LOC_OPER_MODE_CELL_ID = 8,
695  RPC_LOC_OPER_MODE_MAX = 268435456
696};
697
698enum rpc_loc_notify_e_type {
699  RPC_LOC_NOTIFY_ON_INTERVAL = 1,
700  RPC_LOC_NOTIFY_ON_DISTANCE = 2,
701  RPC_LOC_NOTIFY_ON_ANY = 3,
702  RPC_LOC_NOTIFY_ON_ALL = 4,
703  RPC_LOC_NOTIFY_TYPE_MAX = 268435456
704};
705
706struct rpc_loc_fix_criteria_s_type {
707  rpc_uint32 valid_mask;
708  rpc_loc_fix_recurrence_e_type recurrence_type;
709  rpc_loc_operation_mode_e_type preferred_operation_mode;
710  rpc_uint32 preferred_accuracy;
711  rpc_uint32 preferred_response_time;
712  rpc_boolean intermediate_pos_report_enabled;
713  rpc_loc_notify_e_type notify_type;
714  rpc_uint32 min_interval;
715  float min_distance;
716  rpc_uint32 min_dist_sample_interval;
717};
718
719enum rpc_loc_ni_user_resp_e_type {
720  RPC_LOC_NI_LCS_NOTIFY_VERIFY_ACCEPT = 1,
721  RPC_LOC_NI_LCS_NOTIFY_VERIFY_DENY = 2,
722  RPC_LOC_NI_LCS_NOTIFY_VERIFY_NORESP = 3,
723  RPC_LOC_NI_LCS_NOTIFY_VERIFY_MAX = 268435456
724};
725
726struct rpc_loc_user_verify_s_type {
727  rpc_loc_ni_user_resp_e_type user_resp;
728  rpc_loc_ni_event_s_type ni_event_pass_back;
729};
730
731enum rpc_loc_predicted_orbits_data_format_e_type {
732  RPC_LOC_PREDICTED_ORBITS_XTRA = 0,
733  RPC_LOC_PREDICTED_ORBITS_FORMAT_MAX = 268435456
734};
735
736struct rpc_loc_predicted_orbits_data_s_type {
737  rpc_loc_predicted_orbits_data_format_e_type format_type;
738  rpc_uint32 total_size;
739  rpc_uint8 total_parts;
740  rpc_uint8 part;
741  rpc_uint16 part_len;
742  opaque data_ptr<>;
743};
744
745struct rpc_loc_predicted_orbits_data_validity_report_s_type {
746  rpc_uint64 start_time_utc;
747  rpc_uint16 valid_duration_hrs;
748};
749
750struct rpc_loc_predicted_orbits_auto_download_config_s_type {
751  rpc_boolean enable;
752  unsigned char auto_check_every_hrs;
753};
754
755struct rpc_loc_assist_data_time_s_type {
756  rpc_uint64 time_utc;
757  rpc_uint32 uncertainty;
758};
759
760typedef rpc_uint64 rpc_loc_assist_pos_valid_mask_type;
761
762struct rpc_loc_assist_data_pos_s_type {
763  rpc_loc_assist_pos_valid_mask_type valid_mask;
764  rpc_uint64 timestamp_utc;
765  double latitude;
766  double longitude;
767  float altitude_wrt_ellipsoid;
768  float altitude_wrt_mean_sea_level;
769  float hor_unc_circular;
770  float vert_unc;
771  unsigned char confidence_horizontal;
772  unsigned char confidence_vertical;
773  rpc_int32 timestamp_age;
774};
775
776enum rpc_loc_server_open_status_e_type {
777  RPC_LOC_SERVER_OPEN_SUCCESS = 1,
778  RPC_LOC_SERVER_OPEN_FAIL = 2,
779  RPC_LOC_SERVER_OPEN_STATUS_MAX = 268435456
780};
781
782enum rpc_loc_server_pdp_type_e_type {
783  RPC_LOC_SERVER_PDP_IP = 0,
784  RPC_LOC_SERVER_PDP_PPP,
785  RPC_LOC_SERVER_PDP_IPV6,
786  RPC_LOC_SERVER_PDP_IPV4V6,
787  RPC_LOC_SERVER_PDP_MAX = 268435456
788};
789
790struct rpc_loc_server_open_status_s_type {
791  rpc_loc_server_connection_handle conn_handle;
792  rpc_loc_server_open_status_e_type open_status;
793  opaque apn_name[100];
794};
795
796struct rpc_loc_server_multi_open_status_s_type {
797  rpc_loc_server_connection_handle conn_handle;
798  rpc_loc_server_open_status_e_type open_status;
799  rpc_loc_server_pdp_type_e_type pdp_type;
800  opaque apn_name[100];
801};
802
803enum rpc_loc_server_close_status_e_type {
804  RPC_LOC_SERVER_CLOSE_SUCCESS = 1,
805  RPC_LOC_SERVER_CLOSE_FAIL = 2,
806  RPC_LOC_SERVER_CLOSE_STATUS_MAX = 268435456
807};
808
809struct rpc_loc_server_close_status_s_type {
810  rpc_loc_server_connection_handle conn_handle;
811  rpc_loc_server_close_status_e_type close_status;
812};
813
814struct rpc_loc_wiper_fix_time_s_type {
815  rpc_uint32 slow_clock_count;
816};
817
818struct rpc_loc_wiper_fix_pos_s_type {
819  rpc_int32 lat;
820  rpc_int32 lon;
821  rpc_uint16 HEPE;
822  rpc_uint8 num_of_aps_used;
823  rpc_uint8 fix_error_code;
824};
825
826struct rpc_loc_wiper_ap_info_s_type {
827  opaque mac_addr[6];
828  rpc_int32 rssi;
829  rpc_uint16 channel;
830  rpc_uint8 ap_qualifier;
831};
832
833struct rpc_loc_wiper_ap_set_s_type {
834  rpc_uint8 num_of_aps;
835  rpc_loc_wiper_ap_info_s_type ap_info[50];
836};
837
838struct rpc_loc_wiper_position_report_s_type {
839  rpc_uint8 wiper_valid_info_flag;
840  rpc_loc_wiper_fix_time_s_type wiper_fix_time;
841  rpc_loc_wiper_fix_pos_s_type wiper_fix_position;
842  rpc_loc_wiper_ap_set_s_type wiper_ap_set;
843};
844
845enum rpc_loc_wiper_status_e_type {
846  RPC_LOC_WIPER_STATUS_AVAILABLE = 1,
847  RPC_LOC_WIPER_STATUS_UNAVAILABLE = 2,
848  RPC_LOC_WIPER_STATUS_E_SIZE = 268435456
849};
850
851enum rpc_loc_fs_operation_e_type {
852  RPC_LOC_FS_CREATE_WRITE_FILE = 1,
853  RPC_LOC_FS_APPEND_FILE = 2,
854  RPC_LOC_FS_DELETE_FILE = 3,
855  RPC_LOC_FS_READ_FILE = 4,
856  RPC_LOC_FS_MAX = 268435456
857};
858
859struct rpc_loc_efs_data_s_type {
860  opaque filename[64];
861  rpc_loc_fs_operation_e_type operation;
862  rpc_uint32 total_size;
863  opaque data_ptr<>;
864  rpc_uint32 part_len;
865  rpc_uint8 part;
866  rpc_uint8 total_parts;
867  rpc_uint32 reserved;
868};
869
870enum rpc_loc_error_estimate_config_e_type {
871  RPC_LOC_ERROR_ESTIMATE_CONFIG_SET = 1,
872  RPC_LOC_ERROR_ESTIMATE_CONFIG_CLEAR = 2,
873  RPC_LOC_ERROR_ESTIMATE_MAX = 268435456
874};
875
876struct rpc_loc_apn_profiles_type {
877  rpc_uint32 srv_system_type;
878  rpc_uint32 pdp_type;
879  rpc_uint32 reserved;
880  opaque apn_name[100];
881};
882
883enum rpc_loc_lock_e_type {
884  RPC_LOC_LOCK_NONE = 1,
885  RPC_LOC_LOCK_MI = 2,
886  RPC_LOC_LOCK_MT = 3,
887  RPC_LOC_LOCK_ALL = 4,
888  RPC_LOC_LOCK_MAX = 268435456
889};
890
891typedef rpc_uint32 rpc_loc_nmea_sentence_type;
892
893typedef rpc_uint32 rpc_loc_assist_data_type;
894
895struct rpc_loc_assist_data_delete_s_type {
896  rpc_loc_assist_data_type type;
897  rpc_uint32 reserved[8];
898};
899
900union rpc_loc_ioctl_data_u_type switch (rpc_loc_ioctl_e_type disc) {
901  case RPC_LOC_IOCTL_SET_FIX_CRITERIA:
902    rpc_loc_fix_criteria_s_type fix_criteria;
903  case RPC_LOC_IOCTL_INFORM_NI_USER_RESPONSE:
904    rpc_loc_user_verify_s_type user_verify_resp;
905  case RPC_LOC_IOCTL_INJECT_PREDICTED_ORBITS_DATA:
906    rpc_loc_predicted_orbits_data_s_type predicted_orbits_data;
907  case RPC_LOC_IOCTL_SET_PREDICTED_ORBITS_DATA_AUTO_DOWNLOAD:
908    rpc_loc_predicted_orbits_auto_download_config_s_type predicted_orbits_auto_download;
909  case RPC_LOC_IOCTL_INJECT_UTC_TIME:
910    rpc_loc_assist_data_time_s_type assistance_data_time;
911  case RPC_LOC_IOCTL_INJECT_POSITION:
912    rpc_loc_assist_data_pos_s_type assistance_data_position;
913  case RPC_LOC_IOCTL_INFORM_SERVER_OPEN_STATUS:
914    rpc_loc_server_open_status_s_type conn_open_status;
915  case RPC_LOC_IOCTL_INFORM_SERVER_CLOSE_STATUS:
916    rpc_loc_server_close_status_s_type conn_close_status;
917  case RPC_LOC_IOCTL_SEND_WIPER_POSITION_REPORT:
918    rpc_loc_wiper_position_report_s_type wiper_pos;
919  case RPC_LOC_IOCTL_NOTIFY_WIPER_STATUS:
920    rpc_loc_wiper_status_e_type wiper_status;
921  case RPC_LOC_IOCTL_SET_ENGINE_LOCK:
922    rpc_loc_lock_e_type engine_lock;
923  case RPC_LOC_IOCTL_SET_SBAS_CONFIG:
924    rpc_boolean sbas_mode;
925  case RPC_LOC_IOCTL_SET_NMEA_TYPES:
926    rpc_loc_nmea_sentence_type nmea_types;
927  case RPC_LOC_IOCTL_SET_ON_DEMAND_LPM:
928    rpc_boolean on_demand_lpm;
929  case  RPC_LOC_IOCTL_SET_CDMA_PDE_SERVER_ADDR:
930  case  RPC_LOC_IOCTL_SET_CDMA_MPC_SERVER_ADDR:
931  case  RPC_LOC_IOCTL_SET_UMTS_SLP_SERVER_ADDR:
932  case  RPC_LOC_IOCTL_SET_CUSTOM_PDE_SERVER_ADDR:
933    rpc_loc_server_info_s_type server_addr;
934  case RPC_LOC_IOCTL_DELETE_ASSIST_DATA:
935    rpc_loc_assist_data_delete_s_type assist_data_delete;
936  case RPC_LOC_IOCTL_ACCESS_EFS_DATA:
937    rpc_loc_efs_data_s_type efs_data;
938  case RPC_LOC_IOCTL_ERROR_ESTIMATE_CONFIG:
939    rpc_loc_error_estimate_config_e_type error_estimate_config;
940  case RPC_LOC_IOCTL_SET_XTRA_T_SESSION_CONTROL:
941    rpc_uint8 xtra_t_session_control;
942  case  RPC_LOC_IOCTL_SET_LBS_APN_PROFILE:
943  case  RPC_LOC_IOCTL_SET_XTRA_APN_PROFILE:
944    rpc_loc_apn_profiles_type apn_profiles[6];
945  case RPC_LOC_IOCTL_SET_DATA_ENABLE:
946    rpc_boolean data_enable;
947  case RPC_LOC_IOCTL_SET_SUPL_VERSION:
948    rpc_uint32 supl_version;
949  case RPC_LOC_IOCTL_INFORM_SERVER_MULTI_OPEN_STATUS:
950    rpc_loc_server_multi_open_status_s_type multi_conn_open_status;
951  case RPC_LOC_IOCTL_RESERVED_CMD:
952    rpc_loc_reserved_payload_s_type reserved;
953  default:
954    void;
955};
956
957union rpc_loc_ioctl_callback_data_u_type switch (rpc_loc_ioctl_e_type disc) {
958  case RPC_LOC_IOCTL_GET_API_VERSION:
959    rpc_loc_api_version_s_type api_version;
960  case RPC_LOC_IOCTL_GET_FIX_CRITERIA:
961    rpc_loc_fix_criteria_s_type fix_criteria;
962  case RPC_LOC_IOCTL_GET_ENGINE_LOCK:
963    rpc_loc_lock_e_type engine_lock;
964  case RPC_LOC_IOCTL_GET_SBAS_CONFIG:
965    rpc_boolean sbas_mode;
966  case RPC_LOC_IOCTL_GET_NMEA_TYPES:
967    rpc_loc_nmea_sentence_type nmea_types;
968  case RPC_LOC_IOCTL_GET_ON_DEMAND_LPM:
969    rpc_boolean on_demand_lpm;
970  case  RPC_LOC_IOCTL_GET_CDMA_PDE_SERVER_ADDR:
971  case  RPC_LOC_IOCTL_GET_CDMA_MPC_SERVER_ADDR:
972  case  RPC_LOC_IOCTL_GET_UMTS_SLP_SERVER_ADDR:
973  case  RPC_LOC_IOCTL_GET_CUSTOM_PDE_SERVER_ADDR:
974    rpc_loc_server_info_s_type server_addr;
975  case RPC_LOC_IOCTL_QUERY_PREDICTED_ORBITS_DATA_SOURCE:
976    rpc_loc_predicted_orbits_data_source_s_type predicted_orbits_data_source;
977  case RPC_LOC_IOCTL_QUERY_PREDICTED_ORBITS_DATA_VALIDITY:
978    rpc_loc_predicted_orbits_data_validity_report_s_type predicted_orbits_data_validity;
979  case RPC_LOC_IOCTL_GET_XTRA_T_SESSION_CONTROL:
980    rpc_uint8 xtra_t_session_control;
981  case  RPC_LOC_IOCTL_GET_LBS_APN_PROFILE:
982  case  RPC_LOC_IOCTL_GET_XTRA_APN_PROFILE:
983    rpc_loc_apn_profiles_type apn_profiles[6];
984  case RPC_LOC_IOCTL_GET_SUPL_VERSION:
985    rpc_uint32 supl_version;
986  default:
987    void;
988};
989
990struct rpc_loc_ioctl_callback_s_type {
991  rpc_loc_ioctl_e_type type;
992  rpc_int32 status;
993  rpc_loc_ioctl_callback_data_u_type data;
994};
995
996union rpc_loc_event_payload_u_type switch (unsigned hyper disc) {
997  case RPC_LOC_EVENT_PARSED_POSITION_REPORT:
998    rpc_loc_parsed_position_s_type parsed_location_report;
999  case RPC_LOC_EVENT_SATELLITE_REPORT:
1000    rpc_loc_gnss_info_s_type gnss_report;
1001  case RPC_LOC_EVENT_NMEA_POSITION_REPORT:
1002  case RPC_LOC_EVENT_NMEA_1HZ_REPORT:
1003    rpc_loc_nmea_report_s_type nmea_report;
1004  case RPC_LOC_EVENT_NI_NOTIFY_VERIFY_REQUEST:
1005    rpc_loc_ni_event_s_type ni_request;
1006  case RPC_LOC_EVENT_ASSISTANCE_DATA_REQUEST:
1007    rpc_loc_assist_data_request_s_type assist_data_request;
1008  case RPC_LOC_EVENT_LOCATION_SERVER_REQUEST:
1009    rpc_loc_server_request_s_type loc_server_request;
1010  case RPC_LOC_EVENT_IOCTL_REPORT:
1011    rpc_loc_ioctl_callback_s_type ioctl_report;
1012  case RPC_LOC_EVENT_STATUS_REPORT:
1013    rpc_loc_status_event_s_type status_report;
1014  case RPC_LOC_EVENT_WPS_NEEDED_REQUEST:
1015    rpc_loc_qwip_request_s_type qwip_request;
1016  case RPC_LOC_EVENT_RESERVED:
1017    rpc_loc_reserved_payload_s_type reserved;
1018  default:
1019    void;
1020};
1021
1022