134ee09551764b045fdc02df754157473125edf60Kevin Tang/*
234ee09551764b045fdc02df754157473125edf60Kevin Tang * Please do not edit this file.
334ee09551764b045fdc02df754157473125edf60Kevin Tang * It was generated using rpcgen.
434ee09551764b045fdc02df754157473125edf60Kevin Tang */
534ee09551764b045fdc02df754157473125edf60Kevin Tang
634ee09551764b045fdc02df754157473125edf60Kevin Tang#ifndef _LOC_API_COMMON_H_RPCGEN
734ee09551764b045fdc02df754157473125edf60Kevin Tang#define _LOC_API_COMMON_H_RPCGEN
834ee09551764b045fdc02df754157473125edf60Kevin Tang
934ee09551764b045fdc02df754157473125edf60Kevin Tang#include <rpc/rpc.h>
1034ee09551764b045fdc02df754157473125edf60Kevin Tang#include "loc_api_fixup.h"
1134ee09551764b045fdc02df754157473125edf60Kevin Tang
1234ee09551764b045fdc02df754157473125edf60Kevin Tang#include <pthread.h>
1334ee09551764b045fdc02df754157473125edf60Kevin Tang
1434ee09551764b045fdc02df754157473125edf60Kevin Tang#ifdef __cplusplus
1534ee09551764b045fdc02df754157473125edf60Kevin Tangextern "C" {
1634ee09551764b045fdc02df754157473125edf60Kevin Tang#endif
1734ee09551764b045fdc02df754157473125edf60Kevin Tang
1834ee09551764b045fdc02df754157473125edf60Kevin Tang#define LOC_API_TOOLVERS 0x00040024
1934ee09551764b045fdc02df754157473125edf60Kevin Tang#define LOC_API_FEATURES 0x00000001
2034ee09551764b045fdc02df754157473125edf60Kevin Tang#define RPC_LOC_EVENT_NI_NOTIFY_VERIFY_REQUEST 0x00000010
2134ee09551764b045fdc02df754157473125edf60Kevin Tang#define RPC_LOC_EVENT_WPS_NEEDED_REQUEST 0x00000200
2234ee09551764b045fdc02df754157473125edf60Kevin Tang#define RPC_LOC_EVENT_IOCTL_REPORT 0x00000080
2334ee09551764b045fdc02df754157473125edf60Kevin Tang#define RPC_LOC_EVENT_LOCATION_SERVER_REQUEST 0x00000040
2434ee09551764b045fdc02df754157473125edf60Kevin Tang#define RPC_LOC_EVENT_RESERVED 0x8000000000000000
2534ee09551764b045fdc02df754157473125edf60Kevin Tang#define RPC_LOC_EVENT_PARSED_POSITION_REPORT 0x00000001
2634ee09551764b045fdc02df754157473125edf60Kevin Tang#define RPC_LOC_EVENT_ASSISTANCE_DATA_REQUEST 0x00000020
2734ee09551764b045fdc02df754157473125edf60Kevin Tang#define RPC_LOC_EVENT_NMEA_POSITION_REPORT 0x00000008
2834ee09551764b045fdc02df754157473125edf60Kevin Tang#define RPC_LOC_EVENT_SATELLITE_REPORT 0x00000002
2934ee09551764b045fdc02df754157473125edf60Kevin Tang#define RPC_LOC_EVENT_STATUS_REPORT 0x00000100
3034ee09551764b045fdc02df754157473125edf60Kevin Tang#define RPC_LOC_EVENT_CB_F_TYPE_VERSION 0x00040001
3134ee09551764b045fdc02df754157473125edf60Kevin Tang#define RPC_LOC_OPEN_VERSION 0x00040001
3234ee09551764b045fdc02df754157473125edf60Kevin Tang#define RPC_LOC_API_RPC_GLUE_CODE_INFO_REMOTE_VERSION 0x00040001
3334ee09551764b045fdc02df754157473125edf60Kevin Tang#define RPC_LOC_API_NULL_VERSION 0x00040001
3434ee09551764b045fdc02df754157473125edf60Kevin Tang#define RPC_LOC_STOP_FIX_VERSION 0x00040001
3534ee09551764b045fdc02df754157473125edf60Kevin Tang#define RPC_LOC_IOCTL_VERSION 0x00040001
3634ee09551764b045fdc02df754157473125edf60Kevin Tang#define RPC_LOC_START_FIX_VERSION 0x00040001
3734ee09551764b045fdc02df754157473125edf60Kevin Tang#define RPC_LOC_CLOSE_VERSION 0x00040001
3834ee09551764b045fdc02df754157473125edf60Kevin Tang#define RPC_LOC_API_API_VERSIONS_VERSION 0x00040001
3934ee09551764b045fdc02df754157473125edf60Kevin Tang#define RPC_LOC_API_API_MAJOR_NUM 0x0004
4034ee09551764b045fdc02df754157473125edf60Kevin Tang#define RPC_LOC_APIAPI_VERSION_IS_HASHKEY 0
4134ee09551764b045fdc02df754157473125edf60Kevin Tang
4234ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef bool_t rpc_boolean;
4334ee09551764b045fdc02df754157473125edf60Kevin Tang
4434ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef u_long rpc_uint32;
4534ee09551764b045fdc02df754157473125edf60Kevin Tang
4634ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef u_short rpc_uint16;
4734ee09551764b045fdc02df754157473125edf60Kevin Tang
4834ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef u_char rpc_uint8;
4934ee09551764b045fdc02df754157473125edf60Kevin Tang
5034ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef long rpc_int32;
5134ee09551764b045fdc02df754157473125edf60Kevin Tang
5234ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef u_char rpc_byte;
5334ee09551764b045fdc02df754157473125edf60Kevin Tang
5434ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef u_quad_t rpc_uint64;
5534ee09551764b045fdc02df754157473125edf60Kevin Tang
5634ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef rpc_int32 rpc_loc_client_handle_type;
5734ee09551764b045fdc02df754157473125edf60Kevin Tang
5834ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef rpc_uint64 rpc_loc_event_mask_type;
5934ee09551764b045fdc02df754157473125edf60Kevin Tang
6034ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef rpc_uint64 rpc_loc_position_valid_mask_type;
6134ee09551764b045fdc02df754157473125edf60Kevin Tang
6234ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef rpc_uint32 rpc_loc_pos_technology_mask_type;
6334ee09551764b045fdc02df754157473125edf60Kevin Tang
6434ee09551764b045fdc02df754157473125edf60Kevin Tangenum rpc_loc_session_status_e_type {
6534ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SESS_STATUS_SUCCESS = 0,
6634ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SESS_STATUS_IN_PROGESS = 1,
6734ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SESS_STATUS_GENERAL_FAILURE = 2,
6834ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SESS_STATUS_TIMEOUT = 3,
6934ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SESS_STATUS_USER_END = 4,
7034ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SESS_STATUS_BAD_PARAMETER = 5,
7134ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SESS_STATUS_PHONE_OFFLINE = 6,
7234ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SESS_STATUS_ENGINE_LOCKED = 7,
7334ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SESS_STATUS_MAX = 268435456,
7434ee09551764b045fdc02df754157473125edf60Kevin Tang};
7534ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef enum rpc_loc_session_status_e_type rpc_loc_session_status_e_type;
7634ee09551764b045fdc02df754157473125edf60Kevin Tang
7734ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_calendar_time_s_type {
7834ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint16 year;
7934ee09551764b045fdc02df754157473125edf60Kevin Tang	u_char month;
8034ee09551764b045fdc02df754157473125edf60Kevin Tang	u_char day_of_week;
8134ee09551764b045fdc02df754157473125edf60Kevin Tang	u_char day;
8234ee09551764b045fdc02df754157473125edf60Kevin Tang	u_char hour;
8334ee09551764b045fdc02df754157473125edf60Kevin Tang	u_char minute;
8434ee09551764b045fdc02df754157473125edf60Kevin Tang	u_char second;
8534ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint16 millisecond;
8634ee09551764b045fdc02df754157473125edf60Kevin Tang};
8734ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_calendar_time_s_type rpc_loc_calendar_time_s_type;
8834ee09551764b045fdc02df754157473125edf60Kevin Tang
8934ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_parsed_position_s_type {
9034ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_position_valid_mask_type valid_mask;
9134ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_session_status_e_type session_status;
9234ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_calendar_time_s_type timestamp_calendar;
9334ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint64 timestamp_utc;
9434ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint8 leap_seconds;
9534ee09551764b045fdc02df754157473125edf60Kevin Tang	float time_unc;
9634ee09551764b045fdc02df754157473125edf60Kevin Tang	double latitude;
9734ee09551764b045fdc02df754157473125edf60Kevin Tang	double longitude;
9834ee09551764b045fdc02df754157473125edf60Kevin Tang	float altitude_wrt_ellipsoid;
9934ee09551764b045fdc02df754157473125edf60Kevin Tang	float altitude_wrt_mean_sea_level;
10034ee09551764b045fdc02df754157473125edf60Kevin Tang	float speed_horizontal;
10134ee09551764b045fdc02df754157473125edf60Kevin Tang	float speed_vertical;
10234ee09551764b045fdc02df754157473125edf60Kevin Tang	float heading;
10334ee09551764b045fdc02df754157473125edf60Kevin Tang	float hor_unc_circular;
10434ee09551764b045fdc02df754157473125edf60Kevin Tang	float hor_unc_ellipse_semi_major;
10534ee09551764b045fdc02df754157473125edf60Kevin Tang	float hor_unc_ellipse_semi_minor;
10634ee09551764b045fdc02df754157473125edf60Kevin Tang	float hor_unc_ellipse_orient_azimuth;
10734ee09551764b045fdc02df754157473125edf60Kevin Tang	float vert_unc;
10834ee09551764b045fdc02df754157473125edf60Kevin Tang	float speed_unc;
10934ee09551764b045fdc02df754157473125edf60Kevin Tang	float heading_unc;
11034ee09551764b045fdc02df754157473125edf60Kevin Tang	u_char confidence_horizontal;
11134ee09551764b045fdc02df754157473125edf60Kevin Tang	u_char confidence_vertical;
11234ee09551764b045fdc02df754157473125edf60Kevin Tang	float magnetic_deviation;
11334ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_pos_technology_mask_type technology_mask;
11434ee09551764b045fdc02df754157473125edf60Kevin Tang};
11534ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_parsed_position_s_type rpc_loc_parsed_position_s_type;
11634ee09551764b045fdc02df754157473125edf60Kevin Tang
11734ee09551764b045fdc02df754157473125edf60Kevin Tangenum rpc_loc_sv_system_e_type {
11834ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SV_SYSTEM_GPS = 1,
11934ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SV_SYSTEM_GALILEO = 2,
12034ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SV_SYSTEM_SBAS = 3,
12134ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SV_SYSTEM_COMPASS = 4,
12234ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SV_SYSTEM_GLONASS = 5,
12334ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SV_SYSTEM_MAX = 268435456,
12434ee09551764b045fdc02df754157473125edf60Kevin Tang};
12534ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef enum rpc_loc_sv_system_e_type rpc_loc_sv_system_e_type;
12634ee09551764b045fdc02df754157473125edf60Kevin Tang
12734ee09551764b045fdc02df754157473125edf60Kevin Tangenum rpc_loc_sv_status_e_type {
12834ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SV_STATUS_IDLE = 1,
12934ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SV_STATUS_SEARCH = 2,
13034ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SV_STATUS_TRACK = 3,
13134ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SV_STATUS_MAX = 268435456,
13234ee09551764b045fdc02df754157473125edf60Kevin Tang};
13334ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef enum rpc_loc_sv_status_e_type rpc_loc_sv_status_e_type;
13434ee09551764b045fdc02df754157473125edf60Kevin Tang
13534ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef rpc_uint32 rpc_loc_sv_info_valid_mask_type;
13634ee09551764b045fdc02df754157473125edf60Kevin Tang
13734ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_sv_info_s_type {
13834ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_sv_info_valid_mask_type valid_mask;
13934ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_sv_system_e_type system;
14034ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint8 prn;
14134ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint8 health_status;
14234ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_sv_status_e_type process_status;
14334ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_boolean has_eph;
14434ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_boolean has_alm;
14534ee09551764b045fdc02df754157473125edf60Kevin Tang	float elevation;
14634ee09551764b045fdc02df754157473125edf60Kevin Tang	float azimuth;
14734ee09551764b045fdc02df754157473125edf60Kevin Tang	float snr;
14834ee09551764b045fdc02df754157473125edf60Kevin Tang};
14934ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_sv_info_s_type rpc_loc_sv_info_s_type;
15034ee09551764b045fdc02df754157473125edf60Kevin Tang
15134ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef rpc_uint32 rpc_loc_gnss_info_valid_mask_type;
15234ee09551764b045fdc02df754157473125edf60Kevin Tang
15334ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_gnss_info_s_type {
15434ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_gnss_info_valid_mask_type valid_mask;
15534ee09551764b045fdc02df754157473125edf60Kevin Tang	float position_dop;
15634ee09551764b045fdc02df754157473125edf60Kevin Tang	float horizontal_dop;
15734ee09551764b045fdc02df754157473125edf60Kevin Tang	float vertical_dop;
15834ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_boolean altitude_assumed;
15934ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint16 sv_count;
16034ee09551764b045fdc02df754157473125edf60Kevin Tang	struct {
16134ee09551764b045fdc02df754157473125edf60Kevin Tang		u_int sv_list_len;
16234ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_sv_info_s_type *sv_list_val;
16334ee09551764b045fdc02df754157473125edf60Kevin Tang	} sv_list;
16434ee09551764b045fdc02df754157473125edf60Kevin Tang};
16534ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_gnss_info_s_type rpc_loc_gnss_info_s_type;
16634ee09551764b045fdc02df754157473125edf60Kevin Tang
16734ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_nmea_report_s_type {
16834ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint16 length;
16934ee09551764b045fdc02df754157473125edf60Kevin Tang	char nmea_sentences[1200];
17034ee09551764b045fdc02df754157473125edf60Kevin Tang};
17134ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_nmea_report_s_type rpc_loc_nmea_report_s_type;
17234ee09551764b045fdc02df754157473125edf60Kevin Tang
17334ee09551764b045fdc02df754157473125edf60Kevin Tangenum rpc_loc_status_event_e_type {
17434ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_STATUS_EVENT_ENGINE_STATE = 1,
17534ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_STATUS_EVENT_FIX_SESSION_STATE = 2,
17634ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_STATUS_EVENT_MAX = 268435456,
17734ee09551764b045fdc02df754157473125edf60Kevin Tang};
17834ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef enum rpc_loc_status_event_e_type rpc_loc_status_event_e_type;
17934ee09551764b045fdc02df754157473125edf60Kevin Tang
18034ee09551764b045fdc02df754157473125edf60Kevin Tangenum rpc_loc_engine_state_e_type {
18134ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_ENGINE_STATE_ON = 1,
18234ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_ENGINE_STATE_OFF = 2,
18334ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_ENGINE_STATE_MAX = 268435456,
18434ee09551764b045fdc02df754157473125edf60Kevin Tang};
18534ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef enum rpc_loc_engine_state_e_type rpc_loc_engine_state_e_type;
18634ee09551764b045fdc02df754157473125edf60Kevin Tang
18734ee09551764b045fdc02df754157473125edf60Kevin Tangenum rpc_loc_fix_session_state_e_type {
18834ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_FIX_SESSION_STATE_BEGIN = 1,
18934ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_FIX_SESSION_STATE_END = 2,
19034ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_FIX_SESSION_STATE_MAX = 268435456,
19134ee09551764b045fdc02df754157473125edf60Kevin Tang};
19234ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef enum rpc_loc_fix_session_state_e_type rpc_loc_fix_session_state_e_type;
19334ee09551764b045fdc02df754157473125edf60Kevin Tang
19434ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_status_event_payload_u_type {
19534ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_status_event_e_type disc;
19634ee09551764b045fdc02df754157473125edf60Kevin Tang	union {
19734ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_engine_state_e_type engine_state;
19834ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_fix_session_state_e_type fix_session_state;
19934ee09551764b045fdc02df754157473125edf60Kevin Tang	} rpc_loc_status_event_payload_u_type_u;
20034ee09551764b045fdc02df754157473125edf60Kevin Tang};
20134ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_status_event_payload_u_type rpc_loc_status_event_payload_u_type;
20234ee09551764b045fdc02df754157473125edf60Kevin Tang
20334ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_status_event_s_type {
20434ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_status_event_e_type event;
20534ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_status_event_payload_u_type payload;
20634ee09551764b045fdc02df754157473125edf60Kevin Tang};
20734ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_status_event_s_type rpc_loc_status_event_s_type;
20834ee09551764b045fdc02df754157473125edf60Kevin Tang
20934ee09551764b045fdc02df754157473125edf60Kevin Tangenum rpc_loc_server_addr_e_type {
21034ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SERVER_ADDR_IPV4 = 1,
21134ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SERVER_ADDR_URL = 2,
21234ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SERVER_ADDR_MAX = 268435456,
21334ee09551764b045fdc02df754157473125edf60Kevin Tang};
21434ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef enum rpc_loc_server_addr_e_type rpc_loc_server_addr_e_type;
21534ee09551764b045fdc02df754157473125edf60Kevin Tang
21634ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_server_addr_ipv4_type {
21734ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint32 addr;
21834ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint16 port;
21934ee09551764b045fdc02df754157473125edf60Kevin Tang};
22034ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_server_addr_ipv4_type rpc_loc_server_addr_ipv4_type;
22134ee09551764b045fdc02df754157473125edf60Kevin Tang
22234ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_server_addr_url_type {
22334ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint16 length;
22434ee09551764b045fdc02df754157473125edf60Kevin Tang	char addr[256];
22534ee09551764b045fdc02df754157473125edf60Kevin Tang};
22634ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_server_addr_url_type rpc_loc_server_addr_url_type;
22734ee09551764b045fdc02df754157473125edf60Kevin Tang
22834ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_server_addr_u_type {
22934ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_server_addr_e_type disc;
23034ee09551764b045fdc02df754157473125edf60Kevin Tang	union {
23134ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_server_addr_ipv4_type ipv4;
23234ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_server_addr_url_type url;
23334ee09551764b045fdc02df754157473125edf60Kevin Tang	} rpc_loc_server_addr_u_type_u;
23434ee09551764b045fdc02df754157473125edf60Kevin Tang};
23534ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_server_addr_u_type rpc_loc_server_addr_u_type;
23634ee09551764b045fdc02df754157473125edf60Kevin Tang
23734ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_server_info_s_type {
23834ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_server_addr_e_type addr_type;
23934ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_server_addr_u_type addr_info;
24034ee09551764b045fdc02df754157473125edf60Kevin Tang};
24134ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_server_info_s_type rpc_loc_server_info_s_type;
24234ee09551764b045fdc02df754157473125edf60Kevin Tang
24334ee09551764b045fdc02df754157473125edf60Kevin Tangenum rpc_loc_ni_notify_verify_e_type {
24434ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_USER_NO_NOTIFY_NO_VERIFY = 1,
24534ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_USER_NOTIFY_ONLY = 2,
24634ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_USER_NOTIFY_VERIFY_ALLOW_NO_RESP = 3,
24734ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_USER_NOTIFY_VERIFY_NOT_ALLOW_NO_RESP = 4,
24834ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_USER_PRIVACY_OVERRIDE = 5,
24934ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_USER_NOTIFY_VERITY_TYPE_MAX = 268435456,
25034ee09551764b045fdc02df754157473125edf60Kevin Tang};
25134ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef enum rpc_loc_ni_notify_verify_e_type rpc_loc_ni_notify_verify_e_type;
25234ee09551764b045fdc02df754157473125edf60Kevin Tang
25334ee09551764b045fdc02df754157473125edf60Kevin Tangenum rpc_loc_ni_event_e_type {
25434ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_EVENT_VX_NOTIFY_VERIFY_REQ = 1,
25534ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_EVENT_SUPL_NOTIFY_VERIFY_REQ = 2,
25634ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_EVENT_UMTS_CP_NOTIFY_VERIFY_REQ = 3,
25734ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_EVENT_VX_SERVICE_INTERACTION_REQ = 4,
25834ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_EVENT_MAX = 268435456,
25934ee09551764b045fdc02df754157473125edf60Kevin Tang};
26034ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef enum rpc_loc_ni_event_e_type rpc_loc_ni_event_e_type;
26134ee09551764b045fdc02df754157473125edf60Kevin Tang
26234ee09551764b045fdc02df754157473125edf60Kevin Tangenum rpc_loc_ni_datacoding_scheme_e_type {
26334ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_PRESUPL_ISO646IRV = 0,
26434ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_PRESUPL_ISO8859 = 1,
26534ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_PRESUPL_UTF8 = 2,
26634ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_PRESUPL_UTF16 = 3,
26734ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_PRESUPL_UCS2 = 4,
26834ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_PRESUPL_GSM_DEFAULT = 5,
26934ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_PRESUPL_SHIFT_JIS = 6,
27034ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_PRESUPL_JIS = 7,
27134ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_PRESUPL_EUC = 8,
27234ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_PRESUPL_GB2312 = 9,
27334ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_PRESUPL_CNS11643 = 10,
27434ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_PRESUPL_KSC1001 = 11,
27534ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_PRESUPL_ENCODING_UNKNOWN = 2147483647,
27634ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_SS_GERMAN = 12,
27734ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_SS_ENGLISH = 13,
27834ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_SS_ITALIAN = 14,
27934ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_SS_FRENCH = 15,
28034ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_SS_SPANISH = 16,
28134ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_SS_DUTCH = 17,
28234ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_SS_SWEDISH = 18,
28334ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_SS_DANISH = 19,
28434ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_SS_PORTUGUESE = 20,
28534ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_SS_FINNISH = 21,
28634ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_SS_NORWEGIAN = 22,
28734ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_SS_GREEK = 23,
28834ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_SS_TURKISH = 24,
28934ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_SS_HUNGARIAN = 25,
29034ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_SS_POLISH = 26,
29134ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_SS_LANGUAGE_UNSPEC = 27,
29234ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_SUPL_UTF8 = 28,
29334ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_SUPL_UCS2 = 29,
29434ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_SUPL_GSM_DEFAULT = 30,
29534ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_SUPL_ENCODING_UNKNOWN = 2147483647,
29634ee09551764b045fdc02df754157473125edf60Kevin Tang};
29734ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef enum rpc_loc_ni_datacoding_scheme_e_type rpc_loc_ni_datacoding_scheme_e_type;
29834ee09551764b045fdc02df754157473125edf60Kevin Tang
29934ee09551764b045fdc02df754157473125edf60Kevin Tangenum rpc_loc_ni_vx_requester_id_encoding_scheme_e_type {
30034ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_VX_OCTET = 0,
30134ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_VX_EXN_PROTOCOL_MSG = 1,
30234ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_VX_ASCII = 2,
30334ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_VX_IA5 = 3,
30434ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_VX_UNICODE = 4,
30534ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_VX_SHIFT_JIS = 5,
30634ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_VX_KOREAN = 6,
30734ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_VX_LATIN_HEBREW = 7,
30834ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_VX_LATIN = 8,
30934ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_VX_GSM = 9,
31034ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_VX_ENCODING_TYPE_MAX = 268435456,
31134ee09551764b045fdc02df754157473125edf60Kevin Tang};
31234ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef enum rpc_loc_ni_vx_requester_id_encoding_scheme_e_type rpc_loc_ni_vx_requester_id_encoding_scheme_e_type;
31334ee09551764b045fdc02df754157473125edf60Kevin Tang
31434ee09551764b045fdc02df754157473125edf60Kevin Tangenum rpc_loc_ni_vx_pos_mode_e_type {
31534ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_VX_MS_ASSISTED_ONLY = 1,
31634ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_VX_MS_BASED_ONLY = 2,
31734ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_VX_MS_ASSISTED_PREF_MSBASED_ALLWD = 3,
31834ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_VX_MS_BASED_PREF_ASSISTED_ALLWD = 4,
31934ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_VX_POS_MODE_MAX = 268435456,
32034ee09551764b045fdc02df754157473125edf60Kevin Tang};
32134ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef enum rpc_loc_ni_vx_pos_mode_e_type rpc_loc_ni_vx_pos_mode_e_type;
32234ee09551764b045fdc02df754157473125edf60Kevin Tang
32334ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_ni_vx_requester_id_s_type {
32434ee09551764b045fdc02df754157473125edf60Kevin Tang	u_char requester_id_length;
32534ee09551764b045fdc02df754157473125edf60Kevin Tang	char requester_id[200];
32634ee09551764b045fdc02df754157473125edf60Kevin Tang};
32734ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_ni_vx_requester_id_s_type rpc_loc_ni_vx_requester_id_s_type;
32834ee09551764b045fdc02df754157473125edf60Kevin Tang
32934ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_ni_vx_notify_verify_req_s_type {
33034ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_ni_notify_verify_e_type notification_priv_type;
33134ee09551764b045fdc02df754157473125edf60Kevin Tang	u_char pos_qos_incl;
33234ee09551764b045fdc02df754157473125edf60Kevin Tang	u_char pos_qos;
33334ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint32 num_fixes;
33434ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint32 tbf;
33534ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_ni_vx_pos_mode_e_type pos_mode;
33634ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_ni_vx_requester_id_encoding_scheme_e_type encoding_scheme;
33734ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_ni_vx_requester_id_s_type requester_id;
33834ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint16 user_resp_timer_val;
33934ee09551764b045fdc02df754157473125edf60Kevin Tang};
34034ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_ni_vx_notify_verify_req_s_type rpc_loc_ni_vx_notify_verify_req_s_type;
34134ee09551764b045fdc02df754157473125edf60Kevin Tang
34234ee09551764b045fdc02df754157473125edf60Kevin Tangenum rpc_loc_ni_supl_pos_method_e_type {
34334ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_POSMETHOD_AGPS_SETASSISTED = 1,
34434ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_POSMETHOD_AGPS_SETBASED = 2,
34534ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_POSMETHOD_AGPS_SETASSISTED_PREF = 3,
34634ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_POSMETHOD_AGPS_SETBASED_PREF = 4,
34734ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_POSMETHOD_AUTONOMOUS_GPS = 5,
34834ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_POSMETHOD_AFLT = 6,
34934ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_POSMETHOD_ECID = 7,
35034ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_POSMETHOD_EOTD = 8,
35134ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_POSMETHOD_OTDOA = 9,
35234ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_POSMETHOD_NO_POSITION = 10,
35334ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_POSMETHOD_MAX = 268435456,
35434ee09551764b045fdc02df754157473125edf60Kevin Tang};
35534ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef enum rpc_loc_ni_supl_pos_method_e_type rpc_loc_ni_supl_pos_method_e_type;
35634ee09551764b045fdc02df754157473125edf60Kevin Tang
35734ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_ni_supl_slp_session_id_s_type {
35834ee09551764b045fdc02df754157473125edf60Kevin Tang	u_char presence;
35934ee09551764b045fdc02df754157473125edf60Kevin Tang	char session_id[4];
36034ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_server_info_s_type slp_address;
36134ee09551764b045fdc02df754157473125edf60Kevin Tang};
36234ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_ni_supl_slp_session_id_s_type rpc_loc_ni_supl_slp_session_id_s_type;
36334ee09551764b045fdc02df754157473125edf60Kevin Tang
36434ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_ni_requestor_id_s_type {
36534ee09551764b045fdc02df754157473125edf60Kevin Tang	u_char data_coding_scheme;
36634ee09551764b045fdc02df754157473125edf60Kevin Tang	char requestor_id_string[200];
36734ee09551764b045fdc02df754157473125edf60Kevin Tang	u_char string_len;
36834ee09551764b045fdc02df754157473125edf60Kevin Tang};
36934ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_ni_requestor_id_s_type rpc_loc_ni_requestor_id_s_type;
37034ee09551764b045fdc02df754157473125edf60Kevin Tang
37134ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_ni_supl_client_name_s_type {
37234ee09551764b045fdc02df754157473125edf60Kevin Tang	u_char data_coding_scheme;
37334ee09551764b045fdc02df754157473125edf60Kevin Tang	char client_name_string[64];
37434ee09551764b045fdc02df754157473125edf60Kevin Tang	u_char string_len;
37534ee09551764b045fdc02df754157473125edf60Kevin Tang};
37634ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_ni_supl_client_name_s_type rpc_loc_ni_supl_client_name_s_type;
37734ee09551764b045fdc02df754157473125edf60Kevin Tang
37834ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_ni_supl_qop_s_type {
37934ee09551764b045fdc02df754157473125edf60Kevin Tang	u_char bit_mask;
38034ee09551764b045fdc02df754157473125edf60Kevin Tang	u_char horacc;
38134ee09551764b045fdc02df754157473125edf60Kevin Tang	u_char veracc;
38234ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint16 maxLocAge;
38334ee09551764b045fdc02df754157473125edf60Kevin Tang	u_char delay;
38434ee09551764b045fdc02df754157473125edf60Kevin Tang};
38534ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_ni_supl_qop_s_type rpc_loc_ni_supl_qop_s_type;
38634ee09551764b045fdc02df754157473125edf60Kevin Tang
38734ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_ni_supl_notify_verify_req_s_type {
38834ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_ni_notify_verify_e_type notification_priv_type;
38934ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint16 flags;
39034ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_ni_supl_slp_session_id_s_type supl_slp_session_id;
39134ee09551764b045fdc02df754157473125edf60Kevin Tang	char supl_hash[8];
39234ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_ni_datacoding_scheme_e_type datacoding_scheme;
39334ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_ni_supl_pos_method_e_type pos_method;
39434ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_ni_requestor_id_s_type requestor_id;
39534ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_ni_supl_client_name_s_type client_name;
39634ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_ni_supl_qop_s_type supl_qop;
39734ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint16 user_response_timer;
39834ee09551764b045fdc02df754157473125edf60Kevin Tang};
39934ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_ni_supl_notify_verify_req_s_type rpc_loc_ni_supl_notify_verify_req_s_type;
40034ee09551764b045fdc02df754157473125edf60Kevin Tang
40134ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_ni_ext_client_address_s_type {
40234ee09551764b045fdc02df754157473125edf60Kevin Tang	u_char ext_client_address_len;
40334ee09551764b045fdc02df754157473125edf60Kevin Tang	char ext_client_address[20];
40434ee09551764b045fdc02df754157473125edf60Kevin Tang};
40534ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_ni_ext_client_address_s_type rpc_loc_ni_ext_client_address_s_type;
40634ee09551764b045fdc02df754157473125edf60Kevin Tang
40734ee09551764b045fdc02df754157473125edf60Kevin Tangenum rpc_loc_ni_location_type_e_type {
40834ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_LOCATIONTYPE_CURRENT_LOCATION = 1,
40934ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_LOCATIONTYPE_CURRENT_OR_LAST_KNOWN_LOCATION = 2,
41034ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_LOCATIONTYPE_INITIAL_LOCATION = 3,
41134ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_LOCATIONTYPE_MAX = 268435456,
41234ee09551764b045fdc02df754157473125edf60Kevin Tang};
41334ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef enum rpc_loc_ni_location_type_e_type rpc_loc_ni_location_type_e_type;
41434ee09551764b045fdc02df754157473125edf60Kevin Tang
41534ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_ni_deferred_location_s_type {
41634ee09551764b045fdc02df754157473125edf60Kevin Tang	u_char unused_bits;
41734ee09551764b045fdc02df754157473125edf60Kevin Tang	u_char ms_available;
41834ee09551764b045fdc02df754157473125edf60Kevin Tang};
41934ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_ni_deferred_location_s_type rpc_loc_ni_deferred_location_s_type;
42034ee09551764b045fdc02df754157473125edf60Kevin Tang
42134ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_ni_codeword_string_s_type {
42234ee09551764b045fdc02df754157473125edf60Kevin Tang	u_char data_coding_scheme;
42334ee09551764b045fdc02df754157473125edf60Kevin Tang	char lcs_codeword_string[20];
42434ee09551764b045fdc02df754157473125edf60Kevin Tang	u_char string_len;
42534ee09551764b045fdc02df754157473125edf60Kevin Tang};
42634ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_ni_codeword_string_s_type rpc_loc_ni_codeword_string_s_type;
42734ee09551764b045fdc02df754157473125edf60Kevin Tang
42834ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_ni_service_type_id_s_type {
42934ee09551764b045fdc02df754157473125edf60Kevin Tang	u_char lcs_service_type_id;
43034ee09551764b045fdc02df754157473125edf60Kevin Tang};
43134ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_ni_service_type_id_s_type rpc_loc_ni_service_type_id_s_type;
43234ee09551764b045fdc02df754157473125edf60Kevin Tang
43334ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_ni_umts_cp_notify_verify_req_s_type {
43434ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_ni_notify_verify_e_type notification_priv_type;
43534ee09551764b045fdc02df754157473125edf60Kevin Tang	u_char invoke_id;
43634ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint16 flags;
43734ee09551764b045fdc02df754157473125edf60Kevin Tang	u_char notification_length;
43834ee09551764b045fdc02df754157473125edf60Kevin Tang	char notification_text[64];
43934ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_ni_datacoding_scheme_e_type datacoding_scheme;
44034ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_ni_ext_client_address_s_type ext_client_address_data;
44134ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_ni_location_type_e_type location_type;
44234ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_ni_deferred_location_s_type deferred_location;
44334ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_ni_requestor_id_s_type requestor_id;
44434ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_ni_codeword_string_s_type codeword_string;
44534ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_ni_service_type_id_s_type service_type_id;
44634ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint16 user_response_timer;
44734ee09551764b045fdc02df754157473125edf60Kevin Tang};
44834ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_ni_umts_cp_notify_verify_req_s_type rpc_loc_ni_umts_cp_notify_verify_req_s_type;
44934ee09551764b045fdc02df754157473125edf60Kevin Tang
45034ee09551764b045fdc02df754157473125edf60Kevin Tangenum rpc_loc_ni_service_interaction_e_type {
45134ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_SERVICE_INTERACTION_ONGOING_NI_INCOMING_MO = 1,
45234ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_SERVICE_INTERACTION_MAX = 268435456,
45334ee09551764b045fdc02df754157473125edf60Kevin Tang};
45434ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef enum rpc_loc_ni_service_interaction_e_type rpc_loc_ni_service_interaction_e_type;
45534ee09551764b045fdc02df754157473125edf60Kevin Tang
45634ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_ni_vx_service_interaction_req_s_type {
45734ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_ni_vx_notify_verify_req_s_type ni_vx_req;
45834ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_ni_service_interaction_e_type service_interation_type;
45934ee09551764b045fdc02df754157473125edf60Kevin Tang};
46034ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_ni_vx_service_interaction_req_s_type rpc_loc_ni_vx_service_interaction_req_s_type;
46134ee09551764b045fdc02df754157473125edf60Kevin Tang
46234ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_ni_event_payload_u_type {
46334ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_ni_event_e_type disc;
46434ee09551764b045fdc02df754157473125edf60Kevin Tang	union {
46534ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_ni_vx_notify_verify_req_s_type vx_req;
46634ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_ni_supl_notify_verify_req_s_type supl_req;
46734ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_ni_umts_cp_notify_verify_req_s_type umts_cp_req;
46834ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_ni_vx_service_interaction_req_s_type service_interaction_req;
46934ee09551764b045fdc02df754157473125edf60Kevin Tang	} rpc_loc_ni_event_payload_u_type_u;
47034ee09551764b045fdc02df754157473125edf60Kevin Tang};
47134ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_ni_event_payload_u_type rpc_loc_ni_event_payload_u_type;
47234ee09551764b045fdc02df754157473125edf60Kevin Tang
47334ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_ni_event_s_type {
47434ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_ni_event_e_type event;
47534ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_ni_event_payload_u_type payload;
47634ee09551764b045fdc02df754157473125edf60Kevin Tang};
47734ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_ni_event_s_type rpc_loc_ni_event_s_type;
47834ee09551764b045fdc02df754157473125edf60Kevin Tang
47934ee09551764b045fdc02df754157473125edf60Kevin Tangenum rpc_loc_assist_data_request_e_type {
48034ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_ASSIST_DATA_TIME_REQ = 1,
48134ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_ASSIST_DATA_PREDICTED_ORBITS_REQ = 2,
48234ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_ASSIST_DATA_MAX = 268435456,
48334ee09551764b045fdc02df754157473125edf60Kevin Tang};
48434ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef enum rpc_loc_assist_data_request_e_type rpc_loc_assist_data_request_e_type;
48534ee09551764b045fdc02df754157473125edf60Kevin Tang
48634ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef char *rpc_struct_loc_time_download_source_s_type_servers_ptr;
48734ee09551764b045fdc02df754157473125edf60Kevin Tang
48834ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef rpc_struct_loc_time_download_source_s_type_servers_ptr rpc_struct_loc_time_download_source_s_type_servers[3];
48934ee09551764b045fdc02df754157473125edf60Kevin Tang
49034ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_time_download_source_s_type {
49134ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint32 delay_threshold;
49234ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_struct_loc_time_download_source_s_type_servers servers;
49334ee09551764b045fdc02df754157473125edf60Kevin Tang};
49434ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_time_download_source_s_type rpc_loc_time_download_source_s_type;
49534ee09551764b045fdc02df754157473125edf60Kevin Tang
49634ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef char *rpc_struct_loc_predicted_orbits_data_source_s_type_servers_ptr;
49734ee09551764b045fdc02df754157473125edf60Kevin Tang
49834ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef rpc_struct_loc_predicted_orbits_data_source_s_type_servers_ptr rpc_struct_loc_predicted_orbits_data_source_s_type_servers[3];
49934ee09551764b045fdc02df754157473125edf60Kevin Tang
50034ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_predicted_orbits_data_source_s_type {
50134ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint32 max_file_size;
50234ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint32 max_part_size;
50334ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_struct_loc_predicted_orbits_data_source_s_type_servers servers;
50434ee09551764b045fdc02df754157473125edf60Kevin Tang};
50534ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_predicted_orbits_data_source_s_type rpc_loc_predicted_orbits_data_source_s_type;
50634ee09551764b045fdc02df754157473125edf60Kevin Tang
50734ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_assist_data_request_payload_u_type {
50834ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_assist_data_request_e_type disc;
50934ee09551764b045fdc02df754157473125edf60Kevin Tang	union {
51034ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_time_download_source_s_type time_download;
51134ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_predicted_orbits_data_source_s_type data_download;
51234ee09551764b045fdc02df754157473125edf60Kevin Tang	} rpc_loc_assist_data_request_payload_u_type_u;
51334ee09551764b045fdc02df754157473125edf60Kevin Tang};
51434ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_assist_data_request_payload_u_type rpc_loc_assist_data_request_payload_u_type;
51534ee09551764b045fdc02df754157473125edf60Kevin Tang
51634ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_assist_data_request_s_type {
51734ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_assist_data_request_e_type event;
51834ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_assist_data_request_payload_u_type payload;
51934ee09551764b045fdc02df754157473125edf60Kevin Tang};
52034ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_assist_data_request_s_type rpc_loc_assist_data_request_s_type;
52134ee09551764b045fdc02df754157473125edf60Kevin Tang
52234ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef rpc_uint32 rpc_loc_server_connection_handle;
52334ee09551764b045fdc02df754157473125edf60Kevin Tang
52434ee09551764b045fdc02df754157473125edf60Kevin Tangenum rpc_loc_server_protocol_e_type {
52534ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SERVER_PROTOCOL_DEFAULT = 0,
52634ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SERVER_PROTOCOL_SUPL = 1,
52734ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SERVER_PROTOCOL_VX_MPC = 2,
52834ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SERVER_PROTOCOL_VX_PDE = 3,
52934ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SERVER_PROTOCOL_MAX = 16777216,
53034ee09551764b045fdc02df754157473125edf60Kevin Tang};
53134ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef enum rpc_loc_server_protocol_e_type rpc_loc_server_protocol_e_type;
53234ee09551764b045fdc02df754157473125edf60Kevin Tang
53334ee09551764b045fdc02df754157473125edf60Kevin Tangenum rpc_loc_server_request_e_type {
53434ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SERVER_REQUEST_OPEN = 1,
53534ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SERVER_REQUEST_CLOSE = 2,
53634ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SERVER_REQUEST_MAX = 268435456,
53734ee09551764b045fdc02df754157473125edf60Kevin Tang};
53834ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef enum rpc_loc_server_request_e_type rpc_loc_server_request_e_type;
53934ee09551764b045fdc02df754157473125edf60Kevin Tang
54034ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_server_open_req_s_type {
54134ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_server_connection_handle conn_handle;
54234ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_server_protocol_e_type protocol;
54334ee09551764b045fdc02df754157473125edf60Kevin Tang};
54434ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_server_open_req_s_type rpc_loc_server_open_req_s_type;
54534ee09551764b045fdc02df754157473125edf60Kevin Tang
54634ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_server_close_req_s_type {
54734ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_server_connection_handle conn_handle;
54834ee09551764b045fdc02df754157473125edf60Kevin Tang};
54934ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_server_close_req_s_type rpc_loc_server_close_req_s_type;
55034ee09551764b045fdc02df754157473125edf60Kevin Tang
55134ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_server_request_u_type {
55234ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_server_request_e_type disc;
55334ee09551764b045fdc02df754157473125edf60Kevin Tang	union {
55434ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_server_open_req_s_type open_req;
55534ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_server_close_req_s_type close_req;
55634ee09551764b045fdc02df754157473125edf60Kevin Tang	} rpc_loc_server_request_u_type_u;
55734ee09551764b045fdc02df754157473125edf60Kevin Tang};
55834ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_server_request_u_type rpc_loc_server_request_u_type;
55934ee09551764b045fdc02df754157473125edf60Kevin Tang
56034ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_server_request_s_type {
56134ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_server_request_e_type event;
56234ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_server_request_u_type payload;
56334ee09551764b045fdc02df754157473125edf60Kevin Tang};
56434ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_server_request_s_type rpc_loc_server_request_s_type;
56534ee09551764b045fdc02df754157473125edf60Kevin Tang
56634ee09551764b045fdc02df754157473125edf60Kevin Tangenum rpc_loc_qwip_request_e_type {
56734ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_QWIP_START_PERIODIC_HI_FREQ_FIXES = 0,
56834ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_QWIP_START_PERIODIC_KEEP_WARM = 0 + 1,
56934ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_QWIP_STOP_PERIODIC_FIXES = 0 + 2,
57034ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_QWIP_SUSPEND = 0 + 3,
57134ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_QWIP_REQUEST_MAX = 268435456,
57234ee09551764b045fdc02df754157473125edf60Kevin Tang};
57334ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef enum rpc_loc_qwip_request_e_type rpc_loc_qwip_request_e_type;
57434ee09551764b045fdc02df754157473125edf60Kevin Tang
57534ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_qwip_request_s_type {
57634ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_qwip_request_e_type request_type;
57734ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint16 tbf_ms;
57834ee09551764b045fdc02df754157473125edf60Kevin Tang};
57934ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_qwip_request_s_type rpc_loc_qwip_request_s_type;
58034ee09551764b045fdc02df754157473125edf60Kevin Tang
58134ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_reserved_payload_s_type {
58234ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint16 data_size;
58334ee09551764b045fdc02df754157473125edf60Kevin Tang	struct {
58434ee09551764b045fdc02df754157473125edf60Kevin Tang		u_int data_len;
58534ee09551764b045fdc02df754157473125edf60Kevin Tang		char *data_val;
58634ee09551764b045fdc02df754157473125edf60Kevin Tang	} data;
58734ee09551764b045fdc02df754157473125edf60Kevin Tang};
58834ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_reserved_payload_s_type rpc_loc_reserved_payload_s_type;
58934ee09551764b045fdc02df754157473125edf60Kevin Tang
59034ee09551764b045fdc02df754157473125edf60Kevin Tangenum rpc_loc_ioctl_e_type {
59134ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_GET_API_VERSION = 1,
59234ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_SET_FIX_CRITERIA = 2,
59334ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_GET_FIX_CRITERIA = 3,
59434ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_SERVICE_START_INDEX = 400,
59534ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_INFORM_NI_USER_RESPONSE = 400,
59634ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_INJECT_PREDICTED_ORBITS_DATA = 401,
59734ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_QUERY_PREDICTED_ORBITS_DATA_VALIDITY = 402,
59834ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_QUERY_PREDICTED_ORBITS_DATA_SOURCE = 403,
59934ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_SET_PREDICTED_ORBITS_DATA_AUTO_DOWNLOAD = 404,
60034ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_INJECT_UTC_TIME = 405,
60134ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_INJECT_RTC_VALUE = 406,
60234ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_INJECT_POSITION = 407,
60334ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_QUERY_ENGINE_STATE = 408,
60434ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_INFORM_SERVER_OPEN_STATUS = 409,
60534ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_INFORM_SERVER_CLOSE_STATUS = 410,
60634ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_SEND_WIPER_POSITION_REPORT = 411,
60734ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_NOTIFY_WIPER_STATUS = 412,
60834ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_ACCESS_EFS_DATA = 413,
60934ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_NV_SETTINGS_START_INDEX = 800,
61034ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_SET_ENGINE_LOCK = 800,
61134ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_GET_ENGINE_LOCK = 801,
61234ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_SET_SBAS_CONFIG = 802,
61334ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_GET_SBAS_CONFIG = 803,
61434ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_SET_NMEA_TYPES = 804,
61534ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_GET_NMEA_TYPES = 805,
61634ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_SET_CDMA_PDE_SERVER_ADDR = 806,
61734ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_GET_CDMA_PDE_SERVER_ADDR = 807,
61834ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_SET_CDMA_MPC_SERVER_ADDR = 808,
61934ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_GET_CDMA_MPC_SERVER_ADDR = 809,
62034ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_SET_UMTS_SLP_SERVER_ADDR = 810,
62134ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_GET_UMTS_SLP_SERVER_ADDR = 811,
62234ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_SET_ON_DEMAND_LPM = 812,
62334ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_GET_ON_DEMAND_LPM = 813,
62434ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_PROPRIETARY_START_INDEX = 1000,
62534ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_DELETE_ASSIST_DATA = 1000,
62634ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_SET_CUSTOM_PDE_SERVER_ADDR = 1001,
62734ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_GET_CUSTOM_PDE_SERVER_ADDR = 1002,
62834ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_IOCTL_THIRD_PARTY_START_INDEX = 1073741824,
62934ee09551764b045fdc02df754157473125edf60Kevin Tang};
63034ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef enum rpc_loc_ioctl_e_type rpc_loc_ioctl_e_type;
63134ee09551764b045fdc02df754157473125edf60Kevin Tang
63234ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_api_version_s_type {
63334ee09551764b045fdc02df754157473125edf60Kevin Tang	u_char major;
63434ee09551764b045fdc02df754157473125edf60Kevin Tang	u_char minor;
63534ee09551764b045fdc02df754157473125edf60Kevin Tang};
63634ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_api_version_s_type rpc_loc_api_version_s_type;
63734ee09551764b045fdc02df754157473125edf60Kevin Tang
63834ee09551764b045fdc02df754157473125edf60Kevin Tangenum rpc_loc_fix_recurrence_e_type {
63934ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_PERIODIC_FIX = 1,
64034ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SINGLE_FIX = 2,
64134ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_FIX_SESSION_TYPE_MAX = 268435456,
64234ee09551764b045fdc02df754157473125edf60Kevin Tang};
64334ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef enum rpc_loc_fix_recurrence_e_type rpc_loc_fix_recurrence_e_type;
64434ee09551764b045fdc02df754157473125edf60Kevin Tang
64534ee09551764b045fdc02df754157473125edf60Kevin Tangenum rpc_loc_operation_mode_e_type {
64634ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_OPER_MODE_DEFAULT = 1,
64734ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_OPER_MODE_MSB = 2,
64834ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_OPER_MODE_MSA = 3,
64934ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_OPER_MODE_STANDALONE = 4,
65034ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_OPER_MODE_SPEED_OPTIMAL = 5,
65134ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_OPER_MODE_ACCURACY_OPTIMAL = 6,
65234ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_OPER_MODE_DATA_OPTIMAL = 7,
65334ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_OPER_MODE_CELL_ID = 8,
65434ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_OPER_MODE_MAX = 268435456,
65534ee09551764b045fdc02df754157473125edf60Kevin Tang};
65634ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef enum rpc_loc_operation_mode_e_type rpc_loc_operation_mode_e_type;
65734ee09551764b045fdc02df754157473125edf60Kevin Tang
65834ee09551764b045fdc02df754157473125edf60Kevin Tangenum rpc_loc_notify_e_type {
65934ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NOTIFY_ON_INTERVAL = 1,
66034ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NOTIFY_ON_DISTANCE = 2,
66134ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NOTIFY_ON_ANY = 3,
66234ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NOTIFY_ON_ALL = 4,
66334ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NOTIFY_TYPE_MAX = 268435456,
66434ee09551764b045fdc02df754157473125edf60Kevin Tang};
66534ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef enum rpc_loc_notify_e_type rpc_loc_notify_e_type;
66634ee09551764b045fdc02df754157473125edf60Kevin Tang
66734ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_fix_criteria_s_type {
66834ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint32 valid_mask;
66934ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_fix_recurrence_e_type recurrence_type;
67034ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_operation_mode_e_type preferred_operation_mode;
67134ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint32 preferred_accuracy;
67234ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint32 preferred_response_time;
67334ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_boolean intermediate_pos_report_enabled;
67434ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_notify_e_type notify_type;
67534ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint32 min_interval;
67634ee09551764b045fdc02df754157473125edf60Kevin Tang	float min_distance;
67734ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint32 min_dist_sample_interval;
67834ee09551764b045fdc02df754157473125edf60Kevin Tang};
67934ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_fix_criteria_s_type rpc_loc_fix_criteria_s_type;
68034ee09551764b045fdc02df754157473125edf60Kevin Tang
68134ee09551764b045fdc02df754157473125edf60Kevin Tangenum rpc_loc_ni_user_resp_e_type {
68234ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_LCS_NOTIFY_VERIFY_ACCEPT = 1,
68334ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_LCS_NOTIFY_VERIFY_DENY = 2,
68434ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_LCS_NOTIFY_VERIFY_NORESP = 3,
68534ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_NI_LCS_NOTIFY_VERIFY_MAX = 268435456,
68634ee09551764b045fdc02df754157473125edf60Kevin Tang};
68734ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef enum rpc_loc_ni_user_resp_e_type rpc_loc_ni_user_resp_e_type;
68834ee09551764b045fdc02df754157473125edf60Kevin Tang
68934ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_user_verify_s_type {
69034ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_ni_user_resp_e_type user_resp;
69134ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_ni_event_s_type ni_event_pass_back;
69234ee09551764b045fdc02df754157473125edf60Kevin Tang};
69334ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_user_verify_s_type rpc_loc_user_verify_s_type;
69434ee09551764b045fdc02df754157473125edf60Kevin Tang
69534ee09551764b045fdc02df754157473125edf60Kevin Tangenum rpc_loc_predicted_orbits_data_format_e_type {
69634ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_PREDICTED_ORBITS_XTRA = 0,
69734ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_PREDICTED_ORBITS_FORMAT_MAX = 268435456,
69834ee09551764b045fdc02df754157473125edf60Kevin Tang};
69934ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef enum rpc_loc_predicted_orbits_data_format_e_type rpc_loc_predicted_orbits_data_format_e_type;
70034ee09551764b045fdc02df754157473125edf60Kevin Tang
70134ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_predicted_orbits_data_s_type {
70234ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_predicted_orbits_data_format_e_type format_type;
70334ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint32 total_size;
70434ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint8 total_parts;
70534ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint8 part;
70634ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint16 part_len;
70734ee09551764b045fdc02df754157473125edf60Kevin Tang	struct {
70834ee09551764b045fdc02df754157473125edf60Kevin Tang		u_int data_ptr_len;
70934ee09551764b045fdc02df754157473125edf60Kevin Tang		char *data_ptr_val;
71034ee09551764b045fdc02df754157473125edf60Kevin Tang	} data_ptr;
71134ee09551764b045fdc02df754157473125edf60Kevin Tang};
71234ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_predicted_orbits_data_s_type rpc_loc_predicted_orbits_data_s_type;
71334ee09551764b045fdc02df754157473125edf60Kevin Tang
71434ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_predicted_orbits_data_validity_report_s_type {
71534ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint64 start_time_utc;
71634ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint16 valid_duration_hrs;
71734ee09551764b045fdc02df754157473125edf60Kevin Tang};
71834ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_predicted_orbits_data_validity_report_s_type rpc_loc_predicted_orbits_data_validity_report_s_type;
71934ee09551764b045fdc02df754157473125edf60Kevin Tang
72034ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_predicted_orbits_auto_download_config_s_type {
72134ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_boolean enable;
72234ee09551764b045fdc02df754157473125edf60Kevin Tang	u_char auto_check_every_hrs;
72334ee09551764b045fdc02df754157473125edf60Kevin Tang};
72434ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_predicted_orbits_auto_download_config_s_type rpc_loc_predicted_orbits_auto_download_config_s_type;
72534ee09551764b045fdc02df754157473125edf60Kevin Tang
72634ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_assist_data_time_s_type {
72734ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint64 time_utc;
72834ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint32 uncertainty;
72934ee09551764b045fdc02df754157473125edf60Kevin Tang};
73034ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_assist_data_time_s_type rpc_loc_assist_data_time_s_type;
73134ee09551764b045fdc02df754157473125edf60Kevin Tang
73234ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef rpc_uint64 rpc_loc_assist_pos_valid_mask_type;
73334ee09551764b045fdc02df754157473125edf60Kevin Tang
73434ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_assist_data_pos_s_type {
73534ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_assist_pos_valid_mask_type valid_mask;
73634ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint64 timestamp_utc;
73734ee09551764b045fdc02df754157473125edf60Kevin Tang	double latitude;
73834ee09551764b045fdc02df754157473125edf60Kevin Tang	double longitude;
73934ee09551764b045fdc02df754157473125edf60Kevin Tang	float altitude_wrt_ellipsoid;
74034ee09551764b045fdc02df754157473125edf60Kevin Tang	float altitude_wrt_mean_sea_level;
74134ee09551764b045fdc02df754157473125edf60Kevin Tang	float hor_unc_circular;
74234ee09551764b045fdc02df754157473125edf60Kevin Tang	float vert_unc;
74334ee09551764b045fdc02df754157473125edf60Kevin Tang	u_char confidence_horizontal;
74434ee09551764b045fdc02df754157473125edf60Kevin Tang	u_char confidence_vertical;
74534ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_int32 timestamp_age;
74634ee09551764b045fdc02df754157473125edf60Kevin Tang};
74734ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_assist_data_pos_s_type rpc_loc_assist_data_pos_s_type;
74834ee09551764b045fdc02df754157473125edf60Kevin Tang
74934ee09551764b045fdc02df754157473125edf60Kevin Tangenum rpc_loc_server_open_status_e_type {
75034ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SERVER_OPEN_SUCCESS = 1,
75134ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SERVER_OPEN_FAIL = 2,
75234ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SERVER_OPEN_STATUS_MAX = 268435456,
75334ee09551764b045fdc02df754157473125edf60Kevin Tang};
75434ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef enum rpc_loc_server_open_status_e_type rpc_loc_server_open_status_e_type;
75534ee09551764b045fdc02df754157473125edf60Kevin Tang
75634ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_server_open_status_s_type {
75734ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_server_connection_handle conn_handle;
75834ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_server_open_status_e_type open_status;
75934ee09551764b045fdc02df754157473125edf60Kevin Tang	char apn_name[100];
76034ee09551764b045fdc02df754157473125edf60Kevin Tang};
76134ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_server_open_status_s_type rpc_loc_server_open_status_s_type;
76234ee09551764b045fdc02df754157473125edf60Kevin Tang
76334ee09551764b045fdc02df754157473125edf60Kevin Tangenum rpc_loc_server_close_status_e_type {
76434ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SERVER_CLOSE_SUCCESS = 1,
76534ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SERVER_CLOSE_FAIL = 2,
76634ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_SERVER_CLOSE_STATUS_MAX = 268435456,
76734ee09551764b045fdc02df754157473125edf60Kevin Tang};
76834ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef enum rpc_loc_server_close_status_e_type rpc_loc_server_close_status_e_type;
76934ee09551764b045fdc02df754157473125edf60Kevin Tang
77034ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_server_close_status_s_type {
77134ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_server_connection_handle conn_handle;
77234ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_server_close_status_e_type close_status;
77334ee09551764b045fdc02df754157473125edf60Kevin Tang};
77434ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_server_close_status_s_type rpc_loc_server_close_status_s_type;
77534ee09551764b045fdc02df754157473125edf60Kevin Tang
77634ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_wiper_fix_time_s_type {
77734ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint32 slow_clock_count;
77834ee09551764b045fdc02df754157473125edf60Kevin Tang};
77934ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_wiper_fix_time_s_type rpc_loc_wiper_fix_time_s_type;
78034ee09551764b045fdc02df754157473125edf60Kevin Tang
78134ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_wiper_fix_pos_s_type {
78234ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_int32 lat;
78334ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_int32 lon;
78434ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint16 HEPE;
78534ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint8 num_of_aps_used;
78634ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint8 fix_error_code;
78734ee09551764b045fdc02df754157473125edf60Kevin Tang};
78834ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_wiper_fix_pos_s_type rpc_loc_wiper_fix_pos_s_type;
78934ee09551764b045fdc02df754157473125edf60Kevin Tang
79034ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_wiper_ap_info_s_type {
79134ee09551764b045fdc02df754157473125edf60Kevin Tang	char mac_addr[6];
79234ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_int32 rssi;
79334ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint16 channel;
79434ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint8 ap_qualifier;
79534ee09551764b045fdc02df754157473125edf60Kevin Tang};
79634ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_wiper_ap_info_s_type rpc_loc_wiper_ap_info_s_type;
79734ee09551764b045fdc02df754157473125edf60Kevin Tang
79834ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_wiper_ap_set_s_type {
79934ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint8 num_of_aps;
80034ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_wiper_ap_info_s_type ap_info[50];
80134ee09551764b045fdc02df754157473125edf60Kevin Tang};
80234ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_wiper_ap_set_s_type rpc_loc_wiper_ap_set_s_type;
80334ee09551764b045fdc02df754157473125edf60Kevin Tang
80434ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_wiper_position_report_s_type {
80534ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint8 wiper_valid_info_flag;
80634ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_wiper_fix_time_s_type wiper_fix_time;
80734ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_wiper_fix_pos_s_type wiper_fix_position;
80834ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_wiper_ap_set_s_type wiper_ap_set;
80934ee09551764b045fdc02df754157473125edf60Kevin Tang};
81034ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_wiper_position_report_s_type rpc_loc_wiper_position_report_s_type;
81134ee09551764b045fdc02df754157473125edf60Kevin Tang
81234ee09551764b045fdc02df754157473125edf60Kevin Tangenum rpc_loc_wiper_status_e_type {
81334ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_WIPER_STATUS_AVAILABLE = 1,
81434ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_WIPER_STATUS_UNAVAILABLE = 2,
81534ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_WIPER_STATUS_E_SIZE = 268435456,
81634ee09551764b045fdc02df754157473125edf60Kevin Tang};
81734ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef enum rpc_loc_wiper_status_e_type rpc_loc_wiper_status_e_type;
81834ee09551764b045fdc02df754157473125edf60Kevin Tang
81934ee09551764b045fdc02df754157473125edf60Kevin Tangenum rpc_loc_fs_operation_e_type {
82034ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_FS_CREATE_WRITE_FILE = 1,
82134ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_FS_APPEND_FILE = 2,
82234ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_FS_DELETE_FILE = 3,
82334ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_FS_READ_FILE = 4,
82434ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_FS_MAX = 268435456,
82534ee09551764b045fdc02df754157473125edf60Kevin Tang};
82634ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef enum rpc_loc_fs_operation_e_type rpc_loc_fs_operation_e_type;
82734ee09551764b045fdc02df754157473125edf60Kevin Tang
82834ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_efs_data_s_type {
82934ee09551764b045fdc02df754157473125edf60Kevin Tang	char filename[64];
83034ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_fs_operation_e_type operation;
83134ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint32 total_size;
83234ee09551764b045fdc02df754157473125edf60Kevin Tang	struct {
83334ee09551764b045fdc02df754157473125edf60Kevin Tang		u_int data_ptr_len;
83434ee09551764b045fdc02df754157473125edf60Kevin Tang		char *data_ptr_val;
83534ee09551764b045fdc02df754157473125edf60Kevin Tang	} data_ptr;
83634ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint32 part_len;
83734ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint8 part;
83834ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint8 total_parts;
83934ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint32 reserved;
84034ee09551764b045fdc02df754157473125edf60Kevin Tang};
84134ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_efs_data_s_type rpc_loc_efs_data_s_type;
84234ee09551764b045fdc02df754157473125edf60Kevin Tang
84334ee09551764b045fdc02df754157473125edf60Kevin Tangenum rpc_loc_lock_e_type {
84434ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_LOCK_NONE = 1,
84534ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_LOCK_MI = 2,
84634ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_LOCK_MT = 3,
84734ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_LOCK_ALL = 4,
84834ee09551764b045fdc02df754157473125edf60Kevin Tang	RPC_LOC_LOCK_MAX = 268435456,
84934ee09551764b045fdc02df754157473125edf60Kevin Tang};
85034ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef enum rpc_loc_lock_e_type rpc_loc_lock_e_type;
85134ee09551764b045fdc02df754157473125edf60Kevin Tang
85234ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef rpc_uint32 rpc_loc_nmea_sentence_type;
85334ee09551764b045fdc02df754157473125edf60Kevin Tang
85434ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef rpc_uint32 rpc_loc_assist_data_type;
85534ee09551764b045fdc02df754157473125edf60Kevin Tang
85634ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_assist_data_delete_s_type {
85734ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_assist_data_type type;
85834ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_uint32 reserved[8];
85934ee09551764b045fdc02df754157473125edf60Kevin Tang};
86034ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_assist_data_delete_s_type rpc_loc_assist_data_delete_s_type;
86134ee09551764b045fdc02df754157473125edf60Kevin Tang
86234ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_ioctl_data_u_type {
86334ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_ioctl_e_type disc;
86434ee09551764b045fdc02df754157473125edf60Kevin Tang	union {
86534ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_fix_criteria_s_type fix_criteria;
86634ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_user_verify_s_type user_verify_resp;
86734ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_predicted_orbits_data_s_type predicted_orbits_data;
86834ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_predicted_orbits_auto_download_config_s_type predicted_orbits_auto_download;
86934ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_assist_data_time_s_type assistance_data_time;
87034ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_assist_data_pos_s_type assistance_data_position;
87134ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_server_open_status_s_type conn_open_status;
87234ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_server_close_status_s_type conn_close_status;
87334ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_wiper_position_report_s_type wiper_pos;
87434ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_wiper_status_e_type wiper_status;
87534ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_lock_e_type engine_lock;
87634ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_boolean sbas_mode;
87734ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_nmea_sentence_type nmea_types;
87834ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_boolean on_demand_lpm;
87934ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_server_info_s_type server_addr;
88034ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_assist_data_delete_s_type assist_data_delete;
88134ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_efs_data_s_type efs_data;
88234ee09551764b045fdc02df754157473125edf60Kevin Tang	} rpc_loc_ioctl_data_u_type_u;
88334ee09551764b045fdc02df754157473125edf60Kevin Tang};
88434ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_ioctl_data_u_type rpc_loc_ioctl_data_u_type;
88534ee09551764b045fdc02df754157473125edf60Kevin Tang
88634ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_ioctl_callback_data_u_type {
88734ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_ioctl_e_type disc;
88834ee09551764b045fdc02df754157473125edf60Kevin Tang	union {
88934ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_api_version_s_type api_version;
89034ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_fix_criteria_s_type fix_criteria;
89134ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_lock_e_type engine_lock;
89234ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_boolean sbas_mode;
89334ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_nmea_sentence_type nmea_types;
89434ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_boolean on_demand_lpm;
89534ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_server_info_s_type server_addr;
89634ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_predicted_orbits_data_source_s_type predicted_orbits_data_source;
89734ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_predicted_orbits_data_validity_report_s_type predicted_orbits_data_validity;
89834ee09551764b045fdc02df754157473125edf60Kevin Tang	} rpc_loc_ioctl_callback_data_u_type_u;
89934ee09551764b045fdc02df754157473125edf60Kevin Tang};
90034ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_ioctl_callback_data_u_type rpc_loc_ioctl_callback_data_u_type;
90134ee09551764b045fdc02df754157473125edf60Kevin Tang
90234ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_ioctl_callback_s_type {
90334ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_ioctl_e_type type;
90434ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_int32 status;
90534ee09551764b045fdc02df754157473125edf60Kevin Tang	rpc_loc_ioctl_callback_data_u_type data;
90634ee09551764b045fdc02df754157473125edf60Kevin Tang};
90734ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_ioctl_callback_s_type rpc_loc_ioctl_callback_s_type;
90834ee09551764b045fdc02df754157473125edf60Kevin Tang
90934ee09551764b045fdc02df754157473125edf60Kevin Tangstruct rpc_loc_event_payload_u_type {
91034ee09551764b045fdc02df754157473125edf60Kevin Tang	u_quad_t disc;
91134ee09551764b045fdc02df754157473125edf60Kevin Tang	union {
91234ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_parsed_position_s_type parsed_location_report;
91334ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_gnss_info_s_type gnss_report;
91434ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_nmea_report_s_type nmea_report;
91534ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_ni_event_s_type ni_request;
91634ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_assist_data_request_s_type assist_data_request;
91734ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_server_request_s_type loc_server_request;
91834ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_ioctl_callback_s_type ioctl_report;
91934ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_status_event_s_type status_report;
92034ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_qwip_request_s_type qwip_request;
92134ee09551764b045fdc02df754157473125edf60Kevin Tang		rpc_loc_reserved_payload_s_type reserved;
92234ee09551764b045fdc02df754157473125edf60Kevin Tang	} rpc_loc_event_payload_u_type_u;
92334ee09551764b045fdc02df754157473125edf60Kevin Tang};
92434ee09551764b045fdc02df754157473125edf60Kevin Tangtypedef struct rpc_loc_event_payload_u_type rpc_loc_event_payload_u_type;
92534ee09551764b045fdc02df754157473125edf60Kevin Tang
92634ee09551764b045fdc02df754157473125edf60Kevin Tang/* the xdr functions */
92734ee09551764b045fdc02df754157473125edf60Kevin Tang
92834ee09551764b045fdc02df754157473125edf60Kevin Tang#if defined(__STDC__) || defined(__cplusplus)
92934ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_boolean (XDR *, rpc_boolean*);
93034ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_uint32 (XDR *, rpc_uint32*);
93134ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_uint16 (XDR *, rpc_uint16*);
93234ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_uint8 (XDR *, rpc_uint8*);
93334ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_int32 (XDR *, rpc_int32*);
93434ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_byte (XDR *, rpc_byte*);
93534ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_uint64 (XDR *, rpc_uint64*);
93634ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_client_handle_type (XDR *, rpc_loc_client_handle_type*);
93734ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_event_mask_type (XDR *, rpc_loc_event_mask_type*);
93834ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_position_valid_mask_type (XDR *, rpc_loc_position_valid_mask_type*);
93934ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_pos_technology_mask_type (XDR *, rpc_loc_pos_technology_mask_type*);
94034ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_session_status_e_type (XDR *, rpc_loc_session_status_e_type*);
94134ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_calendar_time_s_type (XDR *, rpc_loc_calendar_time_s_type*);
94234ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_parsed_position_s_type (XDR *, rpc_loc_parsed_position_s_type*);
94334ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_sv_system_e_type (XDR *, rpc_loc_sv_system_e_type*);
94434ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_sv_status_e_type (XDR *, rpc_loc_sv_status_e_type*);
94534ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_sv_info_valid_mask_type (XDR *, rpc_loc_sv_info_valid_mask_type*);
94634ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_sv_info_s_type (XDR *, rpc_loc_sv_info_s_type*);
94734ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_gnss_info_valid_mask_type (XDR *, rpc_loc_gnss_info_valid_mask_type*);
94834ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_gnss_info_s_type (XDR *, rpc_loc_gnss_info_s_type*);
94934ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_nmea_report_s_type (XDR *, rpc_loc_nmea_report_s_type*);
95034ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_status_event_e_type (XDR *, rpc_loc_status_event_e_type*);
95134ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_engine_state_e_type (XDR *, rpc_loc_engine_state_e_type*);
95234ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_fix_session_state_e_type (XDR *, rpc_loc_fix_session_state_e_type*);
95334ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_status_event_payload_u_type (XDR *, rpc_loc_status_event_payload_u_type*);
95434ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_status_event_s_type (XDR *, rpc_loc_status_event_s_type*);
95534ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_server_addr_e_type (XDR *, rpc_loc_server_addr_e_type*);
95634ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_server_addr_ipv4_type (XDR *, rpc_loc_server_addr_ipv4_type*);
95734ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_server_addr_url_type (XDR *, rpc_loc_server_addr_url_type*);
95834ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_server_addr_u_type (XDR *, rpc_loc_server_addr_u_type*);
95934ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_server_info_s_type (XDR *, rpc_loc_server_info_s_type*);
96034ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_ni_notify_verify_e_type (XDR *, rpc_loc_ni_notify_verify_e_type*);
96134ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_ni_event_e_type (XDR *, rpc_loc_ni_event_e_type*);
96234ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_ni_datacoding_scheme_e_type (XDR *, rpc_loc_ni_datacoding_scheme_e_type*);
96334ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_ni_vx_requester_id_encoding_scheme_e_type (XDR *, rpc_loc_ni_vx_requester_id_encoding_scheme_e_type*);
96434ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_ni_vx_pos_mode_e_type (XDR *, rpc_loc_ni_vx_pos_mode_e_type*);
96534ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_ni_vx_requester_id_s_type (XDR *, rpc_loc_ni_vx_requester_id_s_type*);
96634ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_ni_vx_notify_verify_req_s_type (XDR *, rpc_loc_ni_vx_notify_verify_req_s_type*);
96734ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_ni_supl_pos_method_e_type (XDR *, rpc_loc_ni_supl_pos_method_e_type*);
96834ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_ni_supl_slp_session_id_s_type (XDR *, rpc_loc_ni_supl_slp_session_id_s_type*);
96934ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_ni_requestor_id_s_type (XDR *, rpc_loc_ni_requestor_id_s_type*);
97034ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_ni_supl_client_name_s_type (XDR *, rpc_loc_ni_supl_client_name_s_type*);
97134ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_ni_supl_qop_s_type (XDR *, rpc_loc_ni_supl_qop_s_type*);
97234ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_ni_supl_notify_verify_req_s_type (XDR *, rpc_loc_ni_supl_notify_verify_req_s_type*);
97334ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_ni_ext_client_address_s_type (XDR *, rpc_loc_ni_ext_client_address_s_type*);
97434ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_ni_location_type_e_type (XDR *, rpc_loc_ni_location_type_e_type*);
97534ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_ni_deferred_location_s_type (XDR *, rpc_loc_ni_deferred_location_s_type*);
97634ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_ni_codeword_string_s_type (XDR *, rpc_loc_ni_codeword_string_s_type*);
97734ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_ni_service_type_id_s_type (XDR *, rpc_loc_ni_service_type_id_s_type*);
97834ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_ni_umts_cp_notify_verify_req_s_type (XDR *, rpc_loc_ni_umts_cp_notify_verify_req_s_type*);
97934ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_ni_service_interaction_e_type (XDR *, rpc_loc_ni_service_interaction_e_type*);
98034ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_ni_vx_service_interaction_req_s_type (XDR *, rpc_loc_ni_vx_service_interaction_req_s_type*);
98134ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_ni_event_payload_u_type (XDR *, rpc_loc_ni_event_payload_u_type*);
98234ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_ni_event_s_type (XDR *, rpc_loc_ni_event_s_type*);
98334ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_assist_data_request_e_type (XDR *, rpc_loc_assist_data_request_e_type*);
98434ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_struct_loc_time_download_source_s_type_servers_ptr (XDR *, rpc_struct_loc_time_download_source_s_type_servers_ptr*);
98534ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_struct_loc_time_download_source_s_type_servers (XDR *, rpc_struct_loc_time_download_source_s_type_servers);
98634ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_time_download_source_s_type (XDR *, rpc_loc_time_download_source_s_type*);
98734ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_struct_loc_predicted_orbits_data_source_s_type_servers_ptr (XDR *, rpc_struct_loc_predicted_orbits_data_source_s_type_servers_ptr*);
98834ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_struct_loc_predicted_orbits_data_source_s_type_servers (XDR *, rpc_struct_loc_predicted_orbits_data_source_s_type_servers);
98934ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_predicted_orbits_data_source_s_type (XDR *, rpc_loc_predicted_orbits_data_source_s_type*);
99034ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_assist_data_request_payload_u_type (XDR *, rpc_loc_assist_data_request_payload_u_type*);
99134ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_assist_data_request_s_type (XDR *, rpc_loc_assist_data_request_s_type*);
99234ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_server_connection_handle (XDR *, rpc_loc_server_connection_handle*);
99334ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_server_protocol_e_type (XDR *, rpc_loc_server_protocol_e_type*);
99434ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_server_request_e_type (XDR *, rpc_loc_server_request_e_type*);
99534ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_server_open_req_s_type (XDR *, rpc_loc_server_open_req_s_type*);
99634ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_server_close_req_s_type (XDR *, rpc_loc_server_close_req_s_type*);
99734ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_server_request_u_type (XDR *, rpc_loc_server_request_u_type*);
99834ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_server_request_s_type (XDR *, rpc_loc_server_request_s_type*);
99934ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_qwip_request_e_type (XDR *, rpc_loc_qwip_request_e_type*);
100034ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_qwip_request_s_type (XDR *, rpc_loc_qwip_request_s_type*);
100134ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_reserved_payload_s_type (XDR *, rpc_loc_reserved_payload_s_type*);
100234ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_ioctl_e_type (XDR *, rpc_loc_ioctl_e_type*);
100334ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_api_version_s_type (XDR *, rpc_loc_api_version_s_type*);
100434ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_fix_recurrence_e_type (XDR *, rpc_loc_fix_recurrence_e_type*);
100534ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_operation_mode_e_type (XDR *, rpc_loc_operation_mode_e_type*);
100634ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_notify_e_type (XDR *, rpc_loc_notify_e_type*);
100734ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_fix_criteria_s_type (XDR *, rpc_loc_fix_criteria_s_type*);
100834ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_ni_user_resp_e_type (XDR *, rpc_loc_ni_user_resp_e_type*);
100934ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_user_verify_s_type (XDR *, rpc_loc_user_verify_s_type*);
101034ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_predicted_orbits_data_format_e_type (XDR *, rpc_loc_predicted_orbits_data_format_e_type*);
101134ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_predicted_orbits_data_s_type (XDR *, rpc_loc_predicted_orbits_data_s_type*);
101234ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_predicted_orbits_data_validity_report_s_type (XDR *, rpc_loc_predicted_orbits_data_validity_report_s_type*);
101334ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_predicted_orbits_auto_download_config_s_type (XDR *, rpc_loc_predicted_orbits_auto_download_config_s_type*);
101434ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_assist_data_time_s_type (XDR *, rpc_loc_assist_data_time_s_type*);
101534ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_assist_pos_valid_mask_type (XDR *, rpc_loc_assist_pos_valid_mask_type*);
101634ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_assist_data_pos_s_type (XDR *, rpc_loc_assist_data_pos_s_type*);
101734ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_server_open_status_e_type (XDR *, rpc_loc_server_open_status_e_type*);
101834ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_server_open_status_s_type (XDR *, rpc_loc_server_open_status_s_type*);
101934ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_server_close_status_e_type (XDR *, rpc_loc_server_close_status_e_type*);
102034ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_server_close_status_s_type (XDR *, rpc_loc_server_close_status_s_type*);
102134ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_wiper_fix_time_s_type (XDR *, rpc_loc_wiper_fix_time_s_type*);
102234ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_wiper_fix_pos_s_type (XDR *, rpc_loc_wiper_fix_pos_s_type*);
102334ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_wiper_ap_info_s_type (XDR *, rpc_loc_wiper_ap_info_s_type*);
102434ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_wiper_ap_set_s_type (XDR *, rpc_loc_wiper_ap_set_s_type*);
102534ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_wiper_position_report_s_type (XDR *, rpc_loc_wiper_position_report_s_type*);
102634ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_wiper_status_e_type (XDR *, rpc_loc_wiper_status_e_type*);
102734ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_fs_operation_e_type (XDR *, rpc_loc_fs_operation_e_type*);
102834ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_efs_data_s_type (XDR *, rpc_loc_efs_data_s_type*);
102934ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_lock_e_type (XDR *, rpc_loc_lock_e_type*);
103034ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_nmea_sentence_type (XDR *, rpc_loc_nmea_sentence_type*);
103134ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_assist_data_type (XDR *, rpc_loc_assist_data_type*);
103234ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_assist_data_delete_s_type (XDR *, rpc_loc_assist_data_delete_s_type*);
103334ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_ioctl_data_u_type (XDR *, rpc_loc_ioctl_data_u_type*);
103434ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_ioctl_callback_data_u_type (XDR *, rpc_loc_ioctl_callback_data_u_type*);
103534ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_ioctl_callback_s_type (XDR *, rpc_loc_ioctl_callback_s_type*);
103634ee09551764b045fdc02df754157473125edf60Kevin Tangextern  bool_t xdr_rpc_loc_event_payload_u_type (XDR *, rpc_loc_event_payload_u_type*);
103734ee09551764b045fdc02df754157473125edf60Kevin Tang
103834ee09551764b045fdc02df754157473125edf60Kevin Tang#else /* K&R C */
103934ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_boolean ();
104034ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_uint32 ();
104134ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_uint16 ();
104234ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_uint8 ();
104334ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_int32 ();
104434ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_byte ();
104534ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_uint64 ();
104634ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_client_handle_type ();
104734ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_event_mask_type ();
104834ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_position_valid_mask_type ();
104934ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_pos_technology_mask_type ();
105034ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_session_status_e_type ();
105134ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_calendar_time_s_type ();
105234ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_parsed_position_s_type ();
105334ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_sv_system_e_type ();
105434ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_sv_status_e_type ();
105534ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_sv_info_valid_mask_type ();
105634ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_sv_info_s_type ();
105734ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_gnss_info_valid_mask_type ();
105834ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_gnss_info_s_type ();
105934ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_nmea_report_s_type ();
106034ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_status_event_e_type ();
106134ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_engine_state_e_type ();
106234ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_fix_session_state_e_type ();
106334ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_status_event_payload_u_type ();
106434ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_status_event_s_type ();
106534ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_server_addr_e_type ();
106634ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_server_addr_ipv4_type ();
106734ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_server_addr_url_type ();
106834ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_server_addr_u_type ();
106934ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_server_info_s_type ();
107034ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_ni_notify_verify_e_type ();
107134ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_ni_event_e_type ();
107234ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_ni_datacoding_scheme_e_type ();
107334ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_ni_vx_requester_id_encoding_scheme_e_type ();
107434ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_ni_vx_pos_mode_e_type ();
107534ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_ni_vx_requester_id_s_type ();
107634ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_ni_vx_notify_verify_req_s_type ();
107734ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_ni_supl_pos_method_e_type ();
107834ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_ni_supl_slp_session_id_s_type ();
107934ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_ni_requestor_id_s_type ();
108034ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_ni_supl_client_name_s_type ();
108134ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_ni_supl_qop_s_type ();
108234ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_ni_supl_notify_verify_req_s_type ();
108334ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_ni_ext_client_address_s_type ();
108434ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_ni_location_type_e_type ();
108534ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_ni_deferred_location_s_type ();
108634ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_ni_codeword_string_s_type ();
108734ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_ni_service_type_id_s_type ();
108834ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_ni_umts_cp_notify_verify_req_s_type ();
108934ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_ni_service_interaction_e_type ();
109034ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_ni_vx_service_interaction_req_s_type ();
109134ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_ni_event_payload_u_type ();
109234ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_ni_event_s_type ();
109334ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_assist_data_request_e_type ();
109434ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_struct_loc_time_download_source_s_type_servers_ptr ();
109534ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_struct_loc_time_download_source_s_type_servers ();
109634ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_time_download_source_s_type ();
109734ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_struct_loc_predicted_orbits_data_source_s_type_servers_ptr ();
109834ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_struct_loc_predicted_orbits_data_source_s_type_servers ();
109934ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_predicted_orbits_data_source_s_type ();
110034ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_assist_data_request_payload_u_type ();
110134ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_assist_data_request_s_type ();
110234ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_server_connection_handle ();
110334ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_server_protocol_e_type ();
110434ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_server_request_e_type ();
110534ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_server_open_req_s_type ();
110634ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_server_close_req_s_type ();
110734ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_server_request_u_type ();
110834ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_server_request_s_type ();
110934ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_qwip_request_e_type ();
111034ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_qwip_request_s_type ();
111134ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_reserved_payload_s_type ();
111234ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_ioctl_e_type ();
111334ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_api_version_s_type ();
111434ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_fix_recurrence_e_type ();
111534ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_operation_mode_e_type ();
111634ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_notify_e_type ();
111734ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_fix_criteria_s_type ();
111834ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_ni_user_resp_e_type ();
111934ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_user_verify_s_type ();
112034ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_predicted_orbits_data_format_e_type ();
112134ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_predicted_orbits_data_s_type ();
112234ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_predicted_orbits_data_validity_report_s_type ();
112334ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_predicted_orbits_auto_download_config_s_type ();
112434ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_assist_data_time_s_type ();
112534ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_assist_pos_valid_mask_type ();
112634ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_assist_data_pos_s_type ();
112734ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_server_open_status_e_type ();
112834ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_server_open_status_s_type ();
112934ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_server_close_status_e_type ();
113034ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_server_close_status_s_type ();
113134ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_wiper_fix_time_s_type ();
113234ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_wiper_fix_pos_s_type ();
113334ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_wiper_ap_info_s_type ();
113434ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_wiper_ap_set_s_type ();
113534ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_wiper_position_report_s_type ();
113634ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_wiper_status_e_type ();
113734ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_fs_operation_e_type ();
113834ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_efs_data_s_type ();
113934ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_lock_e_type ();
114034ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_nmea_sentence_type ();
114134ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_assist_data_type ();
114234ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_assist_data_delete_s_type ();
114334ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_ioctl_data_u_type ();
114434ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_ioctl_callback_data_u_type ();
114534ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_ioctl_callback_s_type ();
114634ee09551764b045fdc02df754157473125edf60Kevin Tangextern bool_t xdr_rpc_loc_event_payload_u_type ();
114734ee09551764b045fdc02df754157473125edf60Kevin Tang
114834ee09551764b045fdc02df754157473125edf60Kevin Tang#endif /* K&R C */
114934ee09551764b045fdc02df754157473125edf60Kevin Tang
115034ee09551764b045fdc02df754157473125edf60Kevin Tang#ifdef __cplusplus
115134ee09551764b045fdc02df754157473125edf60Kevin Tang}
115234ee09551764b045fdc02df754157473125edf60Kevin Tang#endif
115334ee09551764b045fdc02df754157473125edf60Kevin Tang
115434ee09551764b045fdc02df754157473125edf60Kevin Tang#endif /* !_LOC_API_COMMON_H_RPCGEN */
1155