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 34 GENERAL 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 51 Generated by following versions of Htorpc modules: 52 Id: //source/qcom/qct/core/mproc/tools/rel/2h09/htorpc/htorpc.pl#1 53 Id: //source/qcom/qct/core/mproc/tools/rel/2h09/htorpc/lib/Htorpc/Start.pm#1 54 Id: //source/qcom/qct/core/mproc/tools/rel/2h09/htorpc/lib/Htorpc/Htoxdr.pm#1 55 Id: //source/qcom/qct/core/mproc/tools/rel/2h09/htorpc/lib/Htorpc/XDR.pm#3 56 Id: //source/qcom/qct/core/mproc/tools/rel/2h09/htorpc/lib/Htorpc/Output.pm#5 57 Id: //source/qcom/qct/core/mproc/tools/rel/2h09/htorpc/lib/Htorpc/Parser.pm#1 58 Id: //source/qcom/qct/core/mproc/tools/rel/2h09/htorpc/lib/Htorpc/Metacomments.pm#1 59 Id: //source/qcom/qct/core/mproc/tools/rel/2h09/htorpc/lib/Htorpc/SymbolTable.pm#1 60 61 loc_api Definition File(s): 62 Id: //source/qcom/qct/modem/api/gps/main/latest/loc_api.h#24 63 =============================================================================*/ 64 /*============================================================================= 65 $Header$ 66 =============================================================================*/ 67 68 69 70 const LOC_API_TOOLVERS = 0x00040030; 71 const LOC_API_FEATURES = 0x00000001; 72 73 const RPC_LOC_EVENT_STATUS_REPORT = 0x00000100; 74 75 const RPC_LOC_EVENT_ASSISTANCE_DATA_REQUEST = 0x00000020; 76 77 const RPC_LOC_EVENT_WPS_NEEDED_REQUEST = 0x00000200; 78 79 const RPC_LOC_EVENT_SATELLITE_REPORT = 0x00000002; 80 81 const RPC_LOC_EVENT_PARSED_POSITION_REPORT = 0x00000001; 82 83 const RPC_LOC_EVENT_RESERVED = 0x8000000000000000; 84 85 const RPC_LOC_EVENT_LOCATION_SERVER_REQUEST = 0x00000040; 86 87 const RPC_LOC_EVENT_NMEA_POSITION_REPORT = 0x00000008; 88 89 const RPC_LOC_EVENT_IOCTL_REPORT = 0x00000080; 90 91 const RPC_LOC_EVENT_NMEA_1HZ_REPORT = 0x00000004; 92 93 const RPC_LOC_EVENT_NI_NOTIFY_VERIFY_REQUEST = 0x00000010; 94 95 const RPC_LOC_API_CB_NULL_VERSION = 0x00050002; 96 const RPC_LOC_EVENT_CB_F_TYPE_VERSION = 0x00050001; 97 const RPC_LOC_API_API_VERSIONS_VERSION = 0x00050001; 98 const RPC_LOC_STOP_FIX_VERSION = 0x00050001; 99 const RPC_LOC_START_FIX_VERSION = 0x00050001; 100 const RPC_LOC_IOCTL_VERSION = 0x00050001; 101 const RPC_LOC_CLOSE_VERSION = 0x00050001; 102 const RPC_LOC_API_RPC_GLUE_CODE_INFO_REMOTE_VERSION = 0x00050001; 103 const RPC_LOC_OPEN_VERSION = 0x00050001; 104 const RPC_LOC_API_NULL_VERSION = 0x00050001; 105 const RPC_LOC_API_API_MAJOR_NUM = 0x0005; 106 const RPC_LOC_APIAPI_VERSION_IS_HASHKEY = 0; 107 108 typedef rpc_int32 rpc_loc_client_handle_type; 109 110 typedef rpc_uint64 rpc_loc_event_mask_type; 111 112 typedef rpc_uint64 rpc_loc_position_valid_mask_type; 113 114 typedef rpc_uint32 rpc_loc_pos_technology_mask_type; 115 116 enum 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 128 struct 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 139 struct 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 166 enum 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 175 enum 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 182 typedef rpc_uint32 rpc_loc_sv_info_valid_mask_type; 183 184 struct 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 197 typedef rpc_uint32 rpc_loc_gnss_info_valid_mask_type; 198 199 struct 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 209 struct rpc_loc_nmea_report_s_type { 210 rpc_uint16 length; 211 opaque nmea_sentences[200]; 212 }; 213 214 enum 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 220 enum 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 226 enum 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 232 union 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 241 struct 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 246 enum 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 253 struct rpc_loc_server_addr_ipv4_type { 254 rpc_uint32 addr; 255 rpc_uint16 port; 256 }; 257 258 struct rpc_loc_server_addr_url_type { 259 rpc_uint16 length; 260 opaque addr[256]; 261 }; 262 263 struct rpc_loc_server_addr_ipv6_type { 264 rpc_uint16 addr[8]; 265 rpc_uint32 port; 266 }; 267 268 union 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 279 struct 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 284 enum 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 293 enum 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 301 enum 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 337 enum 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 351 enum 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 359 struct rpc_loc_ni_vx_requester_id_s_type { 360 unsigned char requester_id_length; 361 opaque requester_id[200]; 362 }; 363 364 struct 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 376 enum 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 390 struct 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 396 struct 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 402 struct 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 408 struct 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 416 struct 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 429 struct rpc_loc_ni_ext_client_address_s_type { 430 unsigned char ext_client_address_len; 431 opaque ext_client_address[20]; 432 }; 433 434 enum 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 441 struct rpc_loc_ni_deferred_location_s_type { 442 unsigned char unused_bits; 443 unsigned char ms_available; 444 }; 445 446 struct 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 452 struct rpc_loc_ni_service_type_id_s_type { 453 unsigned char lcs_service_type_id; 454 }; 455 456 struct 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 472 enum 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 477 struct 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 482 union 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 495 struct 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 500 enum 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 507 typedef string rpc_struct_loc_time_download_source_s_type_servers_ptr<256>; /* EVAL:[LOC_API_MAX_SERVER_ADDR_LENGTH]*/ 508 509 typedef rpc_struct_loc_time_download_source_s_type_servers_ptr rpc_struct_loc_time_download_source_s_type_servers[3]; 510 511 struct 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 516 typedef string rpc_struct_loc_predicted_orbits_data_source_s_type_servers_ptr<LOC_API_MAX_SERVER_ADDR_LENGTH>; 517 518 typedef rpc_struct_loc_predicted_orbits_data_source_s_type_servers_ptr rpc_struct_loc_predicted_orbits_data_source_s_type_servers[3]; 519 520 struct 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 526 struct 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 534 union 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 545 struct 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 550 typedef rpc_uint32 rpc_loc_server_connection_handle; 551 552 enum 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 560 enum 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 566 enum 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 573 struct 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 578 struct 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 584 struct rpc_loc_server_close_req_s_type { 585 rpc_loc_server_connection_handle conn_handle; 586 }; 587 588 union 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 599 struct rpc_loc_server_request_s_type { 600 rpc_loc_server_request_e_type event; 601 rpc_loc_server_request_u_type payload; 602 }; 603 604 enum 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 612 struct rpc_loc_qwip_request_s_type { 613 rpc_loc_qwip_request_e_type request_type; 614 rpc_uint16 tbf_ms; 615 }; 616 617 struct rpc_loc_reserved_payload_s_type { 618 rpc_uint16 data_size; 619 opaque data<>; 620 }; 621 622 enum 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 675 struct rpc_loc_api_version_s_type { 676 unsigned char major; 677 unsigned char minor; 678 }; 679 680 enum 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 686 enum 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 698 enum 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 706 struct 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 719 enum 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 726 struct 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 731 enum 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 736 struct 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 745 struct rpc_loc_predicted_orbits_data_validity_report_s_type { 746 rpc_uint64 start_time_utc; 747 rpc_uint16 valid_duration_hrs; 748 }; 749 750 struct rpc_loc_predicted_orbits_auto_download_config_s_type { 751 rpc_boolean enable; 752 unsigned char auto_check_every_hrs; 753 }; 754 755 struct rpc_loc_assist_data_time_s_type { 756 rpc_uint64 time_utc; 757 rpc_uint32 uncertainty; 758 }; 759 760 typedef rpc_uint64 rpc_loc_assist_pos_valid_mask_type; 761 762 struct 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 776 enum 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 782 enum 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 790 struct 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 796 struct 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 803 enum 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 809 struct 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 814 struct rpc_loc_wiper_fix_time_s_type { 815 rpc_uint32 slow_clock_count; 816 }; 817 818 struct 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 826 struct 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 833 struct 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 838 struct 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 845 enum 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 851 enum 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 859 struct 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 870 enum 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 876 struct 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 883 enum 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 891 typedef rpc_uint32 rpc_loc_nmea_sentence_type; 892 893 typedef rpc_uint32 rpc_loc_assist_data_type; 894 895 struct rpc_loc_assist_data_delete_s_type { 896 rpc_loc_assist_data_type type; 897 rpc_uint32 reserved[8]; 898 }; 899 900 union 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 957 union 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 990 struct 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 996 union 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