1/*
2 * Please do not edit this file.
3 * It was generated using rpcgen.
4 */
5
6#include "loc_api_common.h"
7
8bool_t
9xdr_rpc_boolean (XDR *xdrs, rpc_boolean *objp)
10{
11	register int32_t *buf;
12
13	 if (!xdr_bool (xdrs, objp))
14		 return FALSE;
15	return TRUE;
16}
17
18bool_t
19xdr_rpc_uint32 (XDR *xdrs, rpc_uint32 *objp)
20{
21	register int32_t *buf;
22
23	 if (!xdr_u_long (xdrs, objp))
24		 return FALSE;
25	return TRUE;
26}
27
28bool_t
29xdr_rpc_uint16 (XDR *xdrs, rpc_uint16 *objp)
30{
31	register int32_t *buf;
32
33	 if (!xdr_u_short (xdrs, objp))
34		 return FALSE;
35	return TRUE;
36}
37
38bool_t
39xdr_rpc_uint8 (XDR *xdrs, rpc_uint8 *objp)
40{
41	register int32_t *buf;
42
43	 if (!xdr_u_char (xdrs, objp))
44		 return FALSE;
45	return TRUE;
46}
47
48bool_t
49xdr_rpc_int32 (XDR *xdrs, rpc_int32 *objp)
50{
51	register int32_t *buf;
52
53	 if (!xdr_long (xdrs, objp))
54		 return FALSE;
55	return TRUE;
56}
57
58bool_t
59xdr_rpc_byte (XDR *xdrs, rpc_byte *objp)
60{
61	register int32_t *buf;
62
63	 if (!xdr_u_char (xdrs, objp))
64		 return FALSE;
65	return TRUE;
66}
67
68bool_t
69xdr_rpc_uint64 (XDR *xdrs, rpc_uint64 *objp)
70{
71	register int32_t *buf;
72
73	 if (!xdr_u_quad_t (xdrs, objp))
74		 return FALSE;
75	return TRUE;
76}
77
78bool_t
79xdr_rpc_loc_client_handle_type (XDR *xdrs, rpc_loc_client_handle_type *objp)
80{
81	register int32_t *buf;
82
83	 if (!xdr_rpc_int32 (xdrs, objp))
84		 return FALSE;
85	return TRUE;
86}
87
88bool_t
89xdr_rpc_loc_event_mask_type (XDR *xdrs, rpc_loc_event_mask_type *objp)
90{
91	register int32_t *buf;
92
93	 if (!xdr_rpc_uint64 (xdrs, objp))
94		 return FALSE;
95	return TRUE;
96}
97
98bool_t
99xdr_rpc_loc_position_valid_mask_type (XDR *xdrs, rpc_loc_position_valid_mask_type *objp)
100{
101	register int32_t *buf;
102
103	 if (!xdr_rpc_uint64 (xdrs, objp))
104		 return FALSE;
105	return TRUE;
106}
107
108bool_t
109xdr_rpc_loc_pos_technology_mask_type (XDR *xdrs, rpc_loc_pos_technology_mask_type *objp)
110{
111	register int32_t *buf;
112
113	 if (!xdr_rpc_uint32 (xdrs, objp))
114		 return FALSE;
115	return TRUE;
116}
117
118bool_t
119xdr_rpc_loc_session_status_e_type (XDR *xdrs, rpc_loc_session_status_e_type *objp)
120{
121	register int32_t *buf;
122
123	 if (!xdr_enum (xdrs, (enum_t *) objp))
124		 return FALSE;
125	return TRUE;
126}
127
128bool_t
129xdr_rpc_loc_calendar_time_s_type (XDR *xdrs, rpc_loc_calendar_time_s_type *objp)
130{
131	register int32_t *buf;
132
133	 if (!xdr_rpc_uint16 (xdrs, &objp->year))
134		 return FALSE;
135	 if (!xdr_u_char (xdrs, &objp->month))
136		 return FALSE;
137	 if (!xdr_u_char (xdrs, &objp->day_of_week))
138		 return FALSE;
139	 if (!xdr_u_char (xdrs, &objp->day))
140		 return FALSE;
141	 if (!xdr_u_char (xdrs, &objp->hour))
142		 return FALSE;
143	 if (!xdr_u_char (xdrs, &objp->minute))
144		 return FALSE;
145	 if (!xdr_u_char (xdrs, &objp->second))
146		 return FALSE;
147	 if (!xdr_rpc_uint16 (xdrs, &objp->millisecond))
148		 return FALSE;
149	return TRUE;
150}
151
152bool_t
153xdr_rpc_loc_parsed_position_s_type (XDR *xdrs, rpc_loc_parsed_position_s_type *objp)
154{
155	register int32_t *buf;
156
157	 if (!xdr_rpc_loc_position_valid_mask_type (xdrs, &objp->valid_mask))
158		 return FALSE;
159	 if (!xdr_rpc_loc_session_status_e_type (xdrs, &objp->session_status))
160		 return FALSE;
161	 if (!xdr_rpc_loc_calendar_time_s_type (xdrs, &objp->timestamp_calendar))
162		 return FALSE;
163	 if (!xdr_rpc_uint64 (xdrs, &objp->timestamp_utc))
164		 return FALSE;
165	 if (!xdr_rpc_uint8 (xdrs, &objp->leap_seconds))
166		 return FALSE;
167	 if (!xdr_float (xdrs, &objp->time_unc))
168		 return FALSE;
169	 if (!xdr_double (xdrs, &objp->latitude))
170		 return FALSE;
171	 if (!xdr_double (xdrs, &objp->longitude))
172		 return FALSE;
173	 if (!xdr_float (xdrs, &objp->altitude_wrt_ellipsoid))
174		 return FALSE;
175	 if (!xdr_float (xdrs, &objp->altitude_wrt_mean_sea_level))
176		 return FALSE;
177	 if (!xdr_float (xdrs, &objp->speed_horizontal))
178		 return FALSE;
179	 if (!xdr_float (xdrs, &objp->speed_vertical))
180		 return FALSE;
181	 if (!xdr_float (xdrs, &objp->heading))
182		 return FALSE;
183	 if (!xdr_float (xdrs, &objp->hor_unc_circular))
184		 return FALSE;
185	 if (!xdr_float (xdrs, &objp->hor_unc_ellipse_semi_major))
186		 return FALSE;
187	 if (!xdr_float (xdrs, &objp->hor_unc_ellipse_semi_minor))
188		 return FALSE;
189	 if (!xdr_float (xdrs, &objp->hor_unc_ellipse_orient_azimuth))
190		 return FALSE;
191	 if (!xdr_float (xdrs, &objp->vert_unc))
192		 return FALSE;
193	 if (!xdr_float (xdrs, &objp->speed_unc))
194		 return FALSE;
195	 if (!xdr_float (xdrs, &objp->heading_unc))
196		 return FALSE;
197	 if (!xdr_u_char (xdrs, &objp->confidence_horizontal))
198		 return FALSE;
199	 if (!xdr_u_char (xdrs, &objp->confidence_vertical))
200		 return FALSE;
201	 if (!xdr_float (xdrs, &objp->magnetic_deviation))
202		 return FALSE;
203	 if (!xdr_rpc_loc_pos_technology_mask_type (xdrs, &objp->technology_mask))
204		 return FALSE;
205	return TRUE;
206}
207
208bool_t
209xdr_rpc_loc_sv_system_e_type (XDR *xdrs, rpc_loc_sv_system_e_type *objp)
210{
211	register int32_t *buf;
212
213	 if (!xdr_enum (xdrs, (enum_t *) objp))
214		 return FALSE;
215	return TRUE;
216}
217
218bool_t
219xdr_rpc_loc_sv_status_e_type (XDR *xdrs, rpc_loc_sv_status_e_type *objp)
220{
221	register int32_t *buf;
222
223	 if (!xdr_enum (xdrs, (enum_t *) objp))
224		 return FALSE;
225	return TRUE;
226}
227
228bool_t
229xdr_rpc_loc_sv_info_valid_mask_type (XDR *xdrs, rpc_loc_sv_info_valid_mask_type *objp)
230{
231	register int32_t *buf;
232
233	 if (!xdr_rpc_uint32 (xdrs, objp))
234		 return FALSE;
235	return TRUE;
236}
237
238bool_t
239xdr_rpc_loc_sv_info_s_type (XDR *xdrs, rpc_loc_sv_info_s_type *objp)
240{
241	register int32_t *buf;
242
243	 if (!xdr_rpc_loc_sv_info_valid_mask_type (xdrs, &objp->valid_mask))
244		 return FALSE;
245	 if (!xdr_rpc_loc_sv_system_e_type (xdrs, &objp->system))
246		 return FALSE;
247	 if (!xdr_rpc_uint8 (xdrs, &objp->prn))
248		 return FALSE;
249	 if (!xdr_rpc_uint8 (xdrs, &objp->health_status))
250		 return FALSE;
251	 if (!xdr_rpc_loc_sv_status_e_type (xdrs, &objp->process_status))
252		 return FALSE;
253	 if (!xdr_rpc_boolean (xdrs, &objp->has_eph))
254		 return FALSE;
255	 if (!xdr_rpc_boolean (xdrs, &objp->has_alm))
256		 return FALSE;
257	 if (!xdr_float (xdrs, &objp->elevation))
258		 return FALSE;
259	 if (!xdr_float (xdrs, &objp->azimuth))
260		 return FALSE;
261	 if (!xdr_float (xdrs, &objp->snr))
262		 return FALSE;
263	return TRUE;
264}
265
266bool_t
267xdr_rpc_loc_gnss_info_valid_mask_type (XDR *xdrs, rpc_loc_gnss_info_valid_mask_type *objp)
268{
269	register int32_t *buf;
270
271	 if (!xdr_rpc_uint32 (xdrs, objp))
272		 return FALSE;
273	return TRUE;
274}
275
276bool_t
277xdr_rpc_loc_gnss_info_s_type (XDR *xdrs, rpc_loc_gnss_info_s_type *objp)
278{
279	register int32_t *buf;
280
281	 if (!xdr_rpc_loc_gnss_info_valid_mask_type (xdrs, &objp->valid_mask))
282		 return FALSE;
283	 if (!xdr_float (xdrs, &objp->position_dop))
284		 return FALSE;
285	 if (!xdr_float (xdrs, &objp->horizontal_dop))
286		 return FALSE;
287	 if (!xdr_float (xdrs, &objp->vertical_dop))
288		 return FALSE;
289	 if (!xdr_rpc_boolean (xdrs, &objp->altitude_assumed))
290		 return FALSE;
291	 if (!xdr_rpc_uint16 (xdrs, &objp->sv_count))
292		 return FALSE;
293	 if (!xdr_array (xdrs, (char **)&objp->sv_list.sv_list_val, (u_int *) &objp->sv_list.sv_list_len, RPC_LOC_API_MAX_SV_COUNT,
294		sizeof (rpc_loc_sv_info_s_type), (xdrproc_t) xdr_rpc_loc_sv_info_s_type))
295		 return FALSE;
296	return TRUE;
297}
298
299bool_t
300xdr_rpc_loc_nmea_report_s_type (XDR *xdrs, rpc_loc_nmea_report_s_type *objp)
301{
302	register int32_t *buf;
303
304	 if (!xdr_rpc_uint16 (xdrs, &objp->length))
305		 return FALSE;
306	 if (!xdr_bytes (xdrs, (char **)&objp->nmea_sentences.nmea_sentences_val, (u_int *) &objp->nmea_sentences.nmea_sentences_len, RPC_LOC_API_MAX_NMEA_STRING_LENGTH))
307		 return FALSE;
308	return TRUE;
309}
310
311bool_t
312xdr_rpc_loc_status_event_e_type (XDR *xdrs, rpc_loc_status_event_e_type *objp)
313{
314	register int32_t *buf;
315
316	 if (!xdr_enum (xdrs, (enum_t *) objp))
317		 return FALSE;
318	return TRUE;
319}
320
321bool_t
322xdr_rpc_loc_engine_state_e_type (XDR *xdrs, rpc_loc_engine_state_e_type *objp)
323{
324	register int32_t *buf;
325
326	 if (!xdr_enum (xdrs, (enum_t *) objp))
327		 return FALSE;
328	return TRUE;
329}
330
331bool_t
332xdr_rpc_loc_status_event_payload_u_type (XDR *xdrs, rpc_loc_status_event_payload_u_type *objp)
333{
334	register int32_t *buf;
335
336	 if (!xdr_rpc_loc_status_event_e_type (xdrs, &objp->disc))
337		 return FALSE;
338	switch (objp->disc) {
339	case RPC_LOC_STATUS_EVENT_ENGINE_STATE:
340		 if (!xdr_rpc_loc_engine_state_e_type (xdrs, &objp->rpc_loc_status_event_payload_u_type_u.engine_state))
341			 return FALSE;
342		break;
343	default:
344		break;
345	}
346	return TRUE;
347}
348
349bool_t
350xdr_rpc_loc_status_event_s_type (XDR *xdrs, rpc_loc_status_event_s_type *objp)
351{
352	register int32_t *buf;
353
354	 if (!xdr_rpc_loc_status_event_e_type (xdrs, &objp->event))
355		 return FALSE;
356	 if (!xdr_rpc_loc_status_event_payload_u_type (xdrs, &objp->payload))
357		 return FALSE;
358	return TRUE;
359}
360
361bool_t
362xdr_rpc_loc_server_addr_e_type (XDR *xdrs, rpc_loc_server_addr_e_type *objp)
363{
364	register int32_t *buf;
365
366	 if (!xdr_enum (xdrs, (enum_t *) objp))
367		 return FALSE;
368	return TRUE;
369}
370
371bool_t
372xdr_rpc_loc_server_addr_ipv4_type (XDR *xdrs, rpc_loc_server_addr_ipv4_type *objp)
373{
374	register int32_t *buf;
375
376	 if (!xdr_rpc_uint32 (xdrs, &objp->addr))
377		 return FALSE;
378	 if (!xdr_rpc_uint16 (xdrs, &objp->port))
379		 return FALSE;
380	return TRUE;
381}
382
383bool_t
384xdr_rpc_loc_server_addr_url_type (XDR *xdrs, rpc_loc_server_addr_url_type *objp)
385{
386	register int32_t *buf;
387
388	 if (!xdr_rpc_uint16 (xdrs, &objp->length))
389		 return FALSE;
390	 if (!xdr_bytes (xdrs, (char **)&objp->addr.addr_val, (u_int *) &objp->addr.addr_len, RPC_LOC_API_MAX_SERVER_ADDR_LENGTH))
391		 return FALSE;
392	return TRUE;
393}
394
395bool_t
396xdr_rpc_loc_server_addr_u_type (XDR *xdrs, rpc_loc_server_addr_u_type *objp)
397{
398	register int32_t *buf;
399
400	 if (!xdr_rpc_loc_server_addr_e_type (xdrs, &objp->disc))
401		 return FALSE;
402	switch (objp->disc) {
403	case RPC_LOC_SERVER_ADDR_IPV4:
404		 if (!xdr_rpc_loc_server_addr_ipv4_type (xdrs, &objp->rpc_loc_server_addr_u_type_u.ipv4))
405			 return FALSE;
406		break;
407	case RPC_LOC_SERVER_ADDR_URL:
408		 if (!xdr_rpc_loc_server_addr_url_type (xdrs, &objp->rpc_loc_server_addr_u_type_u.url))
409			 return FALSE;
410		break;
411	default:
412		break;
413	}
414	return TRUE;
415}
416
417bool_t
418xdr_rpc_loc_server_info_s_type (XDR *xdrs, rpc_loc_server_info_s_type *objp)
419{
420	register int32_t *buf;
421
422	 if (!xdr_rpc_loc_server_addr_e_type (xdrs, &objp->addr_type))
423		 return FALSE;
424	 if (!xdr_rpc_loc_server_addr_u_type (xdrs, &objp->addr_info))
425		 return FALSE;
426	return TRUE;
427}
428
429bool_t
430xdr_rpc_loc_ni_notify_verify_e_type (XDR *xdrs, rpc_loc_ni_notify_verify_e_type *objp)
431{
432	register int32_t *buf;
433
434	 if (!xdr_enum (xdrs, (enum_t *) objp))
435		 return FALSE;
436	return TRUE;
437}
438
439bool_t
440xdr_rpc_loc_ni_event_e_type (XDR *xdrs, rpc_loc_ni_event_e_type *objp)
441{
442	register int32_t *buf;
443
444	 if (!xdr_enum (xdrs, (enum_t *) objp))
445		 return FALSE;
446	return TRUE;
447}
448
449bool_t
450xdr_rpc_loc_ni_datacoding_scheme_e_type (XDR *xdrs, rpc_loc_ni_datacoding_scheme_e_type *objp)
451{
452	register int32_t *buf;
453
454	 if (!xdr_enum (xdrs, (enum_t *) objp))
455		 return FALSE;
456	return TRUE;
457}
458
459bool_t
460xdr_rpc_loc_ni_vx_requester_id_encoding_scheme_e_type (XDR *xdrs, rpc_loc_ni_vx_requester_id_encoding_scheme_e_type *objp)
461{
462	register int32_t *buf;
463
464	 if (!xdr_enum (xdrs, (enum_t *) objp))
465		 return FALSE;
466	return TRUE;
467}
468
469bool_t
470xdr_rpc_loc_ni_vx_pos_mode_e_type (XDR *xdrs, rpc_loc_ni_vx_pos_mode_e_type *objp)
471{
472	register int32_t *buf;
473
474	 if (!xdr_enum (xdrs, (enum_t *) objp))
475		 return FALSE;
476	return TRUE;
477}
478
479bool_t
480xdr_rpc_loc_ni_vx_requester_id_s_type (XDR *xdrs, rpc_loc_ni_vx_requester_id_s_type *objp)
481{
482	register int32_t *buf;
483
484	int i;
485	 if (!xdr_u_char (xdrs, &objp->requester_id_length))
486		 return FALSE;
487	 if (!xdr_opaque (xdrs, objp->requester_id, 200))
488		 return FALSE;
489	return TRUE;
490}
491
492bool_t
493xdr_rpc_loc_ni_vx_notify_verify_req_s_type (XDR *xdrs, rpc_loc_ni_vx_notify_verify_req_s_type *objp)
494{
495	register int32_t *buf;
496
497	 if (!xdr_rpc_loc_ni_notify_verify_e_type (xdrs, &objp->notification_priv_type))
498		 return FALSE;
499	 if (!xdr_u_char (xdrs, &objp->pos_qos_incl))
500		 return FALSE;
501	 if (!xdr_u_char (xdrs, &objp->pos_qos))
502		 return FALSE;
503	 if (!xdr_rpc_uint32 (xdrs, &objp->num_fixes))
504		 return FALSE;
505	 if (!xdr_rpc_uint32 (xdrs, &objp->tbf))
506		 return FALSE;
507	 if (!xdr_rpc_loc_ni_vx_pos_mode_e_type (xdrs, &objp->pos_mode))
508		 return FALSE;
509	 if (!xdr_rpc_loc_ni_vx_requester_id_encoding_scheme_e_type (xdrs, &objp->encoding_scheme))
510		 return FALSE;
511	 if (!xdr_rpc_loc_ni_vx_requester_id_s_type (xdrs, &objp->requester_id))
512		 return FALSE;
513	 if (!xdr_rpc_uint16 (xdrs, &objp->user_resp_timer_val))
514		 return FALSE;
515	return TRUE;
516}
517
518bool_t
519xdr_rpc_loc_ni_supl_pos_method_e_type (XDR *xdrs, rpc_loc_ni_supl_pos_method_e_type *objp)
520{
521	register int32_t *buf;
522
523	 if (!xdr_enum (xdrs, (enum_t *) objp))
524		 return FALSE;
525	return TRUE;
526}
527
528bool_t
529xdr_rpc_loc_ni_supl_slp_session_id_s_type (XDR *xdrs, rpc_loc_ni_supl_slp_session_id_s_type *objp)
530{
531	register int32_t *buf;
532
533	int i;
534	 if (!xdr_u_char (xdrs, &objp->presence))
535		 return FALSE;
536	 if (!xdr_opaque (xdrs, objp->session_id, 4))
537		 return FALSE;
538	 if (!xdr_rpc_loc_server_info_s_type (xdrs, &objp->slp_address))
539		 return FALSE;
540	return TRUE;
541}
542
543bool_t
544xdr_rpc_loc_ni_requestor_id_s_type (XDR *xdrs, rpc_loc_ni_requestor_id_s_type *objp)
545{
546	register int32_t *buf;
547
548	 if (!xdr_u_char (xdrs, &objp->data_coding_scheme))
549		 return FALSE;
550	 if (!xdr_bytes (xdrs, (char **)&objp->requestor_id_string.requestor_id_string_val, (u_int *) &objp->requestor_id_string.requestor_id_string_len, RPC_LOC_NI_MAX_REQUESTOR_ID_LENGTH))
551		 return FALSE;
552	 if (!xdr_u_char (xdrs, &objp->string_len))
553		 return FALSE;
554	return TRUE;
555}
556
557bool_t
558xdr_rpc_loc_ni_supl_client_name_s_type (XDR *xdrs, rpc_loc_ni_supl_client_name_s_type *objp)
559{
560	register int32_t *buf;
561
562	 if (!xdr_u_char (xdrs, &objp->data_coding_scheme))
563		 return FALSE;
564	 if (!xdr_bytes (xdrs, (char **)&objp->client_name_string.client_name_string_val, (u_int *) &objp->client_name_string.client_name_string_len, RPC_LOC_NI_MAX_CLIENT_NAME_LENGTH))
565		 return FALSE;
566	 if (!xdr_u_char (xdrs, &objp->string_len))
567		 return FALSE;
568	return TRUE;
569}
570
571bool_t
572xdr_rpc_loc_ni_supl_qop_s_type (XDR *xdrs, rpc_loc_ni_supl_qop_s_type *objp)
573{
574	register int32_t *buf;
575
576	 if (!xdr_u_char (xdrs, &objp->bit_mask))
577		 return FALSE;
578	 if (!xdr_u_char (xdrs, &objp->horacc))
579		 return FALSE;
580	 if (!xdr_u_char (xdrs, &objp->veracc))
581		 return FALSE;
582	 if (!xdr_u_char (xdrs, &objp->maxLocAge))
583		 return FALSE;
584	 if (!xdr_u_char (xdrs, &objp->delay))
585		 return FALSE;
586	return TRUE;
587}
588
589bool_t
590xdr_rpc_loc_ni_supl_notify_verify_req_s_type (XDR *xdrs, rpc_loc_ni_supl_notify_verify_req_s_type *objp)
591{
592	register int32_t *buf;
593
594	int i;
595	 if (!xdr_rpc_loc_ni_notify_verify_e_type (xdrs, &objp->notification_priv_type))
596		 return FALSE;
597	 if (!xdr_rpc_uint16 (xdrs, &objp->flags))
598		 return FALSE;
599	 if (!xdr_rpc_loc_ni_supl_slp_session_id_s_type (xdrs, &objp->supl_slp_session_id))
600		 return FALSE;
601	 if (!xdr_opaque (xdrs, objp->supl_hash, 8))
602		 return FALSE;
603	 if (!xdr_rpc_loc_ni_datacoding_scheme_e_type (xdrs, &objp->datacoding_scheme))
604		 return FALSE;
605	 if (!xdr_rpc_loc_ni_supl_pos_method_e_type (xdrs, &objp->pos_method))
606		 return FALSE;
607	 if (!xdr_rpc_loc_ni_requestor_id_s_type (xdrs, &objp->requestor_id))
608		 return FALSE;
609	 if (!xdr_rpc_loc_ni_supl_client_name_s_type (xdrs, &objp->client_name))
610		 return FALSE;
611	 if (!xdr_rpc_loc_ni_supl_qop_s_type (xdrs, &objp->supl_qop))
612		 return FALSE;
613	 if (!xdr_rpc_uint16 (xdrs, &objp->user_response_timer))
614		 return FALSE;
615	return TRUE;
616}
617
618bool_t
619xdr_rpc_loc_ni_ext_client_address_s_type (XDR *xdrs, rpc_loc_ni_ext_client_address_s_type *objp)
620{
621	register int32_t *buf;
622
623	 if (!xdr_u_char (xdrs, &objp->ext_client_address_len))
624		 return FALSE;
625	 if (!xdr_bytes (xdrs, (char **)&objp->ext_client_address.ext_client_address_val, (u_int *) &objp->ext_client_address.ext_client_address_len, RPC_LOC_NI_MAX_EXT_CLIENT_ADDRESS))
626		 return FALSE;
627	return TRUE;
628}
629
630bool_t
631xdr_rpc_loc_ni_location_type_e_type (XDR *xdrs, rpc_loc_ni_location_type_e_type *objp)
632{
633	register int32_t *buf;
634
635	 if (!xdr_enum (xdrs, (enum_t *) objp))
636		 return FALSE;
637	return TRUE;
638}
639
640bool_t
641xdr_rpc_loc_ni_deferred_location_s_type (XDR *xdrs, rpc_loc_ni_deferred_location_s_type *objp)
642{
643	register int32_t *buf;
644
645	 if (!xdr_u_char (xdrs, &objp->unused_bits))
646		 return FALSE;
647	 if (!xdr_u_char (xdrs, &objp->ms_available))
648		 return FALSE;
649	return TRUE;
650}
651
652bool_t
653xdr_rpc_loc_ni_codeword_string_s_type (XDR *xdrs, rpc_loc_ni_codeword_string_s_type *objp)
654{
655	register int32_t *buf;
656
657	 if (!xdr_u_char (xdrs, &objp->data_coding_scheme))
658		 return FALSE;
659	 if (!xdr_bytes (xdrs, (char **)&objp->lcs_codeword_string.lcs_codeword_string_val, (u_int *) &objp->lcs_codeword_string.lcs_codeword_string_len, RPC_LOC_NI_CODEWORD_LENGTH))
660		 return FALSE;
661	 if (!xdr_u_char (xdrs, &objp->string_len))
662		 return FALSE;
663	return TRUE;
664}
665
666bool_t
667xdr_rpc_loc_ni_service_type_id_s_type (XDR *xdrs, rpc_loc_ni_service_type_id_s_type *objp)
668{
669	register int32_t *buf;
670
671	 if (!xdr_u_char (xdrs, &objp->lcs_service_type_id))
672		 return FALSE;
673	return TRUE;
674}
675
676bool_t
677xdr_rpc_loc_ni_umts_cp_notify_verify_req_s_type (XDR *xdrs, rpc_loc_ni_umts_cp_notify_verify_req_s_type *objp)
678{
679	register int32_t *buf;
680
681	 if (!xdr_rpc_loc_ni_notify_verify_e_type (xdrs, &objp->notification_priv_type))
682		 return FALSE;
683	 if (!xdr_u_char (xdrs, &objp->invoke_id))
684		 return FALSE;
685	 if (!xdr_rpc_uint16 (xdrs, &objp->flags))
686		 return FALSE;
687	 if (!xdr_u_char (xdrs, &objp->notification_length))
688		 return FALSE;
689	 if (!xdr_bytes (xdrs, (char **)&objp->notification_text.notification_text_val, (u_int *) &objp->notification_text.notification_text_len, RPC_LOC_NI_MAX_CLIENT_NAME_LENGTH))
690		 return FALSE;
691	 if (!xdr_rpc_loc_ni_datacoding_scheme_e_type (xdrs, &objp->datacoding_scheme))
692		 return FALSE;
693	 if (!xdr_rpc_loc_ni_ext_client_address_s_type (xdrs, &objp->ext_client_address_data))
694		 return FALSE;
695	 if (!xdr_rpc_loc_ni_location_type_e_type (xdrs, &objp->location_type))
696		 return FALSE;
697	 if (!xdr_rpc_loc_ni_deferred_location_s_type (xdrs, &objp->deferred_location))
698		 return FALSE;
699	 if (!xdr_rpc_loc_ni_requestor_id_s_type (xdrs, &objp->requestor_id))
700		 return FALSE;
701	 if (!xdr_rpc_loc_ni_codeword_string_s_type (xdrs, &objp->codeword_string))
702		 return FALSE;
703	 if (!xdr_rpc_loc_ni_service_type_id_s_type (xdrs, &objp->service_type_id))
704		 return FALSE;
705	 if (!xdr_rpc_uint16 (xdrs, &objp->user_response_timer))
706		 return FALSE;
707	return TRUE;
708}
709
710bool_t
711xdr_rpc_loc_ni_event_payload_u_type (XDR *xdrs, rpc_loc_ni_event_payload_u_type *objp)
712{
713	register int32_t *buf;
714
715	 if (!xdr_rpc_loc_ni_event_e_type (xdrs, &objp->disc))
716		 return FALSE;
717	switch (objp->disc) {
718	case RPC_LOC_NI_EVENT_VX_NOTIFY_VERIFY_REQ:
719		 if (!xdr_rpc_loc_ni_vx_notify_verify_req_s_type (xdrs, &objp->rpc_loc_ni_event_payload_u_type_u.vx_req))
720			 return FALSE;
721		break;
722	case RPC_LOC_NI_EVENT_SUPL_NOTIFY_VERIFY_REQ:
723		 if (!xdr_rpc_loc_ni_supl_notify_verify_req_s_type (xdrs, &objp->rpc_loc_ni_event_payload_u_type_u.supl_req))
724			 return FALSE;
725		break;
726	case RPC_LOC_NI_EVENT_UMTS_CP_NOTIFY_VERIFY_REQ:
727		 if (!xdr_rpc_loc_ni_umts_cp_notify_verify_req_s_type (xdrs, &objp->rpc_loc_ni_event_payload_u_type_u.umts_cp_req))
728			 return FALSE;
729		break;
730	default:
731		break;
732	}
733	return TRUE;
734}
735
736bool_t
737xdr_rpc_loc_ni_event_s_type (XDR *xdrs, rpc_loc_ni_event_s_type *objp)
738{
739	register int32_t *buf;
740
741	 if (!xdr_rpc_loc_ni_event_e_type (xdrs, &objp->event))
742		 return FALSE;
743	 if (!xdr_rpc_loc_ni_event_payload_u_type (xdrs, &objp->payload))
744		 return FALSE;
745	return TRUE;
746}
747
748bool_t
749xdr_rpc_loc_assist_data_request_e_type (XDR *xdrs, rpc_loc_assist_data_request_e_type *objp)
750{
751	register int32_t *buf;
752
753	 if (!xdr_enum (xdrs, (enum_t *) objp))
754		 return FALSE;
755	return TRUE;
756}
757
758bool_t
759xdr_rpc_struct_loc_time_download_source_s_type_servers_ptr (XDR *xdrs, rpc_struct_loc_time_download_source_s_type_servers_ptr *objp)
760{
761	register int32_t *buf;
762
763	 if (!xdr_string (xdrs, objp, RPC_LOC_API_MAX_SERVER_ADDR_LENGTH))
764		 return FALSE;
765	return TRUE;
766}
767
768bool_t
769xdr_rpc_struct_loc_time_download_source_s_type_servers (XDR *xdrs, rpc_struct_loc_time_download_source_s_type_servers objp)
770{
771	register int32_t *buf;
772
773	 if (!xdr_vector (xdrs, (char *)objp, 3,
774		sizeof (rpc_struct_loc_time_download_source_s_type_servers_ptr), (xdrproc_t) xdr_rpc_struct_loc_time_download_source_s_type_servers_ptr))
775		 return FALSE;
776	return TRUE;
777}
778
779bool_t
780xdr_rpc_loc_time_download_source_s_type (XDR *xdrs, rpc_loc_time_download_source_s_type *objp)
781{
782	register int32_t *buf;
783
784	 if (!xdr_rpc_uint32 (xdrs, &objp->delay_threshold))
785		 return FALSE;
786	 if (!xdr_rpc_struct_loc_time_download_source_s_type_servers (xdrs, objp->servers))
787		 return FALSE;
788	return TRUE;
789}
790
791bool_t
792xdr_rpc_struct_loc_predicted_orbits_data_source_s_type_servers_ptr (XDR *xdrs, rpc_struct_loc_predicted_orbits_data_source_s_type_servers_ptr *objp)
793{
794	register int32_t *buf;
795
796	 if (!xdr_string (xdrs, objp, RPC_LOC_API_MAX_SERVER_ADDR_LENGTH))
797		 return FALSE;
798	return TRUE;
799}
800
801bool_t
802xdr_rpc_struct_loc_predicted_orbits_data_source_s_type_servers (XDR *xdrs, rpc_struct_loc_predicted_orbits_data_source_s_type_servers objp)
803{
804	register int32_t *buf;
805
806	 if (!xdr_vector (xdrs, (char *)objp, 3,
807		sizeof (rpc_struct_loc_predicted_orbits_data_source_s_type_servers_ptr), (xdrproc_t) xdr_rpc_struct_loc_predicted_orbits_data_source_s_type_servers_ptr))
808		 return FALSE;
809	return TRUE;
810}
811
812bool_t
813xdr_rpc_loc_predicted_orbits_data_source_s_type (XDR *xdrs, rpc_loc_predicted_orbits_data_source_s_type *objp)
814{
815	register int32_t *buf;
816
817	 if (!xdr_rpc_uint32 (xdrs, &objp->max_file_size))
818		 return FALSE;
819	 if (!xdr_rpc_uint32 (xdrs, &objp->max_part_size))
820		 return FALSE;
821	 if (!xdr_rpc_struct_loc_predicted_orbits_data_source_s_type_servers (xdrs, objp->servers))
822		 return FALSE;
823	return TRUE;
824}
825
826bool_t
827xdr_rpc_loc_assist_data_request_payload_u_type (XDR *xdrs, rpc_loc_assist_data_request_payload_u_type *objp)
828{
829	register int32_t *buf;
830
831	 if (!xdr_rpc_loc_assist_data_request_e_type (xdrs, &objp->disc))
832		 return FALSE;
833	switch (objp->disc) {
834	case RPC_LOC_ASSIST_DATA_TIME_REQ:
835		 if (!xdr_rpc_loc_time_download_source_s_type (xdrs, &objp->rpc_loc_assist_data_request_payload_u_type_u.time_download))
836			 return FALSE;
837		break;
838	case RPC_LOC_ASSIST_DATA_PREDICTED_ORBITS_REQ:
839		 if (!xdr_rpc_loc_predicted_orbits_data_source_s_type (xdrs, &objp->rpc_loc_assist_data_request_payload_u_type_u.data_download))
840			 return FALSE;
841		break;
842	default:
843		break;
844	}
845	return TRUE;
846}
847
848bool_t
849xdr_rpc_loc_assist_data_request_s_type (XDR *xdrs, rpc_loc_assist_data_request_s_type *objp)
850{
851	register int32_t *buf;
852
853	 if (!xdr_rpc_loc_assist_data_request_e_type (xdrs, &objp->event))
854		 return FALSE;
855	 if (!xdr_rpc_loc_assist_data_request_payload_u_type (xdrs, &objp->payload))
856		 return FALSE;
857	return TRUE;
858}
859
860bool_t
861xdr_rpc_loc_server_connection_handle (XDR *xdrs, rpc_loc_server_connection_handle *objp)
862{
863	register int32_t *buf;
864
865	 if (!xdr_rpc_uint32 (xdrs, objp))
866		 return FALSE;
867	return TRUE;
868}
869
870bool_t
871xdr_rpc_loc_server_protocol_e_type (XDR *xdrs, rpc_loc_server_protocol_e_type *objp)
872{
873	register int32_t *buf;
874
875	 if (!xdr_enum (xdrs, (enum_t *) objp))
876		 return FALSE;
877	return TRUE;
878}
879
880bool_t
881xdr_rpc_loc_server_request_e_type (XDR *xdrs, rpc_loc_server_request_e_type *objp)
882{
883	register int32_t *buf;
884
885	 if (!xdr_enum (xdrs, (enum_t *) objp))
886		 return FALSE;
887	return TRUE;
888}
889
890bool_t
891xdr_rpc_loc_server_open_req_s_type (XDR *xdrs, rpc_loc_server_open_req_s_type *objp)
892{
893	register int32_t *buf;
894
895	 if (!xdr_rpc_loc_server_connection_handle (xdrs, &objp->conn_handle))
896		 return FALSE;
897	 if (!xdr_rpc_loc_server_protocol_e_type (xdrs, &objp->protocol))
898		 return FALSE;
899	return TRUE;
900}
901
902bool_t
903xdr_rpc_loc_server_close_req_s_type (XDR *xdrs, rpc_loc_server_close_req_s_type *objp)
904{
905	register int32_t *buf;
906
907	 if (!xdr_rpc_loc_server_connection_handle (xdrs, &objp->conn_handle))
908		 return FALSE;
909	return TRUE;
910}
911
912bool_t
913xdr_rpc_loc_server_request_u_type (XDR *xdrs, rpc_loc_server_request_u_type *objp)
914{
915	register int32_t *buf;
916
917	 if (!xdr_rpc_loc_server_request_e_type (xdrs, &objp->disc))
918		 return FALSE;
919	switch (objp->disc) {
920	case RPC_LOC_SERVER_REQUEST_OPEN:
921		 if (!xdr_rpc_loc_server_open_req_s_type (xdrs, &objp->rpc_loc_server_request_u_type_u.open_req))
922			 return FALSE;
923		break;
924	case RPC_LOC_SERVER_REQUEST_CLOSE:
925		 if (!xdr_rpc_loc_server_close_req_s_type (xdrs, &objp->rpc_loc_server_request_u_type_u.close_req))
926			 return FALSE;
927		break;
928	default:
929		break;
930	}
931	return TRUE;
932}
933
934bool_t
935xdr_rpc_loc_server_request_s_type (XDR *xdrs, rpc_loc_server_request_s_type *objp)
936{
937	register int32_t *buf;
938
939	 if (!xdr_rpc_loc_server_request_e_type (xdrs, &objp->event))
940		 return FALSE;
941	 if (!xdr_rpc_loc_server_request_u_type (xdrs, &objp->payload))
942		 return FALSE;
943	return TRUE;
944}
945
946bool_t
947xdr_rpc_loc_reserved_payload_s_type (XDR *xdrs, rpc_loc_reserved_payload_s_type *objp)
948{
949	register int32_t *buf;
950
951	 if (!xdr_rpc_uint16 (xdrs, &objp->data_size))
952		 return FALSE;
953	 if (!xdr_bytes (xdrs, (char **)&objp->data.data_val, (u_int *) &objp->data.data_len, ~0))
954		 return FALSE;
955	return TRUE;
956}
957
958bool_t
959xdr_rpc_loc_ioctl_e_type (XDR *xdrs, rpc_loc_ioctl_e_type *objp)
960{
961	register int32_t *buf;
962
963	 if (!xdr_enum (xdrs, (enum_t *) objp))
964		 return FALSE;
965	return TRUE;
966}
967
968bool_t
969xdr_rpc_loc_api_version_s_type (XDR *xdrs, rpc_loc_api_version_s_type *objp)
970{
971	register int32_t *buf;
972
973	 if (!xdr_u_char (xdrs, &objp->major))
974		 return FALSE;
975	 if (!xdr_u_char (xdrs, &objp->minor))
976		 return FALSE;
977	return TRUE;
978}
979
980bool_t
981xdr_rpc_loc_fix_recurrence_e_type (XDR *xdrs, rpc_loc_fix_recurrence_e_type *objp)
982{
983	register int32_t *buf;
984
985	 if (!xdr_enum (xdrs, (enum_t *) objp))
986		 return FALSE;
987	return TRUE;
988}
989
990bool_t
991xdr_rpc_loc_operation_mode_e_type (XDR *xdrs, rpc_loc_operation_mode_e_type *objp)
992{
993	register int32_t *buf;
994
995	 if (!xdr_enum (xdrs, (enum_t *) objp))
996		 return FALSE;
997	return TRUE;
998}
999
1000bool_t
1001xdr_rpc_loc_notify_e_type (XDR *xdrs, rpc_loc_notify_e_type *objp)
1002{
1003	register int32_t *buf;
1004
1005	 if (!xdr_enum (xdrs, (enum_t *) objp))
1006		 return FALSE;
1007	return TRUE;
1008}
1009
1010bool_t
1011xdr_rpc_loc_fix_criteria_s_type (XDR *xdrs, rpc_loc_fix_criteria_s_type *objp)
1012{
1013	register int32_t *buf;
1014
1015	 if (!xdr_rpc_uint32 (xdrs, &objp->valid_mask))
1016		 return FALSE;
1017	 if (!xdr_rpc_loc_fix_recurrence_e_type (xdrs, &objp->recurrence_type))
1018		 return FALSE;
1019	 if (!xdr_rpc_loc_operation_mode_e_type (xdrs, &objp->preferred_operation_mode))
1020		 return FALSE;
1021	 if (!xdr_rpc_uint32 (xdrs, &objp->preferred_accuracy))
1022		 return FALSE;
1023	 if (!xdr_rpc_uint32 (xdrs, &objp->preferred_response_time))
1024		 return FALSE;
1025	 if (!xdr_rpc_boolean (xdrs, &objp->intermediate_pos_report_enabled))
1026		 return FALSE;
1027	 if (!xdr_rpc_loc_notify_e_type (xdrs, &objp->notify_type))
1028		 return FALSE;
1029	 if (!xdr_rpc_uint32 (xdrs, &objp->min_interval))
1030		 return FALSE;
1031	 if (!xdr_float (xdrs, &objp->min_distance))
1032		 return FALSE;
1033	 if (!xdr_rpc_uint32 (xdrs, &objp->min_dist_sample_interval))
1034		 return FALSE;
1035	return TRUE;
1036}
1037
1038bool_t
1039xdr_rpc_loc_ni_user_resp_e_type (XDR *xdrs, rpc_loc_ni_user_resp_e_type *objp)
1040{
1041	register int32_t *buf;
1042
1043	 if (!xdr_enum (xdrs, (enum_t *) objp))
1044		 return FALSE;
1045	return TRUE;
1046}
1047
1048bool_t
1049xdr_rpc_loc_user_verify_s_type (XDR *xdrs, rpc_loc_user_verify_s_type *objp)
1050{
1051	register int32_t *buf;
1052
1053	 if (!xdr_rpc_loc_ni_user_resp_e_type (xdrs, &objp->user_resp))
1054		 return FALSE;
1055	 if (!xdr_rpc_loc_ni_event_s_type (xdrs, &objp->ni_event_pass_back))
1056		 return FALSE;
1057	return TRUE;
1058}
1059
1060bool_t
1061xdr_rpc_loc_predicted_orbits_data_format_e_type (XDR *xdrs, rpc_loc_predicted_orbits_data_format_e_type *objp)
1062{
1063	register int32_t *buf;
1064
1065	 if (!xdr_enum (xdrs, (enum_t *) objp))
1066		 return FALSE;
1067	return TRUE;
1068}
1069
1070bool_t
1071xdr_rpc_loc_predicted_orbits_data_s_type (XDR *xdrs, rpc_loc_predicted_orbits_data_s_type *objp)
1072{
1073	register int32_t *buf;
1074
1075	 if (!xdr_rpc_loc_predicted_orbits_data_format_e_type (xdrs, &objp->format_type))
1076		 return FALSE;
1077	 if (!xdr_rpc_uint32 (xdrs, &objp->total_size))
1078		 return FALSE;
1079	 if (!xdr_rpc_uint8 (xdrs, &objp->total_parts))
1080		 return FALSE;
1081	 if (!xdr_rpc_uint8 (xdrs, &objp->part))
1082		 return FALSE;
1083	 if (!xdr_rpc_uint16 (xdrs, &objp->part_len))
1084		 return FALSE;
1085	 if (!xdr_bytes (xdrs, (char **)&objp->data_ptr.data_ptr_val, (u_int *) &objp->data_ptr.data_ptr_len, ~0))
1086		 return FALSE;
1087	return TRUE;
1088}
1089
1090bool_t
1091xdr_rpc_loc_predicted_orbits_data_validity_report_s_type (XDR *xdrs, rpc_loc_predicted_orbits_data_validity_report_s_type *objp)
1092{
1093	register int32_t *buf;
1094
1095	 if (!xdr_rpc_uint64 (xdrs, &objp->start_time_utc))
1096		 return FALSE;
1097	 if (!xdr_rpc_uint16 (xdrs, &objp->valid_duration_hrs))
1098		 return FALSE;
1099	return TRUE;
1100}
1101
1102bool_t
1103xdr_rpc_loc_predicted_orbits_auto_download_config_s_type (XDR *xdrs, rpc_loc_predicted_orbits_auto_download_config_s_type *objp)
1104{
1105	register int32_t *buf;
1106
1107	 if (!xdr_rpc_boolean (xdrs, &objp->enable))
1108		 return FALSE;
1109	 if (!xdr_u_char (xdrs, &objp->auto_check_every_hrs))
1110		 return FALSE;
1111	return TRUE;
1112}
1113
1114bool_t
1115xdr_rpc_loc_assist_data_time_s_type (XDR *xdrs, rpc_loc_assist_data_time_s_type *objp)
1116{
1117	register int32_t *buf;
1118
1119	 if (!xdr_rpc_uint64 (xdrs, &objp->time_utc))
1120		 return FALSE;
1121	 if (!xdr_rpc_uint32 (xdrs, &objp->uncertainty))
1122		 return FALSE;
1123	return TRUE;
1124}
1125
1126bool_t
1127xdr_rpc_loc_assist_pos_valid_mask_type (XDR *xdrs, rpc_loc_assist_pos_valid_mask_type *objp)
1128{
1129	register int32_t *buf;
1130
1131	 if (!xdr_rpc_uint64 (xdrs, objp))
1132		 return FALSE;
1133	return TRUE;
1134}
1135
1136bool_t
1137xdr_rpc_loc_assist_data_pos_s_type (XDR *xdrs, rpc_loc_assist_data_pos_s_type *objp)
1138{
1139	register int32_t *buf;
1140
1141	 if (!xdr_rpc_loc_assist_pos_valid_mask_type (xdrs, &objp->valid_mask))
1142		 return FALSE;
1143	 if (!xdr_rpc_uint64 (xdrs, &objp->timestamp_utc))
1144		 return FALSE;
1145	 if (!xdr_double (xdrs, &objp->latitude))
1146		 return FALSE;
1147	 if (!xdr_double (xdrs, &objp->longitude))
1148		 return FALSE;
1149	 if (!xdr_float (xdrs, &objp->altitude_wrt_ellipsoid))
1150		 return FALSE;
1151	 if (!xdr_float (xdrs, &objp->altitude_wrt_mean_sea_level))
1152		 return FALSE;
1153	 if (!xdr_float (xdrs, &objp->hor_unc_circular))
1154		 return FALSE;
1155	 if (!xdr_float (xdrs, &objp->vert_unc))
1156		 return FALSE;
1157	 if (!xdr_u_char (xdrs, &objp->confidence_horizontal))
1158		 return FALSE;
1159	 if (!xdr_u_char (xdrs, &objp->confidence_vertical))
1160		 return FALSE;
1161	return TRUE;
1162}
1163
1164bool_t
1165xdr_rpc_loc_server_open_status_e_type (XDR *xdrs, rpc_loc_server_open_status_e_type *objp)
1166{
1167	register int32_t *buf;
1168
1169	 if (!xdr_enum (xdrs, (enum_t *) objp))
1170		 return FALSE;
1171	return TRUE;
1172}
1173
1174bool_t
1175xdr_rpc_loc_server_open_status_s_type (XDR *xdrs, rpc_loc_server_open_status_s_type *objp)
1176{
1177	register int32_t *buf;
1178
1179	 if (!xdr_rpc_loc_server_connection_handle (xdrs, &objp->conn_handle))
1180		 return FALSE;
1181	 if (!xdr_rpc_loc_server_open_status_e_type (xdrs, &objp->open_status))
1182		 return FALSE;
1183	 if (!xdr_string (xdrs, &objp->apn_name, ~0))
1184		 return FALSE;
1185	return TRUE;
1186}
1187
1188bool_t
1189xdr_rpc_loc_server_close_status_e_type (XDR *xdrs, rpc_loc_server_close_status_e_type *objp)
1190{
1191	register int32_t *buf;
1192
1193	 if (!xdr_enum (xdrs, (enum_t *) objp))
1194		 return FALSE;
1195	return TRUE;
1196}
1197
1198bool_t
1199xdr_rpc_loc_server_close_status_s_type (XDR *xdrs, rpc_loc_server_close_status_s_type *objp)
1200{
1201	register int32_t *buf;
1202
1203	 if (!xdr_rpc_loc_server_connection_handle (xdrs, &objp->conn_handle))
1204		 return FALSE;
1205	 if (!xdr_rpc_loc_server_close_status_e_type (xdrs, &objp->close_status))
1206		 return FALSE;
1207	return TRUE;
1208}
1209
1210bool_t
1211xdr_rpc_loc_lock_e_type (XDR *xdrs, rpc_loc_lock_e_type *objp)
1212{
1213	register int32_t *buf;
1214
1215	 if (!xdr_enum (xdrs, (enum_t *) objp))
1216		 return FALSE;
1217	return TRUE;
1218}
1219
1220bool_t
1221xdr_rpc_loc_nmea_sentence_type (XDR *xdrs, rpc_loc_nmea_sentence_type *objp)
1222{
1223	register int32_t *buf;
1224
1225	 if (!xdr_rpc_uint32 (xdrs, objp))
1226		 return FALSE;
1227	return TRUE;
1228}
1229
1230bool_t
1231xdr_rpc_loc_assist_data_type (XDR *xdrs, rpc_loc_assist_data_type *objp)
1232{
1233	register int32_t *buf;
1234
1235	 if (!xdr_rpc_uint32 (xdrs, objp))
1236		 return FALSE;
1237	return TRUE;
1238}
1239
1240bool_t
1241xdr_rpc_loc_assist_data_delete_s_type (XDR *xdrs, rpc_loc_assist_data_delete_s_type *objp)
1242{
1243	register int32_t *buf;
1244
1245	int i;
1246	 if (!xdr_rpc_loc_assist_data_type (xdrs, &objp->type))
1247		 return FALSE;
1248	 if (!xdr_vector (xdrs, (char *)objp->reserved, 8,
1249		sizeof (rpc_uint32), (xdrproc_t) xdr_rpc_uint32))
1250		 return FALSE;
1251	return TRUE;
1252}
1253
1254bool_t
1255xdr_rpc_loc_ioctl_data_u_type (XDR *xdrs, rpc_loc_ioctl_data_u_type *objp)
1256{
1257	register int32_t *buf;
1258
1259	 if (!xdr_rpc_loc_ioctl_e_type (xdrs, &objp->disc))
1260		 return FALSE;
1261	switch (objp->disc) {
1262	case RPC_LOC_IOCTL_SET_FIX_CRITERIA:
1263		 if (!xdr_rpc_loc_fix_criteria_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.fix_criteria))
1264			 return FALSE;
1265		break;
1266	case RPC_LOC_IOCTL_INFORM_NI_USER_RESPONSE:
1267		 if (!xdr_rpc_loc_user_verify_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.user_verify_resp))
1268			 return FALSE;
1269		break;
1270	case RPC_LOC_IOCTL_INJECT_PREDICTED_ORBITS_DATA:
1271		 if (!xdr_rpc_loc_predicted_orbits_data_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.predicted_orbits_data))
1272			 return FALSE;
1273		break;
1274	case RPC_LOC_IOCTL_SET_PREDICTED_ORBITS_DATA_AUTO_DOWNLOAD:
1275		 if (!xdr_rpc_loc_predicted_orbits_auto_download_config_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.predicted_orbits_auto_download))
1276			 return FALSE;
1277		break;
1278	case RPC_LOC_IOCTL_INJECT_UTC_TIME:
1279		 if (!xdr_rpc_loc_assist_data_time_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.assistance_data_time))
1280			 return FALSE;
1281		break;
1282	case RPC_LOC_IOCTL_INJECT_POSITION:
1283		 if (!xdr_rpc_loc_assist_data_pos_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.assistance_data_position))
1284			 return FALSE;
1285		break;
1286	case RPC_LOC_IOCTL_INFORM_SERVER_OPEN_STATUS:
1287		 if (!xdr_rpc_loc_server_open_status_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.conn_open_status))
1288			 return FALSE;
1289		break;
1290	case RPC_LOC_IOCTL_INFORM_SERVER_CLOSE_STATUS:
1291		 if (!xdr_rpc_loc_server_close_status_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.conn_close_status))
1292			 return FALSE;
1293		break;
1294	case RPC_LOC_IOCTL_SET_ENGINE_LOCK:
1295		 if (!xdr_rpc_loc_lock_e_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.engine_lock))
1296			 return FALSE;
1297		break;
1298	case RPC_LOC_IOCTL_SET_SBAS_CONFIG:
1299		 if (!xdr_rpc_boolean (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.sbas_mode))
1300			 return FALSE;
1301		break;
1302	case RPC_LOC_IOCTL_SET_NMEA_TYPES:
1303		 if (!xdr_rpc_loc_nmea_sentence_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.nmea_types))
1304			 return FALSE;
1305		break;
1306	case RPC_LOC_IOCTL_SET_ON_DEMAND_LPM:
1307		 if (!xdr_rpc_boolean (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.on_demand_lpm))
1308			 return FALSE;
1309		break;
1310	case RPC_LOC_IOCTL_SET_CDMA_PDE_SERVER_ADDR:
1311	case RPC_LOC_IOCTL_SET_CDMA_MPC_SERVER_ADDR:
1312	case RPC_LOC_IOCTL_SET_UMTS_SLP_SERVER_ADDR:
1313	case RPC_LOC_IOCTL_SET_CUSTOM_PDE_SERVER_ADDR:
1314		 if (!xdr_rpc_loc_server_info_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.server_addr))
1315			 return FALSE;
1316		break;
1317	case RPC_LOC_IOCTL_DELETE_ASSIST_DATA:
1318		 if (!xdr_rpc_loc_assist_data_delete_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.assist_data_delete))
1319			 return FALSE;
1320		break;
1321	default:
1322		break;
1323	}
1324	return TRUE;
1325}
1326
1327bool_t
1328xdr_rpc_loc_ioctl_callback_data_u_type (XDR *xdrs, rpc_loc_ioctl_callback_data_u_type *objp)
1329{
1330	register int32_t *buf;
1331
1332	 if (!xdr_rpc_loc_ioctl_e_type (xdrs, &objp->disc))
1333		 return FALSE;
1334	switch (objp->disc) {
1335	case RPC_LOC_IOCTL_GET_API_VERSION:
1336		 if (!xdr_rpc_loc_api_version_s_type (xdrs, &objp->rpc_loc_ioctl_callback_data_u_type_u.api_version))
1337			 return FALSE;
1338		break;
1339	case RPC_LOC_IOCTL_GET_FIX_CRITERIA:
1340		 if (!xdr_rpc_loc_fix_criteria_s_type (xdrs, &objp->rpc_loc_ioctl_callback_data_u_type_u.fix_criteria))
1341			 return FALSE;
1342		break;
1343	case RPC_LOC_IOCTL_GET_ENGINE_LOCK:
1344		 if (!xdr_rpc_loc_lock_e_type (xdrs, &objp->rpc_loc_ioctl_callback_data_u_type_u.engine_lock))
1345			 return FALSE;
1346		break;
1347	case RPC_LOC_IOCTL_GET_SBAS_CONFIG:
1348		 if (!xdr_rpc_boolean (xdrs, &objp->rpc_loc_ioctl_callback_data_u_type_u.sbas_mode))
1349			 return FALSE;
1350		break;
1351	case RPC_LOC_IOCTL_GET_NMEA_TYPES:
1352		 if (!xdr_rpc_loc_nmea_sentence_type (xdrs, &objp->rpc_loc_ioctl_callback_data_u_type_u.nmea_types))
1353			 return FALSE;
1354		break;
1355	case RPC_LOC_IOCTL_GET_ON_DEMAND_LPM:
1356		 if (!xdr_rpc_boolean (xdrs, &objp->rpc_loc_ioctl_callback_data_u_type_u.on_demand_lpm))
1357			 return FALSE;
1358		break;
1359	case RPC_LOC_IOCTL_GET_CDMA_PDE_SERVER_ADDR:
1360	case RPC_LOC_IOCTL_GET_CDMA_MPC_SERVER_ADDR:
1361	case RPC_LOC_IOCTL_GET_UMTS_SLP_SERVER_ADDR:
1362		 if (!xdr_rpc_loc_server_info_s_type (xdrs, &objp->rpc_loc_ioctl_callback_data_u_type_u.server_addr))
1363			 return FALSE;
1364		break;
1365	case RPC_LOC_IOCTL_QUERY_PREDICTED_ORBITS_DATA_SOURCE:
1366		 if (!xdr_rpc_loc_predicted_orbits_data_source_s_type (xdrs, &objp->rpc_loc_ioctl_callback_data_u_type_u.predicted_orbits_data_source))
1367			 return FALSE;
1368		break;
1369	case RPC_LOC_IOCTL_QUERY_PREDICTED_ORBITS_DATA_VALIDITY:
1370		 if (!xdr_rpc_loc_predicted_orbits_data_validity_report_s_type (xdrs, &objp->rpc_loc_ioctl_callback_data_u_type_u.predicted_orbits_data_validity))
1371			 return FALSE;
1372		break;
1373	default:
1374		break;
1375	}
1376	return TRUE;
1377}
1378
1379bool_t
1380xdr_rpc_loc_ioctl_callback_s_type (XDR *xdrs, rpc_loc_ioctl_callback_s_type *objp)
1381{
1382	register int32_t *buf;
1383
1384	 if (!xdr_rpc_loc_ioctl_e_type (xdrs, &objp->type))
1385		 return FALSE;
1386	 if (!xdr_rpc_int32 (xdrs, &objp->status))
1387		 return FALSE;
1388	 if (!xdr_rpc_loc_ioctl_callback_data_u_type (xdrs, &objp->data))
1389		 return FALSE;
1390	return TRUE;
1391}
1392
1393bool_t
1394xdr_rpc_loc_event_payload_u_type (XDR *xdrs, rpc_loc_event_payload_u_type *objp)
1395{
1396	register int32_t *buf;
1397
1398	 if (!xdr_u_quad_t (xdrs, &objp->disc))
1399		 return FALSE;
1400	switch (objp->disc) {
1401	case RPC_LOC_EVENT_PARSED_POSITION_REPORT:
1402		 if (!xdr_rpc_loc_parsed_position_s_type (xdrs, &objp->rpc_loc_event_payload_u_type_u.parsed_location_report))
1403			 return FALSE;
1404		break;
1405	case RPC_LOC_EVENT_SATELLITE_REPORT:
1406		 if (!xdr_rpc_loc_gnss_info_s_type (xdrs, &objp->rpc_loc_event_payload_u_type_u.gnss_report))
1407			 return FALSE;
1408		break;
1409	case RPC_LOC_EVENT_NMEA_POSITION_REPORT:
1410		 if (!xdr_rpc_loc_nmea_report_s_type (xdrs, &objp->rpc_loc_event_payload_u_type_u.nmea_report))
1411			 return FALSE;
1412		break;
1413	case RPC_LOC_EVENT_NI_NOTIFY_VERIFY_REQUEST:
1414		 if (!xdr_rpc_loc_ni_event_s_type (xdrs, &objp->rpc_loc_event_payload_u_type_u.ni_request))
1415			 return FALSE;
1416		break;
1417	case RPC_LOC_EVENT_ASSISTANCE_DATA_REQUEST:
1418		 if (!xdr_rpc_loc_assist_data_request_s_type (xdrs, &objp->rpc_loc_event_payload_u_type_u.assist_data_request))
1419			 return FALSE;
1420		break;
1421	case RPC_LOC_EVENT_LOCATION_SERVER_REQUEST:
1422		 if (!xdr_rpc_loc_server_request_s_type (xdrs, &objp->rpc_loc_event_payload_u_type_u.loc_server_request))
1423			 return FALSE;
1424		break;
1425	case RPC_LOC_EVENT_IOCTL_REPORT:
1426		 if (!xdr_rpc_loc_ioctl_callback_s_type (xdrs, &objp->rpc_loc_event_payload_u_type_u.ioctl_report))
1427			 return FALSE;
1428		break;
1429	case RPC_LOC_EVENT_STATUS_REPORT:
1430		 if (!xdr_rpc_loc_status_event_s_type (xdrs, &objp->rpc_loc_event_payload_u_type_u.status_report))
1431			 return FALSE;
1432		break;
1433	case RPC_LOC_EVENT_RESERVED:
1434		 if (!xdr_rpc_loc_reserved_payload_s_type (xdrs, &objp->rpc_loc_event_payload_u_type_u.reserved))
1435			 return FALSE;
1436		break;
1437	default:
1438		break;
1439	}
1440	return TRUE;
1441}
1442