1 /* LOC_API TOOL VERSION: 4.36 */ 2 /*============================================================================= 3 L O C _ A P I _ C O M M O N . X D R 4 5 GENERAL DESCRIPTION 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 8 loc_api API supports. 9 10 --------------------------------------------------------------------------- 11 Copyright (c) 2010 QUALCOMM Incorporated. 12 All Rights Reserved. QUALCOMM Proprietary and Confidential. 13 --------------------------------------------------------------------------- 14 =============================================================================*/ 15 16 /*============================================================================= 17 18 Edit History 19 20 AUTO GENERATED 21 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 31 32 loc_api Definition File(s): 33 Id: //source/qcom/qct/modem/api/gps/main/latest/loc_api.h#16 34 =============================================================================*/ 35 /*============================================================================= 36 $Header$ 37 =============================================================================*/ 38 39 40 41 const LOC_API_TOOLVERS = 0x00040024; 42 const LOC_API_FEATURES = 0x00000001; 43 44 const RPC_LOC_EVENT_NI_NOTIFY_VERIFY_REQUEST = 0x00000010; 45 46 const RPC_LOC_EVENT_WPS_NEEDED_REQUEST = 0x00000200; 47 48 const RPC_LOC_EVENT_IOCTL_REPORT = 0x00000080; 49 50 const RPC_LOC_EVENT_LOCATION_SERVER_REQUEST = 0x00000040; 51 52 const RPC_LOC_EVENT_RESERVED = 0x8000000000000000; 53 54 const RPC_LOC_EVENT_PARSED_POSITION_REPORT = 0x00000001; 55 56 const RPC_LOC_EVENT_ASSISTANCE_DATA_REQUEST = 0x00000020; 57 58 const RPC_LOC_EVENT_NMEA_POSITION_REPORT = 0x00000008; 59 60 const RPC_LOC_EVENT_SATELLITE_REPORT = 0x00000002; 61 62 const RPC_LOC_EVENT_STATUS_REPORT = 0x00000100; 63 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; 75 76 typedef bool rpc_boolean; 77 78 typedef unsigned long rpc_uint32; 79 80 typedef unsigned short rpc_uint16; 81 82 typedef unsigned char rpc_uint8; 83 84 typedef long rpc_int32; 85 86 typedef unsigned char rpc_byte; 87 88 typedef unsigned hyper rpc_uint64; 89 90 typedef rpc_int32 rpc_loc_client_handle_type; 91 92 typedef rpc_uint64 rpc_loc_event_mask_type; 93 94 typedef rpc_uint64 rpc_loc_position_valid_mask_type; 95 96 typedef rpc_uint32 rpc_loc_pos_technology_mask_type; 97 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 108 }; 109 110 struct rpc_loc_calendar_time_s_type { 111 rpc_uint16 year; 112 unsigned char month; 113 unsigned char day_of_week; 114 unsigned char day; 115 unsigned char hour; 116 unsigned char minute; 117 unsigned char second; 118 rpc_uint16 millisecond; 119 }; 120 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; 127 float time_unc; 128 double latitude; 129 double longitude; 130 float altitude_wrt_ellipsoid; 131 float altitude_wrt_mean_sea_level; 132 float speed_horizontal; 133 float speed_vertical; 134 float heading; 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; 139 float vert_unc; 140 float speed_unc; 141 float heading_unc; 142 unsigned char confidence_horizontal; 143 unsigned char confidence_vertical; 144 float magnetic_deviation; 145 rpc_loc_pos_technology_mask_type technology_mask; 146 }; 147 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 155 }; 156 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 162 }; 163 164 typedef rpc_uint32 rpc_loc_sv_info_valid_mask_type; 165 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; 169 rpc_uint8 prn; 170 rpc_uint8 health_status; 171 rpc_loc_sv_status_e_type process_status; 172 rpc_boolean has_eph; 173 rpc_boolean has_alm; 174 float elevation; 175 float azimuth; 176 float snr; 177 }; 178 179 typedef rpc_uint32 rpc_loc_gnss_info_valid_mask_type; 180 181 struct rpc_loc_gnss_info_s_type { 182 rpc_loc_gnss_info_valid_mask_type valid_mask; 183 float position_dop; 184 float horizontal_dop; 185 float vertical_dop; 186 rpc_boolean altitude_assumed; 187 rpc_uint16 sv_count; 188 rpc_loc_sv_info_s_type sv_list<80>; /* EVAL:[LOC_API_MAX_SV_COUNT]*/ 189 }; 190 191 struct rpc_loc_nmea_report_s_type { 192 rpc_uint16 length; 193 opaque nmea_sentences[1200]; /* EVAL:[1200]*/ 194 }; 195 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 200 }; 201 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 206 }; 207 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 212 }; 213 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; 219 default: 220 void; 221 }; 222 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; 226 }; 227 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 232 }; 233 234 struct rpc_loc_server_addr_ipv4_type { 235 rpc_uint32 addr; 236 rpc_uint16 port; 237 }; 238 239 struct rpc_loc_server_addr_url_type { 240 rpc_uint16 length; 241 opaque addr[256]; /* EVAL:[256]*/ 242 }; 243 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; 249 default: 250 void; 251 }; 252 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; 256 }; 257 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 265 }; 266 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 273 }; 274 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 309 }; 310 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 323 }; 324 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 331 }; 332 333 struct rpc_loc_ni_vx_requester_id_s_type { 334 unsigned char requester_id_length; 335 opaque requester_id[200]; /* EVAL:[200]*/ 336 }; 337 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; 343 rpc_uint32 tbf; 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; 348 }; 349 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 362 }; 363 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; 368 }; 369 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; 374 }; 375 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; 380 }; 381 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; 387 unsigned char delay; 388 }; 389 390 struct rpc_loc_ni_supl_notify_verify_req_s_type { 391 rpc_loc_ni_notify_verify_e_type notification_priv_type; 392 rpc_uint16 flags; 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; 401 }; 402 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]*/ 406 }; 407 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 413 }; 414 415 struct rpc_loc_ni_deferred_location_s_type { 416 unsigned char unused_bits; 417 unsigned char ms_available; 418 }; 419 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; 424 }; 425 426 struct rpc_loc_ni_service_type_id_s_type { 427 unsigned char lcs_service_type_id; 428 }; 429 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; 433 rpc_uint16 flags; 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; 444 }; 445 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 449 }; 450 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; 454 }; 455 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; 465 default: 466 void; 467 }; 468 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; 472 }; 473 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 478 }; 479 480 typedef string rpc_struct_loc_time_download_source_s_type_servers_ptr<256>; /* EVAL:[LOC_API_MAX_SERVER_ADDR_LENGTH]*/ 481 482 typedef rpc_struct_loc_time_download_source_s_type_servers_ptr rpc_struct_loc_time_download_source_s_type_servers[3]; /* EVAL:[3]*/ 483 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; 487 }; 488 489 typedef string rpc_struct_loc_predicted_orbits_data_source_s_type_servers_ptr<256>; /* EVAL:[LOC_API_MAX_SERVER_ADDR_LENGTH]*/ 490 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]*/ 492 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; 497 }; 498 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; 504 default: 505 void; 506 }; 507 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; 511 }; 512 513 typedef rpc_uint32 rpc_loc_server_connection_handle; 514 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 521 }; 522 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 527 }; 528 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; 532 }; 533 534 struct rpc_loc_server_close_req_s_type { 535 rpc_loc_server_connection_handle conn_handle; 536 }; 537 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; 543 default: 544 void; 545 }; 546 547 struct rpc_loc_server_request_s_type { 548 rpc_loc_server_request_e_type event; 549 rpc_loc_server_request_u_type payload; 550 }; 551 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 558 }; 559 560 struct rpc_loc_qwip_request_s_type { 561 rpc_loc_qwip_request_e_type request_type; 562 rpc_uint16 tbf_ms; 563 }; 564 565 struct rpc_loc_reserved_payload_s_type { 566 rpc_uint16 data_size; 567 opaque data<>; 568 }; 569 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 609 }; 610 611 struct rpc_loc_api_version_s_type { 612 unsigned char major; 613 unsigned char minor; 614 }; 615 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 620 }; 621 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 632 }; 633 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 640 }; 641 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; 651 float min_distance; 652 rpc_uint32 min_dist_sample_interval; 653 }; 654 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 660 }; 661 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; 665 }; 666 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 670 }; 671 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; 676 rpc_uint8 part; 677 rpc_uint16 part_len; 678 opaque data_ptr<>; 679 }; 680 681 struct rpc_loc_predicted_orbits_data_validity_report_s_type { 682 rpc_uint64 start_time_utc; 683 rpc_uint16 valid_duration_hrs; 684 }; 685 686 struct rpc_loc_predicted_orbits_auto_download_config_s_type { 687 rpc_boolean enable; 688 unsigned char auto_check_every_hrs; 689 }; 690 691 struct rpc_loc_assist_data_time_s_type { 692 rpc_uint64 time_utc; 693 rpc_uint32 uncertainty; 694 }; 695 696 typedef rpc_uint64 rpc_loc_assist_pos_valid_mask_type; 697 698 struct rpc_loc_assist_data_pos_s_type { 699 rpc_loc_assist_pos_valid_mask_type valid_mask; 700 rpc_uint64 timestamp_utc; 701 double latitude; 702 double longitude; 703 float altitude_wrt_ellipsoid; 704 float altitude_wrt_mean_sea_level; 705 float hor_unc_circular; 706 float vert_unc; 707 unsigned char confidence_horizontal; 708 unsigned char confidence_vertical; 709 rpc_int32 timestamp_age; 710 }; 711 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 716 }; 717 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]*/ 722 }; 723 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 728 }; 729 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; 733 }; 734 735 struct rpc_loc_wiper_fix_time_s_type { 736 rpc_uint32 slow_clock_count; 737 }; 738 739 struct rpc_loc_wiper_fix_pos_s_type { 740 rpc_int32 lat; 741 rpc_int32 lon; 742 rpc_uint16 HEPE; 743 rpc_uint8 num_of_aps_used; 744 rpc_uint8 fix_error_code; 745 }; 746 747 struct rpc_loc_wiper_ap_info_s_type { 748 opaque mac_addr[6]; /* EVAL:[6]*/ 749 rpc_int32 rssi; 750 rpc_uint16 channel; 751 rpc_uint8 ap_qualifier; 752 }; 753 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]*/ 757 }; 758 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; 764 }; 765 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 770 }; 771 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 778 }; 779 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; 784 opaque data_ptr<>; 785 rpc_uint32 part_len; 786 rpc_uint8 part; 787 rpc_uint8 total_parts; 788 rpc_uint32 reserved; 789 }; 790 791 enum rpc_loc_lock_e_type { 792 RPC_LOC_LOCK_NONE = 1, 793 RPC_LOC_LOCK_MI = 2, 794 RPC_LOC_LOCK_MT = 3, 795 RPC_LOC_LOCK_ALL = 4, 796 RPC_LOC_LOCK_MAX = 268435456 797 }; 798 799 typedef rpc_uint32 rpc_loc_nmea_sentence_type; 800 801 typedef rpc_uint32 rpc_loc_assist_data_type; 802 803 struct rpc_loc_assist_data_delete_s_type { 804 rpc_loc_assist_data_type type; 805 rpc_uint32 reserved[8]; /* EVAL:[8]*/ 806 }; 807 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; 846 default: 847 void; 848 }; 849 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; 872 default: 873 void; 874 }; 875 876 struct rpc_loc_ioctl_callback_s_type { 877 rpc_loc_ioctl_e_type type; 878 rpc_int32 status; 879 rpc_loc_ioctl_callback_data_u_type data; 880 }; 881 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; 903 default: 904 void; 905 }; 906 907