[backfire/packages] merge r28429
[openwrt/svn-archive/archive.git] / net / openl2tp / src / l2tp_rpc_xdr.c
1 /*
2 * Please do not edit this file.
3 * It was generated using rpcgen.
4 */
5
6 #include "l2tp_rpc.h"
7
8 bool_t
9 xdr_optstring (XDR *xdrs, optstring *objp)
10 {
11 register int32_t *buf;
12
13 if (!xdr_int (xdrs, &objp->valid))
14 return FALSE;
15 switch (objp->valid) {
16 case 1:
17 if (!xdr_string (xdrs, &objp->optstring_u.value, ~0))
18 return FALSE;
19 break;
20 default:
21 break;
22 }
23 return TRUE;
24 }
25 #define OPTSTRING(_var) _var.optstring_u.value
26 #define OPTSTRING_PTR(_var) ((_var.valid == 1) ? _var.optstring_u.value : NULL)
27
28 bool_t
29 xdr_l2tp_api_tunnel_auth_mode (XDR *xdrs, l2tp_api_tunnel_auth_mode *objp)
30 {
31 register int32_t *buf;
32
33 if (!xdr_enum (xdrs, (enum_t *) objp))
34 return FALSE;
35 return TRUE;
36 }
37
38 bool_t
39 xdr_l2tp_api_tunnel_mode (XDR *xdrs, l2tp_api_tunnel_mode *objp)
40 {
41 register int32_t *buf;
42
43 if (!xdr_enum (xdrs, (enum_t *) objp))
44 return FALSE;
45 return TRUE;
46 }
47
48 bool_t
49 xdr_l2tp_api_ip_addr (XDR *xdrs, l2tp_api_ip_addr *objp)
50 {
51 register int32_t *buf;
52
53 if (!xdr_uint32_t (xdrs, &objp->s_addr))
54 return FALSE;
55 return TRUE;
56 }
57
58 bool_t
59 xdr_l2tp_api_app_msg_data (XDR *xdrs, l2tp_api_app_msg_data *objp)
60 {
61 register int32_t *buf;
62
63 if (!xdr_string (xdrs, &objp->build_date, 16))
64 return FALSE;
65 if (!xdr_string (xdrs, &objp->build_time, 16))
66 return FALSE;
67 if (!xdr_int (xdrs, &objp->major))
68 return FALSE;
69 if (!xdr_int (xdrs, &objp->minor))
70 return FALSE;
71 if (!xdr_uint32_t (xdrs, &objp->cookie))
72 return FALSE;
73 if (!xdr_array (xdrs, (char **)&objp->patches.patches_val, (u_int *) &objp->patches.patches_len, ~0,
74 sizeof (int), (xdrproc_t) xdr_int))
75 return FALSE;
76 if (!xdr_uint32_t (xdrs, &objp->features))
77 return FALSE;
78 return TRUE;
79 }
80
81 bool_t
82 xdr_l2tp_api_system_config (XDR *xdrs, l2tp_api_system_config *objp)
83 {
84 register int32_t *buf;
85
86
87 if (xdrs->x_op == XDR_ENCODE) {
88 if (!xdr_uint32_t (xdrs, &objp->flags))
89 return FALSE;
90 if (!xdr_int (xdrs, &objp->udp_port))
91 return FALSE;
92 if (!xdr_uint32_t (xdrs, &objp->trace_flags))
93 return FALSE;
94 if (!xdr_uint32_t (xdrs, &objp->trace_flags_mask))
95 return FALSE;
96 buf = XDR_INLINE (xdrs, 9 * BYTES_PER_XDR_UNIT);
97 if (buf == NULL) {
98 if (!xdr_int (xdrs, &objp->max_tunnels))
99 return FALSE;
100 if (!xdr_int (xdrs, &objp->max_sessions))
101 return FALSE;
102 if (!xdr_int (xdrs, &objp->drain_tunnels))
103 return FALSE;
104 if (!xdr_int (xdrs, &objp->tunnel_establish_timeout))
105 return FALSE;
106 if (!xdr_int (xdrs, &objp->session_establish_timeout))
107 return FALSE;
108 if (!xdr_int (xdrs, &objp->tunnel_persist_pend_timeout))
109 return FALSE;
110 if (!xdr_int (xdrs, &objp->session_persist_pend_timeout))
111 return FALSE;
112 if (!xdr_bool (xdrs, &objp->deny_local_tunnel_creates))
113 return FALSE;
114 if (!xdr_bool (xdrs, &objp->deny_remote_tunnel_creates))
115 return FALSE;
116 } else {
117 IXDR_PUT_LONG(buf, objp->max_tunnels);
118 IXDR_PUT_LONG(buf, objp->max_sessions);
119 IXDR_PUT_LONG(buf, objp->drain_tunnels);
120 IXDR_PUT_LONG(buf, objp->tunnel_establish_timeout);
121 IXDR_PUT_LONG(buf, objp->session_establish_timeout);
122 IXDR_PUT_LONG(buf, objp->tunnel_persist_pend_timeout);
123 IXDR_PUT_LONG(buf, objp->session_persist_pend_timeout);
124 IXDR_PUT_BOOL(buf, objp->deny_local_tunnel_creates);
125 IXDR_PUT_BOOL(buf, objp->deny_remote_tunnel_creates);
126 }
127 return TRUE;
128 } else if (xdrs->x_op == XDR_DECODE) {
129 if (!xdr_uint32_t (xdrs, &objp->flags))
130 return FALSE;
131 if (!xdr_int (xdrs, &objp->udp_port))
132 return FALSE;
133 if (!xdr_uint32_t (xdrs, &objp->trace_flags))
134 return FALSE;
135 if (!xdr_uint32_t (xdrs, &objp->trace_flags_mask))
136 return FALSE;
137 buf = XDR_INLINE (xdrs, 9 * BYTES_PER_XDR_UNIT);
138 if (buf == NULL) {
139 if (!xdr_int (xdrs, &objp->max_tunnels))
140 return FALSE;
141 if (!xdr_int (xdrs, &objp->max_sessions))
142 return FALSE;
143 if (!xdr_int (xdrs, &objp->drain_tunnels))
144 return FALSE;
145 if (!xdr_int (xdrs, &objp->tunnel_establish_timeout))
146 return FALSE;
147 if (!xdr_int (xdrs, &objp->session_establish_timeout))
148 return FALSE;
149 if (!xdr_int (xdrs, &objp->tunnel_persist_pend_timeout))
150 return FALSE;
151 if (!xdr_int (xdrs, &objp->session_persist_pend_timeout))
152 return FALSE;
153 if (!xdr_bool (xdrs, &objp->deny_local_tunnel_creates))
154 return FALSE;
155 if (!xdr_bool (xdrs, &objp->deny_remote_tunnel_creates))
156 return FALSE;
157 } else {
158 objp->max_tunnels = IXDR_GET_LONG(buf);
159 objp->max_sessions = IXDR_GET_LONG(buf);
160 objp->drain_tunnels = IXDR_GET_LONG(buf);
161 objp->tunnel_establish_timeout = IXDR_GET_LONG(buf);
162 objp->session_establish_timeout = IXDR_GET_LONG(buf);
163 objp->tunnel_persist_pend_timeout = IXDR_GET_LONG(buf);
164 objp->session_persist_pend_timeout = IXDR_GET_LONG(buf);
165 objp->deny_local_tunnel_creates = IXDR_GET_BOOL(buf);
166 objp->deny_remote_tunnel_creates = IXDR_GET_BOOL(buf);
167 }
168 return TRUE;
169 }
170
171 if (!xdr_uint32_t (xdrs, &objp->flags))
172 return FALSE;
173 if (!xdr_int (xdrs, &objp->udp_port))
174 return FALSE;
175 if (!xdr_uint32_t (xdrs, &objp->trace_flags))
176 return FALSE;
177 if (!xdr_uint32_t (xdrs, &objp->trace_flags_mask))
178 return FALSE;
179 if (!xdr_int (xdrs, &objp->max_tunnels))
180 return FALSE;
181 if (!xdr_int (xdrs, &objp->max_sessions))
182 return FALSE;
183 if (!xdr_int (xdrs, &objp->drain_tunnels))
184 return FALSE;
185 if (!xdr_int (xdrs, &objp->tunnel_establish_timeout))
186 return FALSE;
187 if (!xdr_int (xdrs, &objp->session_establish_timeout))
188 return FALSE;
189 if (!xdr_int (xdrs, &objp->tunnel_persist_pend_timeout))
190 return FALSE;
191 if (!xdr_int (xdrs, &objp->session_persist_pend_timeout))
192 return FALSE;
193 if (!xdr_bool (xdrs, &objp->deny_local_tunnel_creates))
194 return FALSE;
195 if (!xdr_bool (xdrs, &objp->deny_remote_tunnel_creates))
196 return FALSE;
197 return TRUE;
198 }
199
200 bool_t
201 xdr_l2tp_api_system_msg_stats (XDR *xdrs, l2tp_api_system_msg_stats *objp)
202 {
203 register int32_t *buf;
204
205 if (!xdr_uint32_t (xdrs, &objp->rx))
206 return FALSE;
207 if (!xdr_uint32_t (xdrs, &objp->tx))
208 return FALSE;
209 if (!xdr_uint32_t (xdrs, &objp->rx_bad))
210 return FALSE;
211 return TRUE;
212 }
213
214 bool_t
215 xdr_l2tp_api_system_stats (XDR *xdrs, l2tp_api_system_stats *objp)
216 {
217 register int32_t *buf;
218
219 if (!xdr_uint32_t (xdrs, &objp->short_frames))
220 return FALSE;
221 if (!xdr_uint32_t (xdrs, &objp->wrong_version_frames))
222 return FALSE;
223 if (!xdr_uint32_t (xdrs, &objp->unexpected_data_frames))
224 return FALSE;
225 if (!xdr_uint32_t (xdrs, &objp->bad_rcvd_frames))
226 return FALSE;
227 if (!xdr_uint32_t (xdrs, &objp->total_rcvd_control_frames))
228 return FALSE;
229 if (!xdr_uint32_t (xdrs, &objp->total_sent_control_frames))
230 return FALSE;
231 if (!xdr_uint32_t (xdrs, &objp->total_control_frame_send_fails))
232 return FALSE;
233 if (!xdr_uint32_t (xdrs, &objp->total_retransmitted_control_frames))
234 return FALSE;
235 if (!xdr_uint32_t (xdrs, &objp->no_control_frame_resources))
236 return FALSE;
237 if (!xdr_uint32_t (xdrs, &objp->no_peer_resources))
238 return FALSE;
239 if (!xdr_uint32_t (xdrs, &objp->no_tunnel_resources))
240 return FALSE;
241 if (!xdr_uint32_t (xdrs, &objp->no_session_resources))
242 return FALSE;
243 if (!xdr_uint32_t (xdrs, &objp->no_ppp_resources))
244 return FALSE;
245 if (!xdr_uint32_t (xdrs, &objp->too_many_tunnels))
246 return FALSE;
247 if (!xdr_uint32_t (xdrs, &objp->too_many_sessions))
248 return FALSE;
249 if (!xdr_uint32_t (xdrs, &objp->auth_fails))
250 return FALSE;
251 if (!xdr_uint32_t (xdrs, &objp->no_matching_tunnel_id_discards))
252 return FALSE;
253 if (!xdr_uint32_t (xdrs, &objp->no_matching_session_id_discards))
254 return FALSE;
255 if (!xdr_uint32_t (xdrs, &objp->mismatched_tunnel_ids))
256 return FALSE;
257 if (!xdr_uint32_t (xdrs, &objp->mismatched_session_ids))
258 return FALSE;
259 if (!xdr_uint32_t (xdrs, &objp->encode_message_fails))
260 return FALSE;
261 if (!xdr_uint32_t (xdrs, &objp->tunnel_setup_failures))
262 return FALSE;
263 if (!xdr_uint32_t (xdrs, &objp->session_setup_failures))
264 return FALSE;
265 if (!xdr_uint32_t (xdrs, &objp->event_queue_full_errors))
266 return FALSE;
267 if (!xdr_uint32_t (xdrs, &objp->ignored_avps))
268 return FALSE;
269 if (!xdr_uint32_t (xdrs, &objp->vendor_avps))
270 return FALSE;
271 if (!xdr_uint32_t (xdrs, &objp->illegal_messages))
272 return FALSE;
273 if (!xdr_uint32_t (xdrs, &objp->unsupported_messages))
274 return FALSE;
275 if (!xdr_array (xdrs, (char **)&objp->messages.messages_val, (u_int *) &objp->messages.messages_len, L2TP_API_MSG_TYPE_COUNT,
276 sizeof (l2tp_api_system_msg_stats), (xdrproc_t) xdr_l2tp_api_system_msg_stats))
277 return FALSE;
278 return TRUE;
279 }
280
281 bool_t
282 xdr_l2tp_api_system_status (XDR *xdrs, l2tp_api_system_status *objp)
283 {
284 register int32_t *buf;
285
286 if (!xdr_l2tp_api_system_stats (xdrs, &objp->stats))
287 return FALSE;
288 if (!xdr_uint32_t (xdrs, &objp->num_tunnels))
289 return FALSE;
290 if (!xdr_uint32_t (xdrs, &objp->num_sessions))
291 return FALSE;
292 return TRUE;
293 }
294
295 bool_t
296 xdr_l2tp_api_system_msg_data (XDR *xdrs, l2tp_api_system_msg_data *objp)
297 {
298 register int32_t *buf;
299
300 if (!xdr_l2tp_api_system_config (xdrs, &objp->config))
301 return FALSE;
302 if (!xdr_l2tp_api_system_status (xdrs, &objp->status))
303 return FALSE;
304 return TRUE;
305 }
306
307 bool_t
308 xdr_l2tp_api_peer_msg_data (XDR *xdrs, l2tp_api_peer_msg_data *objp)
309 {
310 register int32_t *buf;
311
312 if (!xdr_int (xdrs, &objp->result_code))
313 return FALSE;
314 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->peer_addr))
315 return FALSE;
316 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->local_addr))
317 return FALSE;
318 if (!xdr_int (xdrs, &objp->num_tunnels))
319 return FALSE;
320 return TRUE;
321 }
322
323 bool_t
324 xdr_l2tp_api_peer_list_entry (XDR *xdrs, l2tp_api_peer_list_entry *objp)
325 {
326 register int32_t *buf;
327
328 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->peer_addr))
329 return FALSE;
330 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->local_addr))
331 return FALSE;
332 if (!xdr_pointer (xdrs, (char **)&objp->next, sizeof (l2tp_api_peer_list_entry), (xdrproc_t) xdr_l2tp_api_peer_list_entry))
333 return FALSE;
334 return TRUE;
335 }
336
337 bool_t
338 xdr_l2tp_api_peer_list_msg_data (XDR *xdrs, l2tp_api_peer_list_msg_data *objp)
339 {
340 register int32_t *buf;
341
342 if (!xdr_int (xdrs, &objp->result))
343 return FALSE;
344 if (!xdr_pointer (xdrs, (char **)&objp->peers, sizeof (l2tp_api_peer_list_entry), (xdrproc_t) xdr_l2tp_api_peer_list_entry))
345 return FALSE;
346 return TRUE;
347 }
348
349 bool_t
350 xdr_l2tp_api_peer_profile_msg_data (XDR *xdrs, l2tp_api_peer_profile_msg_data *objp)
351 {
352 register int32_t *buf;
353
354 if (!xdr_uint32_t (xdrs, &objp->flags))
355 return FALSE;
356 if (!xdr_int (xdrs, &objp->result_code))
357 return FALSE;
358 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->peer_addr))
359 return FALSE;
360 if (!xdr_uint16_t (xdrs, &objp->peer_port))
361 return FALSE;
362 if (!xdr_bool (xdrs, &objp->we_can_be_lac))
363 return FALSE;
364 if (!xdr_bool (xdrs, &objp->we_can_be_lns))
365 return FALSE;
366 if (!xdr_string (xdrs, &objp->profile_name, ~0))
367 return FALSE;
368 if (!xdr_optstring (xdrs, &objp->default_tunnel_profile_name))
369 return FALSE;
370 if (!xdr_optstring (xdrs, &objp->default_session_profile_name))
371 return FALSE;
372 if (!xdr_optstring (xdrs, &objp->default_ppp_profile_name))
373 return FALSE;
374 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->netmask))
375 return FALSE;
376 if (!xdr_int (xdrs, &objp->use_count))
377 return FALSE;
378 return TRUE;
379 }
380
381 bool_t
382 xdr_l2tp_api_peer_profile_list_entry (XDR *xdrs, l2tp_api_peer_profile_list_entry *objp)
383 {
384 register int32_t *buf;
385
386 if (!xdr_string (xdrs, &objp->profile_name, ~0))
387 return FALSE;
388 if (!xdr_pointer (xdrs, (char **)&objp->next, sizeof (l2tp_api_peer_profile_list_entry), (xdrproc_t) xdr_l2tp_api_peer_profile_list_entry))
389 return FALSE;
390 return TRUE;
391 }
392
393 bool_t
394 xdr_l2tp_api_peer_profile_list_msg_data (XDR *xdrs, l2tp_api_peer_profile_list_msg_data *objp)
395 {
396 register int32_t *buf;
397
398 if (!xdr_int (xdrs, &objp->result))
399 return FALSE;
400 if (!xdr_int (xdrs, &objp->num_profiles))
401 return FALSE;
402 if (!xdr_pointer (xdrs, (char **)&objp->profiles, sizeof (l2tp_api_peer_profile_list_entry), (xdrproc_t) xdr_l2tp_api_peer_profile_list_entry))
403 return FALSE;
404 return TRUE;
405 }
406
407 bool_t
408 xdr_l2tp_api_peer_profile_unset_msg_data (XDR *xdrs, l2tp_api_peer_profile_unset_msg_data *objp)
409 {
410 register int32_t *buf;
411
412 if (!xdr_uint32_t (xdrs, &objp->flags))
413 return FALSE;
414 if (!xdr_int (xdrs, &objp->result_code))
415 return FALSE;
416 if (!xdr_string (xdrs, &objp->profile_name, ~0))
417 return FALSE;
418 return TRUE;
419 }
420
421 bool_t
422 xdr_l2tp_api_tunnel_peer (XDR *xdrs, l2tp_api_tunnel_peer *objp)
423 {
424 register int32_t *buf;
425
426
427 if (xdrs->x_op == XDR_ENCODE) {
428 buf = XDR_INLINE (xdrs, 4 * BYTES_PER_XDR_UNIT);
429 if (buf == NULL) {
430 if (!xdr_bool (xdrs, &objp->framing_cap_sync))
431 return FALSE;
432 if (!xdr_bool (xdrs, &objp->framing_cap_async))
433 return FALSE;
434 if (!xdr_bool (xdrs, &objp->bearer_cap_digital))
435 return FALSE;
436 if (!xdr_bool (xdrs, &objp->bearer_cap_analog))
437 return FALSE;
438
439 } else {
440 IXDR_PUT_BOOL(buf, objp->framing_cap_sync);
441 IXDR_PUT_BOOL(buf, objp->framing_cap_async);
442 IXDR_PUT_BOOL(buf, objp->bearer_cap_digital);
443 IXDR_PUT_BOOL(buf, objp->bearer_cap_analog);
444 }
445 if (!xdr_uint8_t (xdrs, &objp->protocol_version_ver))
446 return FALSE;
447 if (!xdr_uint8_t (xdrs, &objp->protocol_version_rev))
448 return FALSE;
449 if (!xdr_uint16_t (xdrs, &objp->rx_window_size))
450 return FALSE;
451 if (!xdr_uint16_t (xdrs, &objp->firmware_revision))
452 return FALSE;
453 if (!xdr_optstring (xdrs, &objp->host_name))
454 return FALSE;
455 if (!xdr_optstring (xdrs, &objp->vendor_name))
456 return FALSE;
457 if (!xdr_array (xdrs, (char **)&objp->tiebreaker.tiebreaker_val, (u_int *) &objp->tiebreaker.tiebreaker_len, 8,
458 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
459 return FALSE;
460 if (!xdr_uint16_t (xdrs, &objp->result_code_result))
461 return FALSE;
462 if (!xdr_uint16_t (xdrs, &objp->result_code_error))
463 return FALSE;
464 if (!xdr_optstring (xdrs, &objp->result_code_message))
465 return FALSE;
466 return TRUE;
467 } else if (xdrs->x_op == XDR_DECODE) {
468 buf = XDR_INLINE (xdrs, 4 * BYTES_PER_XDR_UNIT);
469 if (buf == NULL) {
470 if (!xdr_bool (xdrs, &objp->framing_cap_sync))
471 return FALSE;
472 if (!xdr_bool (xdrs, &objp->framing_cap_async))
473 return FALSE;
474 if (!xdr_bool (xdrs, &objp->bearer_cap_digital))
475 return FALSE;
476 if (!xdr_bool (xdrs, &objp->bearer_cap_analog))
477 return FALSE;
478
479 } else {
480 objp->framing_cap_sync = IXDR_GET_BOOL(buf);
481 objp->framing_cap_async = IXDR_GET_BOOL(buf);
482 objp->bearer_cap_digital = IXDR_GET_BOOL(buf);
483 objp->bearer_cap_analog = IXDR_GET_BOOL(buf);
484 }
485 if (!xdr_uint8_t (xdrs, &objp->protocol_version_ver))
486 return FALSE;
487 if (!xdr_uint8_t (xdrs, &objp->protocol_version_rev))
488 return FALSE;
489 if (!xdr_uint16_t (xdrs, &objp->rx_window_size))
490 return FALSE;
491 if (!xdr_uint16_t (xdrs, &objp->firmware_revision))
492 return FALSE;
493 if (!xdr_optstring (xdrs, &objp->host_name))
494 return FALSE;
495 if (!xdr_optstring (xdrs, &objp->vendor_name))
496 return FALSE;
497 if (!xdr_array (xdrs, (char **)&objp->tiebreaker.tiebreaker_val, (u_int *) &objp->tiebreaker.tiebreaker_len, 8,
498 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
499 return FALSE;
500 if (!xdr_uint16_t (xdrs, &objp->result_code_result))
501 return FALSE;
502 if (!xdr_uint16_t (xdrs, &objp->result_code_error))
503 return FALSE;
504 if (!xdr_optstring (xdrs, &objp->result_code_message))
505 return FALSE;
506 return TRUE;
507 }
508
509 if (!xdr_bool (xdrs, &objp->framing_cap_sync))
510 return FALSE;
511 if (!xdr_bool (xdrs, &objp->framing_cap_async))
512 return FALSE;
513 if (!xdr_bool (xdrs, &objp->bearer_cap_digital))
514 return FALSE;
515 if (!xdr_bool (xdrs, &objp->bearer_cap_analog))
516 return FALSE;
517 if (!xdr_uint8_t (xdrs, &objp->protocol_version_ver))
518 return FALSE;
519 if (!xdr_uint8_t (xdrs, &objp->protocol_version_rev))
520 return FALSE;
521 if (!xdr_uint16_t (xdrs, &objp->rx_window_size))
522 return FALSE;
523 if (!xdr_uint16_t (xdrs, &objp->firmware_revision))
524 return FALSE;
525 if (!xdr_optstring (xdrs, &objp->host_name))
526 return FALSE;
527 if (!xdr_optstring (xdrs, &objp->vendor_name))
528 return FALSE;
529 if (!xdr_array (xdrs, (char **)&objp->tiebreaker.tiebreaker_val, (u_int *) &objp->tiebreaker.tiebreaker_len, 8,
530 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
531 return FALSE;
532 if (!xdr_uint16_t (xdrs, &objp->result_code_result))
533 return FALSE;
534 if (!xdr_uint16_t (xdrs, &objp->result_code_error))
535 return FALSE;
536 if (!xdr_optstring (xdrs, &objp->result_code_message))
537 return FALSE;
538 return TRUE;
539 }
540
541 bool_t
542 xdr_l2tp_api_tunnel_stats (XDR *xdrs, l2tp_api_tunnel_stats *objp)
543 {
544 register int32_t *buf;
545
546 if (!xdr_uint32_t (xdrs, &objp->retransmits))
547 return FALSE;
548 if (!xdr_uint32_t (xdrs, &objp->tx_zlbs))
549 return FALSE;
550 if (!xdr_uint32_t (xdrs, &objp->tx_zlb_fails))
551 return FALSE;
552 if (!xdr_uint32_t (xdrs, &objp->rx_zlbs))
553 return FALSE;
554 if (!xdr_uint32_t (xdrs, &objp->data_pkt_discards))
555 return FALSE;
556 if (!xdr_uint32_t (xdrs, &objp->duplicate_pkt_discards))
557 return FALSE;
558 if (!xdr_uint32_t (xdrs, &objp->rx_hellos))
559 return FALSE;
560 if (!xdr_uint32_t (xdrs, &objp->tx_hellos))
561 return FALSE;
562 if (!xdr_uint32_t (xdrs, &objp->tx_hello_fails))
563 return FALSE;
564 if (!xdr_uint16_t (xdrs, &objp->ns))
565 return FALSE;
566 if (!xdr_uint16_t (xdrs, &objp->nr))
567 return FALSE;
568 if (!xdr_uint16_t (xdrs, &objp->peer_ns))
569 return FALSE;
570 if (!xdr_uint16_t (xdrs, &objp->peer_nr))
571 return FALSE;
572 if (!xdr_uint16_t (xdrs, &objp->cwnd))
573 return FALSE;
574 if (!xdr_uint16_t (xdrs, &objp->ssthresh))
575 return FALSE;
576 if (!xdr_uint16_t (xdrs, &objp->congpkt_acc))
577 return FALSE;
578 if (!xdr_uint64_t (xdrs, &objp->control_rx_packets))
579 return FALSE;
580 if (!xdr_uint64_t (xdrs, &objp->control_rx_bytes))
581 return FALSE;
582 if (!xdr_uint64_t (xdrs, &objp->control_rx_oos_packets))
583 return FALSE;
584 if (!xdr_uint64_t (xdrs, &objp->control_rx_oos_discards))
585 return FALSE;
586 if (!xdr_uint64_t (xdrs, &objp->control_tx_packets))
587 return FALSE;
588 if (!xdr_uint64_t (xdrs, &objp->control_tx_bytes))
589 return FALSE;
590 if (!xdr_uint64_t (xdrs, &objp->data_rx_packets))
591 return FALSE;
592 if (!xdr_uint64_t (xdrs, &objp->data_rx_bytes))
593 return FALSE;
594 if (!xdr_uint64_t (xdrs, &objp->data_rx_errors))
595 return FALSE;
596 if (!xdr_uint64_t (xdrs, &objp->data_rx_oos_packets))
597 return FALSE;
598 if (!xdr_uint64_t (xdrs, &objp->data_rx_oos_discards))
599 return FALSE;
600 if (!xdr_uint64_t (xdrs, &objp->data_tx_packets))
601 return FALSE;
602 if (!xdr_uint64_t (xdrs, &objp->data_tx_bytes))
603 return FALSE;
604 if (!xdr_uint64_t (xdrs, &objp->data_tx_errors))
605 return FALSE;
606 if (!xdr_bool (xdrs, &objp->using_ipsec))
607 return FALSE;
608 return TRUE;
609 }
610
611 bool_t
612 xdr_l2tp_api_tunnel_msg_data (XDR *xdrs, l2tp_api_tunnel_msg_data *objp)
613 {
614 register int32_t *buf;
615
616
617 if (xdrs->x_op == XDR_ENCODE) {
618 if (!xdr_uint32_t (xdrs, &objp->flags))
619 return FALSE;
620 if (!xdr_uint32_t (xdrs, &objp->flags2))
621 return FALSE;
622 if (!xdr_uint16_t (xdrs, &objp->tunnel_id))
623 return FALSE;
624 if (!xdr_uint16_t (xdrs, &objp->peer_tunnel_id))
625 return FALSE;
626 if (!xdr_int (xdrs, &objp->result_code))
627 return FALSE;
628 if (!xdr_int (xdrs, &objp->hide_avps))
629 return FALSE;
630 if (!xdr_optstring (xdrs, &objp->tunnel_name))
631 return FALSE;
632 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->our_addr))
633 return FALSE;
634 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->peer_addr))
635 return FALSE;
636 if (!xdr_uint16_t (xdrs, &objp->our_udp_port))
637 return FALSE;
638 if (!xdr_uint16_t (xdrs, &objp->peer_udp_port))
639 return FALSE;
640 if (!xdr_int (xdrs, &objp->config_id))
641 return FALSE;
642 if (!xdr_l2tp_api_tunnel_auth_mode (xdrs, &objp->auth_mode))
643 return FALSE;
644 buf = XDR_INLINE (xdrs, 8 * BYTES_PER_XDR_UNIT);
645 if (buf == NULL) {
646 if (!xdr_bool (xdrs, &objp->framing_cap_sync))
647 return FALSE;
648 if (!xdr_bool (xdrs, &objp->framing_cap_async))
649 return FALSE;
650 if (!xdr_bool (xdrs, &objp->bearer_cap_digital))
651 return FALSE;
652 if (!xdr_bool (xdrs, &objp->bearer_cap_analog))
653 return FALSE;
654 if (!xdr_bool (xdrs, &objp->use_tiebreaker))
655 return FALSE;
656 if (!xdr_bool (xdrs, &objp->allow_ppp_proxy))
657 return FALSE;
658 if (!xdr_bool (xdrs, &objp->use_udp_checksums))
659 return FALSE;
660 if (!xdr_bool (xdrs, &objp->created_by_admin))
661 return FALSE;
662
663 } else {
664 IXDR_PUT_BOOL(buf, objp->framing_cap_sync);
665 IXDR_PUT_BOOL(buf, objp->framing_cap_async);
666 IXDR_PUT_BOOL(buf, objp->bearer_cap_digital);
667 IXDR_PUT_BOOL(buf, objp->bearer_cap_analog);
668 IXDR_PUT_BOOL(buf, objp->use_tiebreaker);
669 IXDR_PUT_BOOL(buf, objp->allow_ppp_proxy);
670 IXDR_PUT_BOOL(buf, objp->use_udp_checksums);
671 IXDR_PUT_BOOL(buf, objp->created_by_admin);
672 }
673 if (!xdr_optstring (xdrs, &objp->create_time))
674 return FALSE;
675 buf = XDR_INLINE (xdrs, 4 * BYTES_PER_XDR_UNIT);
676 if (buf == NULL) {
677 if (!xdr_int (xdrs, &objp->max_sessions))
678 return FALSE;
679 if (!xdr_int (xdrs, &objp->num_sessions))
680 return FALSE;
681 if (!xdr_int (xdrs, &objp->use_count))
682 return FALSE;
683 if (!xdr_int (xdrs, &objp->num_establish_retries))
684 return FALSE;
685
686 } else {
687 IXDR_PUT_LONG(buf, objp->max_sessions);
688 IXDR_PUT_LONG(buf, objp->num_sessions);
689 IXDR_PUT_LONG(buf, objp->use_count);
690 IXDR_PUT_LONG(buf, objp->num_establish_retries);
691 }
692 if (!xdr_l2tp_api_tunnel_mode (xdrs, &objp->mode))
693 return FALSE;
694 if (!xdr_int (xdrs, &objp->hello_timeout))
695 return FALSE;
696 if (!xdr_int (xdrs, &objp->max_retries))
697 return FALSE;
698 if (!xdr_uint16_t (xdrs, &objp->rx_window_size))
699 return FALSE;
700 if (!xdr_uint16_t (xdrs, &objp->tx_window_size))
701 return FALSE;
702 if (!xdr_uint16_t (xdrs, &objp->actual_tx_window_size))
703 return FALSE;
704 if (!xdr_int (xdrs, &objp->retry_timeout))
705 return FALSE;
706 if (!xdr_int (xdrs, &objp->idle_timeout))
707 return FALSE;
708 if (!xdr_uint32_t (xdrs, &objp->trace_flags))
709 return FALSE;
710 if (!xdr_uint32_t (xdrs, &objp->trace_flags_mask))
711 return FALSE;
712 buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT);
713 if (buf == NULL) {
714 if (!xdr_bool (xdrs, &objp->do_pmtu_discovery))
715 return FALSE;
716 if (!xdr_bool (xdrs, &objp->persist))
717 return FALSE;
718 if (!xdr_int (xdrs, &objp->mtu))
719 return FALSE;
720
721 } else {
722 IXDR_PUT_BOOL(buf, objp->do_pmtu_discovery);
723 IXDR_PUT_BOOL(buf, objp->persist);
724 IXDR_PUT_LONG(buf, objp->mtu);
725 }
726 if (!xdr_optstring (xdrs, &objp->state))
727 return FALSE;
728 if (!xdr_optstring (xdrs, &objp->secret))
729 return FALSE;
730 if (!xdr_optstring (xdrs, &objp->host_name))
731 return FALSE;
732 if (!xdr_optstring (xdrs, &objp->tunnel_profile_name))
733 return FALSE;
734 if (!xdr_optstring (xdrs, &objp->peer_profile_name))
735 return FALSE;
736 if (!xdr_optstring (xdrs, &objp->session_profile_name))
737 return FALSE;
738 if (!xdr_optstring (xdrs, &objp->ppp_profile_name))
739 return FALSE;
740 if (!xdr_optstring (xdrs, &objp->interface_name))
741 return FALSE;
742 if (!xdr_array (xdrs, (char **)&objp->tiebreaker.tiebreaker_val, (u_int *) &objp->tiebreaker.tiebreaker_len, 8,
743 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
744 return FALSE;
745 if (!xdr_uint16_t (xdrs, &objp->result_code_result))
746 return FALSE;
747 if (!xdr_uint16_t (xdrs, &objp->result_code_error))
748 return FALSE;
749 if (!xdr_optstring (xdrs, &objp->result_code_message))
750 return FALSE;
751 if (!xdr_l2tp_api_tunnel_peer (xdrs, &objp->peer))
752 return FALSE;
753 if (!xdr_l2tp_api_tunnel_stats (xdrs, &objp->stats))
754 return FALSE;
755 return TRUE;
756 } else if (xdrs->x_op == XDR_DECODE) {
757 if (!xdr_uint32_t (xdrs, &objp->flags))
758 return FALSE;
759 if (!xdr_uint32_t (xdrs, &objp->flags2))
760 return FALSE;
761 if (!xdr_uint16_t (xdrs, &objp->tunnel_id))
762 return FALSE;
763 if (!xdr_uint16_t (xdrs, &objp->peer_tunnel_id))
764 return FALSE;
765 if (!xdr_int (xdrs, &objp->result_code))
766 return FALSE;
767 if (!xdr_int (xdrs, &objp->hide_avps))
768 return FALSE;
769 if (!xdr_optstring (xdrs, &objp->tunnel_name))
770 return FALSE;
771 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->our_addr))
772 return FALSE;
773 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->peer_addr))
774 return FALSE;
775 if (!xdr_uint16_t (xdrs, &objp->our_udp_port))
776 return FALSE;
777 if (!xdr_uint16_t (xdrs, &objp->peer_udp_port))
778 return FALSE;
779 if (!xdr_int (xdrs, &objp->config_id))
780 return FALSE;
781 if (!xdr_l2tp_api_tunnel_auth_mode (xdrs, &objp->auth_mode))
782 return FALSE;
783 buf = XDR_INLINE (xdrs, 8 * BYTES_PER_XDR_UNIT);
784 if (buf == NULL) {
785 if (!xdr_bool (xdrs, &objp->framing_cap_sync))
786 return FALSE;
787 if (!xdr_bool (xdrs, &objp->framing_cap_async))
788 return FALSE;
789 if (!xdr_bool (xdrs, &objp->bearer_cap_digital))
790 return FALSE;
791 if (!xdr_bool (xdrs, &objp->bearer_cap_analog))
792 return FALSE;
793 if (!xdr_bool (xdrs, &objp->use_tiebreaker))
794 return FALSE;
795 if (!xdr_bool (xdrs, &objp->allow_ppp_proxy))
796 return FALSE;
797 if (!xdr_bool (xdrs, &objp->use_udp_checksums))
798 return FALSE;
799 if (!xdr_bool (xdrs, &objp->created_by_admin))
800 return FALSE;
801
802 } else {
803 objp->framing_cap_sync = IXDR_GET_BOOL(buf);
804 objp->framing_cap_async = IXDR_GET_BOOL(buf);
805 objp->bearer_cap_digital = IXDR_GET_BOOL(buf);
806 objp->bearer_cap_analog = IXDR_GET_BOOL(buf);
807 objp->use_tiebreaker = IXDR_GET_BOOL(buf);
808 objp->allow_ppp_proxy = IXDR_GET_BOOL(buf);
809 objp->use_udp_checksums = IXDR_GET_BOOL(buf);
810 objp->created_by_admin = IXDR_GET_BOOL(buf);
811 }
812 if (!xdr_optstring (xdrs, &objp->create_time))
813 return FALSE;
814 buf = XDR_INLINE (xdrs, 4 * BYTES_PER_XDR_UNIT);
815 if (buf == NULL) {
816 if (!xdr_int (xdrs, &objp->max_sessions))
817 return FALSE;
818 if (!xdr_int (xdrs, &objp->num_sessions))
819 return FALSE;
820 if (!xdr_int (xdrs, &objp->use_count))
821 return FALSE;
822 if (!xdr_int (xdrs, &objp->num_establish_retries))
823 return FALSE;
824
825 } else {
826 objp->max_sessions = IXDR_GET_LONG(buf);
827 objp->num_sessions = IXDR_GET_LONG(buf);
828 objp->use_count = IXDR_GET_LONG(buf);
829 objp->num_establish_retries = IXDR_GET_LONG(buf);
830 }
831 if (!xdr_l2tp_api_tunnel_mode (xdrs, &objp->mode))
832 return FALSE;
833 if (!xdr_int (xdrs, &objp->hello_timeout))
834 return FALSE;
835 if (!xdr_int (xdrs, &objp->max_retries))
836 return FALSE;
837 if (!xdr_uint16_t (xdrs, &objp->rx_window_size))
838 return FALSE;
839 if (!xdr_uint16_t (xdrs, &objp->tx_window_size))
840 return FALSE;
841 if (!xdr_uint16_t (xdrs, &objp->actual_tx_window_size))
842 return FALSE;
843 if (!xdr_int (xdrs, &objp->retry_timeout))
844 return FALSE;
845 if (!xdr_int (xdrs, &objp->idle_timeout))
846 return FALSE;
847 if (!xdr_uint32_t (xdrs, &objp->trace_flags))
848 return FALSE;
849 if (!xdr_uint32_t (xdrs, &objp->trace_flags_mask))
850 return FALSE;
851 buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT);
852 if (buf == NULL) {
853 if (!xdr_bool (xdrs, &objp->do_pmtu_discovery))
854 return FALSE;
855 if (!xdr_bool (xdrs, &objp->persist))
856 return FALSE;
857 if (!xdr_int (xdrs, &objp->mtu))
858 return FALSE;
859
860 } else {
861 objp->do_pmtu_discovery = IXDR_GET_BOOL(buf);
862 objp->persist = IXDR_GET_BOOL(buf);
863 objp->mtu = IXDR_GET_LONG(buf);
864 }
865 if (!xdr_optstring (xdrs, &objp->state))
866 return FALSE;
867 if (!xdr_optstring (xdrs, &objp->secret))
868 return FALSE;
869 if (!xdr_optstring (xdrs, &objp->host_name))
870 return FALSE;
871 if (!xdr_optstring (xdrs, &objp->tunnel_profile_name))
872 return FALSE;
873 if (!xdr_optstring (xdrs, &objp->peer_profile_name))
874 return FALSE;
875 if (!xdr_optstring (xdrs, &objp->session_profile_name))
876 return FALSE;
877 if (!xdr_optstring (xdrs, &objp->ppp_profile_name))
878 return FALSE;
879 if (!xdr_optstring (xdrs, &objp->interface_name))
880 return FALSE;
881 if (!xdr_array (xdrs, (char **)&objp->tiebreaker.tiebreaker_val, (u_int *) &objp->tiebreaker.tiebreaker_len, 8,
882 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
883 return FALSE;
884 if (!xdr_uint16_t (xdrs, &objp->result_code_result))
885 return FALSE;
886 if (!xdr_uint16_t (xdrs, &objp->result_code_error))
887 return FALSE;
888 if (!xdr_optstring (xdrs, &objp->result_code_message))
889 return FALSE;
890 if (!xdr_l2tp_api_tunnel_peer (xdrs, &objp->peer))
891 return FALSE;
892 if (!xdr_l2tp_api_tunnel_stats (xdrs, &objp->stats))
893 return FALSE;
894 return TRUE;
895 }
896
897 if (!xdr_uint32_t (xdrs, &objp->flags))
898 return FALSE;
899 if (!xdr_uint32_t (xdrs, &objp->flags2))
900 return FALSE;
901 if (!xdr_uint16_t (xdrs, &objp->tunnel_id))
902 return FALSE;
903 if (!xdr_uint16_t (xdrs, &objp->peer_tunnel_id))
904 return FALSE;
905 if (!xdr_int (xdrs, &objp->result_code))
906 return FALSE;
907 if (!xdr_int (xdrs, &objp->hide_avps))
908 return FALSE;
909 if (!xdr_optstring (xdrs, &objp->tunnel_name))
910 return FALSE;
911 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->our_addr))
912 return FALSE;
913 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->peer_addr))
914 return FALSE;
915 if (!xdr_uint16_t (xdrs, &objp->our_udp_port))
916 return FALSE;
917 if (!xdr_uint16_t (xdrs, &objp->peer_udp_port))
918 return FALSE;
919 if (!xdr_int (xdrs, &objp->config_id))
920 return FALSE;
921 if (!xdr_l2tp_api_tunnel_auth_mode (xdrs, &objp->auth_mode))
922 return FALSE;
923 if (!xdr_bool (xdrs, &objp->framing_cap_sync))
924 return FALSE;
925 if (!xdr_bool (xdrs, &objp->framing_cap_async))
926 return FALSE;
927 if (!xdr_bool (xdrs, &objp->bearer_cap_digital))
928 return FALSE;
929 if (!xdr_bool (xdrs, &objp->bearer_cap_analog))
930 return FALSE;
931 if (!xdr_bool (xdrs, &objp->use_tiebreaker))
932 return FALSE;
933 if (!xdr_bool (xdrs, &objp->allow_ppp_proxy))
934 return FALSE;
935 if (!xdr_bool (xdrs, &objp->use_udp_checksums))
936 return FALSE;
937 if (!xdr_bool (xdrs, &objp->created_by_admin))
938 return FALSE;
939 if (!xdr_optstring (xdrs, &objp->create_time))
940 return FALSE;
941 if (!xdr_int (xdrs, &objp->max_sessions))
942 return FALSE;
943 if (!xdr_int (xdrs, &objp->num_sessions))
944 return FALSE;
945 if (!xdr_int (xdrs, &objp->use_count))
946 return FALSE;
947 if (!xdr_int (xdrs, &objp->num_establish_retries))
948 return FALSE;
949 if (!xdr_l2tp_api_tunnel_mode (xdrs, &objp->mode))
950 return FALSE;
951 if (!xdr_int (xdrs, &objp->hello_timeout))
952 return FALSE;
953 if (!xdr_int (xdrs, &objp->max_retries))
954 return FALSE;
955 if (!xdr_uint16_t (xdrs, &objp->rx_window_size))
956 return FALSE;
957 if (!xdr_uint16_t (xdrs, &objp->tx_window_size))
958 return FALSE;
959 if (!xdr_uint16_t (xdrs, &objp->actual_tx_window_size))
960 return FALSE;
961 if (!xdr_int (xdrs, &objp->retry_timeout))
962 return FALSE;
963 if (!xdr_int (xdrs, &objp->idle_timeout))
964 return FALSE;
965 if (!xdr_uint32_t (xdrs, &objp->trace_flags))
966 return FALSE;
967 if (!xdr_uint32_t (xdrs, &objp->trace_flags_mask))
968 return FALSE;
969 if (!xdr_bool (xdrs, &objp->do_pmtu_discovery))
970 return FALSE;
971 if (!xdr_bool (xdrs, &objp->persist))
972 return FALSE;
973 if (!xdr_int (xdrs, &objp->mtu))
974 return FALSE;
975 if (!xdr_optstring (xdrs, &objp->state))
976 return FALSE;
977 if (!xdr_optstring (xdrs, &objp->secret))
978 return FALSE;
979 if (!xdr_optstring (xdrs, &objp->host_name))
980 return FALSE;
981 if (!xdr_optstring (xdrs, &objp->tunnel_profile_name))
982 return FALSE;
983 if (!xdr_optstring (xdrs, &objp->peer_profile_name))
984 return FALSE;
985 if (!xdr_optstring (xdrs, &objp->session_profile_name))
986 return FALSE;
987 if (!xdr_optstring (xdrs, &objp->ppp_profile_name))
988 return FALSE;
989 if (!xdr_optstring (xdrs, &objp->interface_name))
990 return FALSE;
991 if (!xdr_array (xdrs, (char **)&objp->tiebreaker.tiebreaker_val, (u_int *) &objp->tiebreaker.tiebreaker_len, 8,
992 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
993 return FALSE;
994 if (!xdr_uint16_t (xdrs, &objp->result_code_result))
995 return FALSE;
996 if (!xdr_uint16_t (xdrs, &objp->result_code_error))
997 return FALSE;
998 if (!xdr_optstring (xdrs, &objp->result_code_message))
999 return FALSE;
1000 if (!xdr_l2tp_api_tunnel_peer (xdrs, &objp->peer))
1001 return FALSE;
1002 if (!xdr_l2tp_api_tunnel_stats (xdrs, &objp->stats))
1003 return FALSE;
1004 return TRUE;
1005 }
1006
1007 bool_t
1008 xdr_l2tp_api_tunnel_list_msg_data (XDR *xdrs, l2tp_api_tunnel_list_msg_data *objp)
1009 {
1010 register int32_t *buf;
1011
1012 if (!xdr_int (xdrs, &objp->result))
1013 return FALSE;
1014 if (!xdr_array (xdrs, (char **)&objp->tunnel_ids.tunnel_ids_val, (u_int *) &objp->tunnel_ids.tunnel_ids_len, ~0,
1015 sizeof (uint16_t), (xdrproc_t) xdr_uint16_t))
1016 return FALSE;
1017 return TRUE;
1018 }
1019
1020 bool_t
1021 xdr_l2tp_api_tunnel_profile_msg_data (XDR *xdrs, l2tp_api_tunnel_profile_msg_data *objp)
1022 {
1023 register int32_t *buf;
1024
1025
1026 if (xdrs->x_op == XDR_ENCODE) {
1027 if (!xdr_uint32_t (xdrs, &objp->flags))
1028 return FALSE;
1029 if (!xdr_string (xdrs, &objp->profile_name, ~0))
1030 return FALSE;
1031 if (!xdr_int (xdrs, &objp->result_code))
1032 return FALSE;
1033 if (!xdr_int (xdrs, &objp->hide_avps))
1034 return FALSE;
1035 if (!xdr_l2tp_api_tunnel_auth_mode (xdrs, &objp->auth_mode))
1036 return FALSE;
1037 buf = XDR_INLINE (xdrs, 9 * BYTES_PER_XDR_UNIT);
1038 if (buf == NULL) {
1039 if (!xdr_bool (xdrs, &objp->framing_cap_sync))
1040 return FALSE;
1041 if (!xdr_bool (xdrs, &objp->framing_cap_async))
1042 return FALSE;
1043 if (!xdr_bool (xdrs, &objp->bearer_cap_digital))
1044 return FALSE;
1045 if (!xdr_bool (xdrs, &objp->bearer_cap_analog))
1046 return FALSE;
1047 if (!xdr_bool (xdrs, &objp->use_tiebreaker))
1048 return FALSE;
1049 if (!xdr_bool (xdrs, &objp->allow_ppp_proxy))
1050 return FALSE;
1051 if (!xdr_bool (xdrs, &objp->use_udp_checksums))
1052 return FALSE;
1053 if (!xdr_int (xdrs, &objp->hello_timeout))
1054 return FALSE;
1055 if (!xdr_int (xdrs, &objp->max_retries))
1056 return FALSE;
1057
1058 } else {
1059 IXDR_PUT_BOOL(buf, objp->framing_cap_sync);
1060 IXDR_PUT_BOOL(buf, objp->framing_cap_async);
1061 IXDR_PUT_BOOL(buf, objp->bearer_cap_digital);
1062 IXDR_PUT_BOOL(buf, objp->bearer_cap_analog);
1063 IXDR_PUT_BOOL(buf, objp->use_tiebreaker);
1064 IXDR_PUT_BOOL(buf, objp->allow_ppp_proxy);
1065 IXDR_PUT_BOOL(buf, objp->use_udp_checksums);
1066 IXDR_PUT_LONG(buf, objp->hello_timeout);
1067 IXDR_PUT_LONG(buf, objp->max_retries);
1068 }
1069 if (!xdr_uint16_t (xdrs, &objp->rx_window_size))
1070 return FALSE;
1071 if (!xdr_uint16_t (xdrs, &objp->tx_window_size))
1072 return FALSE;
1073 if (!xdr_int (xdrs, &objp->retry_timeout))
1074 return FALSE;
1075 if (!xdr_int (xdrs, &objp->idle_timeout))
1076 return FALSE;
1077 if (!xdr_uint32_t (xdrs, &objp->trace_flags))
1078 return FALSE;
1079 if (!xdr_uint32_t (xdrs, &objp->trace_flags_mask))
1080 return FALSE;
1081 if (!xdr_int (xdrs, &objp->max_sessions))
1082 return FALSE;
1083 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->our_addr))
1084 return FALSE;
1085 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->peer_addr))
1086 return FALSE;
1087 if (!xdr_uint16_t (xdrs, &objp->our_udp_port))
1088 return FALSE;
1089 if (!xdr_uint16_t (xdrs, &objp->peer_udp_port))
1090 return FALSE;
1091 if (!xdr_bool (xdrs, &objp->do_pmtu_discovery))
1092 return FALSE;
1093 if (!xdr_int (xdrs, &objp->mtu))
1094 return FALSE;
1095 if (!xdr_optstring (xdrs, &objp->peer_profile_name))
1096 return FALSE;
1097 if (!xdr_optstring (xdrs, &objp->session_profile_name))
1098 return FALSE;
1099 if (!xdr_optstring (xdrs, &objp->ppp_profile_name))
1100 return FALSE;
1101 if (!xdr_optstring (xdrs, &objp->secret))
1102 return FALSE;
1103 if (!xdr_optstring (xdrs, &objp->host_name))
1104 return FALSE;
1105 return TRUE;
1106 } else if (xdrs->x_op == XDR_DECODE) {
1107 if (!xdr_uint32_t (xdrs, &objp->flags))
1108 return FALSE;
1109 if (!xdr_string (xdrs, &objp->profile_name, ~0))
1110 return FALSE;
1111 if (!xdr_int (xdrs, &objp->result_code))
1112 return FALSE;
1113 if (!xdr_int (xdrs, &objp->hide_avps))
1114 return FALSE;
1115 if (!xdr_l2tp_api_tunnel_auth_mode (xdrs, &objp->auth_mode))
1116 return FALSE;
1117 buf = XDR_INLINE (xdrs, 9 * BYTES_PER_XDR_UNIT);
1118 if (buf == NULL) {
1119 if (!xdr_bool (xdrs, &objp->framing_cap_sync))
1120 return FALSE;
1121 if (!xdr_bool (xdrs, &objp->framing_cap_async))
1122 return FALSE;
1123 if (!xdr_bool (xdrs, &objp->bearer_cap_digital))
1124 return FALSE;
1125 if (!xdr_bool (xdrs, &objp->bearer_cap_analog))
1126 return FALSE;
1127 if (!xdr_bool (xdrs, &objp->use_tiebreaker))
1128 return FALSE;
1129 if (!xdr_bool (xdrs, &objp->allow_ppp_proxy))
1130 return FALSE;
1131 if (!xdr_bool (xdrs, &objp->use_udp_checksums))
1132 return FALSE;
1133 if (!xdr_int (xdrs, &objp->hello_timeout))
1134 return FALSE;
1135 if (!xdr_int (xdrs, &objp->max_retries))
1136 return FALSE;
1137
1138 } else {
1139 objp->framing_cap_sync = IXDR_GET_BOOL(buf);
1140 objp->framing_cap_async = IXDR_GET_BOOL(buf);
1141 objp->bearer_cap_digital = IXDR_GET_BOOL(buf);
1142 objp->bearer_cap_analog = IXDR_GET_BOOL(buf);
1143 objp->use_tiebreaker = IXDR_GET_BOOL(buf);
1144 objp->allow_ppp_proxy = IXDR_GET_BOOL(buf);
1145 objp->use_udp_checksums = IXDR_GET_BOOL(buf);
1146 objp->hello_timeout = IXDR_GET_LONG(buf);
1147 objp->max_retries = IXDR_GET_LONG(buf);
1148 }
1149 if (!xdr_uint16_t (xdrs, &objp->rx_window_size))
1150 return FALSE;
1151 if (!xdr_uint16_t (xdrs, &objp->tx_window_size))
1152 return FALSE;
1153 if (!xdr_int (xdrs, &objp->retry_timeout))
1154 return FALSE;
1155 if (!xdr_int (xdrs, &objp->idle_timeout))
1156 return FALSE;
1157 if (!xdr_uint32_t (xdrs, &objp->trace_flags))
1158 return FALSE;
1159 if (!xdr_uint32_t (xdrs, &objp->trace_flags_mask))
1160 return FALSE;
1161 if (!xdr_int (xdrs, &objp->max_sessions))
1162 return FALSE;
1163 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->our_addr))
1164 return FALSE;
1165 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->peer_addr))
1166 return FALSE;
1167 if (!xdr_uint16_t (xdrs, &objp->our_udp_port))
1168 return FALSE;
1169 if (!xdr_uint16_t (xdrs, &objp->peer_udp_port))
1170 return FALSE;
1171 if (!xdr_bool (xdrs, &objp->do_pmtu_discovery))
1172 return FALSE;
1173 if (!xdr_int (xdrs, &objp->mtu))
1174 return FALSE;
1175 if (!xdr_optstring (xdrs, &objp->peer_profile_name))
1176 return FALSE;
1177 if (!xdr_optstring (xdrs, &objp->session_profile_name))
1178 return FALSE;
1179 if (!xdr_optstring (xdrs, &objp->ppp_profile_name))
1180 return FALSE;
1181 if (!xdr_optstring (xdrs, &objp->secret))
1182 return FALSE;
1183 if (!xdr_optstring (xdrs, &objp->host_name))
1184 return FALSE;
1185 return TRUE;
1186 }
1187
1188 if (!xdr_uint32_t (xdrs, &objp->flags))
1189 return FALSE;
1190 if (!xdr_string (xdrs, &objp->profile_name, ~0))
1191 return FALSE;
1192 if (!xdr_int (xdrs, &objp->result_code))
1193 return FALSE;
1194 if (!xdr_int (xdrs, &objp->hide_avps))
1195 return FALSE;
1196 if (!xdr_l2tp_api_tunnel_auth_mode (xdrs, &objp->auth_mode))
1197 return FALSE;
1198 if (!xdr_bool (xdrs, &objp->framing_cap_sync))
1199 return FALSE;
1200 if (!xdr_bool (xdrs, &objp->framing_cap_async))
1201 return FALSE;
1202 if (!xdr_bool (xdrs, &objp->bearer_cap_digital))
1203 return FALSE;
1204 if (!xdr_bool (xdrs, &objp->bearer_cap_analog))
1205 return FALSE;
1206 if (!xdr_bool (xdrs, &objp->use_tiebreaker))
1207 return FALSE;
1208 if (!xdr_bool (xdrs, &objp->allow_ppp_proxy))
1209 return FALSE;
1210 if (!xdr_bool (xdrs, &objp->use_udp_checksums))
1211 return FALSE;
1212 if (!xdr_int (xdrs, &objp->hello_timeout))
1213 return FALSE;
1214 if (!xdr_int (xdrs, &objp->max_retries))
1215 return FALSE;
1216 if (!xdr_uint16_t (xdrs, &objp->rx_window_size))
1217 return FALSE;
1218 if (!xdr_uint16_t (xdrs, &objp->tx_window_size))
1219 return FALSE;
1220 if (!xdr_int (xdrs, &objp->retry_timeout))
1221 return FALSE;
1222 if (!xdr_int (xdrs, &objp->idle_timeout))
1223 return FALSE;
1224 if (!xdr_uint32_t (xdrs, &objp->trace_flags))
1225 return FALSE;
1226 if (!xdr_uint32_t (xdrs, &objp->trace_flags_mask))
1227 return FALSE;
1228 if (!xdr_int (xdrs, &objp->max_sessions))
1229 return FALSE;
1230 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->our_addr))
1231 return FALSE;
1232 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->peer_addr))
1233 return FALSE;
1234 if (!xdr_uint16_t (xdrs, &objp->our_udp_port))
1235 return FALSE;
1236 if (!xdr_uint16_t (xdrs, &objp->peer_udp_port))
1237 return FALSE;
1238 if (!xdr_bool (xdrs, &objp->do_pmtu_discovery))
1239 return FALSE;
1240 if (!xdr_int (xdrs, &objp->mtu))
1241 return FALSE;
1242 if (!xdr_optstring (xdrs, &objp->peer_profile_name))
1243 return FALSE;
1244 if (!xdr_optstring (xdrs, &objp->session_profile_name))
1245 return FALSE;
1246 if (!xdr_optstring (xdrs, &objp->ppp_profile_name))
1247 return FALSE;
1248 if (!xdr_optstring (xdrs, &objp->secret))
1249 return FALSE;
1250 if (!xdr_optstring (xdrs, &objp->host_name))
1251 return FALSE;
1252 return TRUE;
1253 }
1254
1255 bool_t
1256 xdr_l2tp_api_tunnel_profile_list_entry (XDR *xdrs, l2tp_api_tunnel_profile_list_entry *objp)
1257 {
1258 register int32_t *buf;
1259
1260 if (!xdr_string (xdrs, &objp->profile_name, ~0))
1261 return FALSE;
1262 if (!xdr_pointer (xdrs, (char **)&objp->next, sizeof (l2tp_api_tunnel_profile_list_entry), (xdrproc_t) xdr_l2tp_api_tunnel_profile_list_entry))
1263 return FALSE;
1264 return TRUE;
1265 }
1266
1267 bool_t
1268 xdr_l2tp_api_tunnel_profile_list_msg_data (XDR *xdrs, l2tp_api_tunnel_profile_list_msg_data *objp)
1269 {
1270 register int32_t *buf;
1271
1272 if (!xdr_int (xdrs, &objp->result))
1273 return FALSE;
1274 if (!xdr_int (xdrs, &objp->num_profiles))
1275 return FALSE;
1276 if (!xdr_pointer (xdrs, (char **)&objp->profiles, sizeof (l2tp_api_tunnel_profile_list_entry), (xdrproc_t) xdr_l2tp_api_tunnel_profile_list_entry))
1277 return FALSE;
1278 return TRUE;
1279 }
1280
1281 bool_t
1282 xdr_l2tp_api_tunnel_profile_unset_msg_data (XDR *xdrs, l2tp_api_tunnel_profile_unset_msg_data *objp)
1283 {
1284 register int32_t *buf;
1285
1286 if (!xdr_uint32_t (xdrs, &objp->flags))
1287 return FALSE;
1288 if (!xdr_int (xdrs, &objp->result_code))
1289 return FALSE;
1290 if (!xdr_string (xdrs, &objp->profile_name, ~0))
1291 return FALSE;
1292 return TRUE;
1293 }
1294
1295 bool_t
1296 xdr_l2tp_api_session_proxy_auth_type (XDR *xdrs, l2tp_api_session_proxy_auth_type *objp)
1297 {
1298 register int32_t *buf;
1299
1300 if (!xdr_enum (xdrs, (enum_t *) objp))
1301 return FALSE;
1302 return TRUE;
1303 }
1304
1305 bool_t
1306 xdr_l2tp_api_session_call_errors (XDR *xdrs, l2tp_api_session_call_errors *objp)
1307 {
1308 register int32_t *buf;
1309
1310 if (!xdr_uint32_t (xdrs, &objp->crc_errors))
1311 return FALSE;
1312 if (!xdr_uint32_t (xdrs, &objp->framing_errors))
1313 return FALSE;
1314 if (!xdr_uint32_t (xdrs, &objp->hardware_overruns))
1315 return FALSE;
1316 if (!xdr_uint32_t (xdrs, &objp->buffer_overruns))
1317 return FALSE;
1318 if (!xdr_uint32_t (xdrs, &objp->timeout_errors))
1319 return FALSE;
1320 if (!xdr_uint32_t (xdrs, &objp->alignment_errors))
1321 return FALSE;
1322 return TRUE;
1323 }
1324
1325 bool_t
1326 xdr_l2tp_api_session_stats (XDR *xdrs, l2tp_api_session_stats *objp)
1327 {
1328 register int32_t *buf;
1329
1330 if (!xdr_uint64_t (xdrs, &objp->data_rx_packets))
1331 return FALSE;
1332 if (!xdr_uint64_t (xdrs, &objp->data_rx_bytes))
1333 return FALSE;
1334 if (!xdr_uint64_t (xdrs, &objp->data_rx_errors))
1335 return FALSE;
1336 if (!xdr_uint64_t (xdrs, &objp->data_rx_oos_packets))
1337 return FALSE;
1338 if (!xdr_uint64_t (xdrs, &objp->data_rx_oos_discards))
1339 return FALSE;
1340 if (!xdr_uint64_t (xdrs, &objp->data_tx_packets))
1341 return FALSE;
1342 if (!xdr_uint64_t (xdrs, &objp->data_tx_bytes))
1343 return FALSE;
1344 if (!xdr_uint64_t (xdrs, &objp->data_tx_errors))
1345 return FALSE;
1346 return TRUE;
1347 }
1348
1349 bool_t
1350 xdr_l2tp_api_session_peer_info (XDR *xdrs, l2tp_api_session_peer_info *objp)
1351 {
1352 register int32_t *buf;
1353
1354
1355 if (xdrs->x_op == XDR_ENCODE) {
1356 if (!xdr_uint16_t (xdrs, &objp->result_code))
1357 return FALSE;
1358 if (!xdr_uint16_t (xdrs, &objp->error_code))
1359 return FALSE;
1360 if (!xdr_optstring (xdrs, &objp->error_message))
1361 return FALSE;
1362 if (!xdr_uint32_t (xdrs, &objp->minimum_bps))
1363 return FALSE;
1364 if (!xdr_uint32_t (xdrs, &objp->maximum_bps))
1365 return FALSE;
1366 if (!xdr_uint32_t (xdrs, &objp->connect_speed))
1367 return FALSE;
1368 if (!xdr_uint32_t (xdrs, &objp->rx_connect_speed))
1369 return FALSE;
1370 if (!xdr_l2tp_api_session_proxy_auth_type (xdrs, &objp->proxy_auth_type))
1371 return FALSE;
1372 if (!xdr_uint8_t (xdrs, &objp->proxy_auth_id))
1373 return FALSE;
1374 if (!xdr_optstring (xdrs, &objp->proxy_auth_name))
1375 return FALSE;
1376 if (!xdr_array (xdrs, (char **)&objp->proxy_auth_challenge.proxy_auth_challenge_val, (u_int *) &objp->proxy_auth_challenge.proxy_auth_challenge_len, ~0,
1377 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
1378 return FALSE;
1379 if (!xdr_array (xdrs, (char **)&objp->proxy_auth_response.proxy_auth_response_val, (u_int *) &objp->proxy_auth_response.proxy_auth_response_len, ~0,
1380 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
1381 return FALSE;
1382 if (!xdr_optstring (xdrs, &objp->private_group_id))
1383 return FALSE;
1384 buf = XDR_INLINE (xdrs, 5 * BYTES_PER_XDR_UNIT);
1385 if (buf == NULL) {
1386 if (!xdr_bool (xdrs, &objp->framing_type_sync))
1387 return FALSE;
1388 if (!xdr_bool (xdrs, &objp->framing_type_async))
1389 return FALSE;
1390 if (!xdr_bool (xdrs, &objp->bearer_type_digital))
1391 return FALSE;
1392 if (!xdr_bool (xdrs, &objp->bearer_type_analog))
1393 return FALSE;
1394 if (!xdr_bool (xdrs, &objp->sequencing_required))
1395 return FALSE;
1396
1397 } else {
1398 IXDR_PUT_BOOL(buf, objp->framing_type_sync);
1399 IXDR_PUT_BOOL(buf, objp->framing_type_async);
1400 IXDR_PUT_BOOL(buf, objp->bearer_type_digital);
1401 IXDR_PUT_BOOL(buf, objp->bearer_type_analog);
1402 IXDR_PUT_BOOL(buf, objp->sequencing_required);
1403 }
1404 if (!xdr_uint32_t (xdrs, &objp->call_serial_number))
1405 return FALSE;
1406 if (!xdr_uint32_t (xdrs, &objp->physical_channel_id))
1407 return FALSE;
1408 if (!xdr_array (xdrs, (char **)&objp->initial_rcvd_lcp_confreq.initial_rcvd_lcp_confreq_val, (u_int *) &objp->initial_rcvd_lcp_confreq.initial_rcvd_lcp_confreq_len, ~0,
1409 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
1410 return FALSE;
1411 if (!xdr_array (xdrs, (char **)&objp->last_sent_lcp_confreq.last_sent_lcp_confreq_val, (u_int *) &objp->last_sent_lcp_confreq.last_sent_lcp_confreq_len, ~0,
1412 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
1413 return FALSE;
1414 if (!xdr_array (xdrs, (char **)&objp->last_rcvd_lcp_confreq.last_rcvd_lcp_confreq_val, (u_int *) &objp->last_rcvd_lcp_confreq.last_rcvd_lcp_confreq_len, ~0,
1415 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
1416 return FALSE;
1417 if (!xdr_optstring (xdrs, &objp->calling_number))
1418 return FALSE;
1419 if (!xdr_optstring (xdrs, &objp->called_number))
1420 return FALSE;
1421 if (!xdr_optstring (xdrs, &objp->sub_address))
1422 return FALSE;
1423 if (!xdr_uint16_t (xdrs, &objp->q931_cause_code))
1424 return FALSE;
1425 if (!xdr_uint16_t (xdrs, &objp->q931_cause_msg))
1426 return FALSE;
1427 if (!xdr_optstring (xdrs, &objp->q931_advisory_msg))
1428 return FALSE;
1429 if (!xdr_l2tp_api_session_call_errors (xdrs, &objp->call_errors))
1430 return FALSE;
1431 if (!xdr_uint32_t (xdrs, &objp->send_accm))
1432 return FALSE;
1433 if (!xdr_uint32_t (xdrs, &objp->recv_accm))
1434 return FALSE;
1435 return TRUE;
1436 } else if (xdrs->x_op == XDR_DECODE) {
1437 if (!xdr_uint16_t (xdrs, &objp->result_code))
1438 return FALSE;
1439 if (!xdr_uint16_t (xdrs, &objp->error_code))
1440 return FALSE;
1441 if (!xdr_optstring (xdrs, &objp->error_message))
1442 return FALSE;
1443 if (!xdr_uint32_t (xdrs, &objp->minimum_bps))
1444 return FALSE;
1445 if (!xdr_uint32_t (xdrs, &objp->maximum_bps))
1446 return FALSE;
1447 if (!xdr_uint32_t (xdrs, &objp->connect_speed))
1448 return FALSE;
1449 if (!xdr_uint32_t (xdrs, &objp->rx_connect_speed))
1450 return FALSE;
1451 if (!xdr_l2tp_api_session_proxy_auth_type (xdrs, &objp->proxy_auth_type))
1452 return FALSE;
1453 if (!xdr_uint8_t (xdrs, &objp->proxy_auth_id))
1454 return FALSE;
1455 if (!xdr_optstring (xdrs, &objp->proxy_auth_name))
1456 return FALSE;
1457 if (!xdr_array (xdrs, (char **)&objp->proxy_auth_challenge.proxy_auth_challenge_val, (u_int *) &objp->proxy_auth_challenge.proxy_auth_challenge_len, ~0,
1458 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
1459 return FALSE;
1460 if (!xdr_array (xdrs, (char **)&objp->proxy_auth_response.proxy_auth_response_val, (u_int *) &objp->proxy_auth_response.proxy_auth_response_len, ~0,
1461 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
1462 return FALSE;
1463 if (!xdr_optstring (xdrs, &objp->private_group_id))
1464 return FALSE;
1465 buf = XDR_INLINE (xdrs, 5 * BYTES_PER_XDR_UNIT);
1466 if (buf == NULL) {
1467 if (!xdr_bool (xdrs, &objp->framing_type_sync))
1468 return FALSE;
1469 if (!xdr_bool (xdrs, &objp->framing_type_async))
1470 return FALSE;
1471 if (!xdr_bool (xdrs, &objp->bearer_type_digital))
1472 return FALSE;
1473 if (!xdr_bool (xdrs, &objp->bearer_type_analog))
1474 return FALSE;
1475 if (!xdr_bool (xdrs, &objp->sequencing_required))
1476 return FALSE;
1477
1478 } else {
1479 objp->framing_type_sync = IXDR_GET_BOOL(buf);
1480 objp->framing_type_async = IXDR_GET_BOOL(buf);
1481 objp->bearer_type_digital = IXDR_GET_BOOL(buf);
1482 objp->bearer_type_analog = IXDR_GET_BOOL(buf);
1483 objp->sequencing_required = IXDR_GET_BOOL(buf);
1484 }
1485 if (!xdr_uint32_t (xdrs, &objp->call_serial_number))
1486 return FALSE;
1487 if (!xdr_uint32_t (xdrs, &objp->physical_channel_id))
1488 return FALSE;
1489 if (!xdr_array (xdrs, (char **)&objp->initial_rcvd_lcp_confreq.initial_rcvd_lcp_confreq_val, (u_int *) &objp->initial_rcvd_lcp_confreq.initial_rcvd_lcp_confreq_len, ~0,
1490 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
1491 return FALSE;
1492 if (!xdr_array (xdrs, (char **)&objp->last_sent_lcp_confreq.last_sent_lcp_confreq_val, (u_int *) &objp->last_sent_lcp_confreq.last_sent_lcp_confreq_len, ~0,
1493 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
1494 return FALSE;
1495 if (!xdr_array (xdrs, (char **)&objp->last_rcvd_lcp_confreq.last_rcvd_lcp_confreq_val, (u_int *) &objp->last_rcvd_lcp_confreq.last_rcvd_lcp_confreq_len, ~0,
1496 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
1497 return FALSE;
1498 if (!xdr_optstring (xdrs, &objp->calling_number))
1499 return FALSE;
1500 if (!xdr_optstring (xdrs, &objp->called_number))
1501 return FALSE;
1502 if (!xdr_optstring (xdrs, &objp->sub_address))
1503 return FALSE;
1504 if (!xdr_uint16_t (xdrs, &objp->q931_cause_code))
1505 return FALSE;
1506 if (!xdr_uint16_t (xdrs, &objp->q931_cause_msg))
1507 return FALSE;
1508 if (!xdr_optstring (xdrs, &objp->q931_advisory_msg))
1509 return FALSE;
1510 if (!xdr_l2tp_api_session_call_errors (xdrs, &objp->call_errors))
1511 return FALSE;
1512 if (!xdr_uint32_t (xdrs, &objp->send_accm))
1513 return FALSE;
1514 if (!xdr_uint32_t (xdrs, &objp->recv_accm))
1515 return FALSE;
1516 return TRUE;
1517 }
1518
1519 if (!xdr_uint16_t (xdrs, &objp->result_code))
1520 return FALSE;
1521 if (!xdr_uint16_t (xdrs, &objp->error_code))
1522 return FALSE;
1523 if (!xdr_optstring (xdrs, &objp->error_message))
1524 return FALSE;
1525 if (!xdr_uint32_t (xdrs, &objp->minimum_bps))
1526 return FALSE;
1527 if (!xdr_uint32_t (xdrs, &objp->maximum_bps))
1528 return FALSE;
1529 if (!xdr_uint32_t (xdrs, &objp->connect_speed))
1530 return FALSE;
1531 if (!xdr_uint32_t (xdrs, &objp->rx_connect_speed))
1532 return FALSE;
1533 if (!xdr_l2tp_api_session_proxy_auth_type (xdrs, &objp->proxy_auth_type))
1534 return FALSE;
1535 if (!xdr_uint8_t (xdrs, &objp->proxy_auth_id))
1536 return FALSE;
1537 if (!xdr_optstring (xdrs, &objp->proxy_auth_name))
1538 return FALSE;
1539 if (!xdr_array (xdrs, (char **)&objp->proxy_auth_challenge.proxy_auth_challenge_val, (u_int *) &objp->proxy_auth_challenge.proxy_auth_challenge_len, ~0,
1540 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
1541 return FALSE;
1542 if (!xdr_array (xdrs, (char **)&objp->proxy_auth_response.proxy_auth_response_val, (u_int *) &objp->proxy_auth_response.proxy_auth_response_len, ~0,
1543 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
1544 return FALSE;
1545 if (!xdr_optstring (xdrs, &objp->private_group_id))
1546 return FALSE;
1547 if (!xdr_bool (xdrs, &objp->framing_type_sync))
1548 return FALSE;
1549 if (!xdr_bool (xdrs, &objp->framing_type_async))
1550 return FALSE;
1551 if (!xdr_bool (xdrs, &objp->bearer_type_digital))
1552 return FALSE;
1553 if (!xdr_bool (xdrs, &objp->bearer_type_analog))
1554 return FALSE;
1555 if (!xdr_bool (xdrs, &objp->sequencing_required))
1556 return FALSE;
1557 if (!xdr_uint32_t (xdrs, &objp->call_serial_number))
1558 return FALSE;
1559 if (!xdr_uint32_t (xdrs, &objp->physical_channel_id))
1560 return FALSE;
1561 if (!xdr_array (xdrs, (char **)&objp->initial_rcvd_lcp_confreq.initial_rcvd_lcp_confreq_val, (u_int *) &objp->initial_rcvd_lcp_confreq.initial_rcvd_lcp_confreq_len, ~0,
1562 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
1563 return FALSE;
1564 if (!xdr_array (xdrs, (char **)&objp->last_sent_lcp_confreq.last_sent_lcp_confreq_val, (u_int *) &objp->last_sent_lcp_confreq.last_sent_lcp_confreq_len, ~0,
1565 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
1566 return FALSE;
1567 if (!xdr_array (xdrs, (char **)&objp->last_rcvd_lcp_confreq.last_rcvd_lcp_confreq_val, (u_int *) &objp->last_rcvd_lcp_confreq.last_rcvd_lcp_confreq_len, ~0,
1568 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
1569 return FALSE;
1570 if (!xdr_optstring (xdrs, &objp->calling_number))
1571 return FALSE;
1572 if (!xdr_optstring (xdrs, &objp->called_number))
1573 return FALSE;
1574 if (!xdr_optstring (xdrs, &objp->sub_address))
1575 return FALSE;
1576 if (!xdr_uint16_t (xdrs, &objp->q931_cause_code))
1577 return FALSE;
1578 if (!xdr_uint16_t (xdrs, &objp->q931_cause_msg))
1579 return FALSE;
1580 if (!xdr_optstring (xdrs, &objp->q931_advisory_msg))
1581 return FALSE;
1582 if (!xdr_l2tp_api_session_call_errors (xdrs, &objp->call_errors))
1583 return FALSE;
1584 if (!xdr_uint32_t (xdrs, &objp->send_accm))
1585 return FALSE;
1586 if (!xdr_uint32_t (xdrs, &objp->recv_accm))
1587 return FALSE;
1588 return TRUE;
1589 }
1590
1591 bool_t
1592 xdr_l2tp_api_session_type (XDR *xdrs, l2tp_api_session_type *objp)
1593 {
1594 register int32_t *buf;
1595
1596 if (!xdr_enum (xdrs, (enum_t *) objp))
1597 return FALSE;
1598 return TRUE;
1599 }
1600
1601 bool_t
1602 xdr_l2tp_api_session_msg_data (XDR *xdrs, l2tp_api_session_msg_data *objp)
1603 {
1604 register int32_t *buf;
1605
1606
1607 if (xdrs->x_op == XDR_ENCODE) {
1608 if (!xdr_uint32_t (xdrs, &objp->flags))
1609 return FALSE;
1610 if (!xdr_uint16_t (xdrs, &objp->tunnel_id))
1611 return FALSE;
1612 if (!xdr_uint16_t (xdrs, &objp->session_id))
1613 return FALSE;
1614 if (!xdr_int (xdrs, &objp->result_code))
1615 return FALSE;
1616 if (!xdr_optstring (xdrs, &objp->tunnel_name))
1617 return FALSE;
1618 if (!xdr_uint16_t (xdrs, &objp->peer_session_id))
1619 return FALSE;
1620 if (!xdr_optstring (xdrs, &objp->state))
1621 return FALSE;
1622 if (!xdr_optstring (xdrs, &objp->session_name))
1623 return FALSE;
1624 if (!xdr_optstring (xdrs, &objp->interface_name))
1625 return FALSE;
1626 if (!xdr_l2tp_api_session_type (xdrs, &objp->session_type))
1627 return FALSE;
1628 if (!xdr_optstring (xdrs, &objp->user_name))
1629 return FALSE;
1630 if (!xdr_optstring (xdrs, &objp->user_password))
1631 return FALSE;
1632 if (!xdr_optstring (xdrs, &objp->priv_group_id))
1633 return FALSE;
1634 if (!xdr_optstring (xdrs, &objp->profile_name))
1635 return FALSE;
1636 if (!xdr_bool (xdrs, &objp->created_by_admin))
1637 return FALSE;
1638 if (!xdr_optstring (xdrs, &objp->create_time))
1639 return FALSE;
1640 buf = XDR_INLINE (xdrs, 8 * BYTES_PER_XDR_UNIT);
1641 if (buf == NULL) {
1642 if (!xdr_bool (xdrs, &objp->no_ppp))
1643 return FALSE;
1644 if (!xdr_bool (xdrs, &objp->sequencing_required))
1645 return FALSE;
1646 if (!xdr_bool (xdrs, &objp->use_sequence_numbers))
1647 return FALSE;
1648 if (!xdr_int (xdrs, &objp->reorder_timeout))
1649 return FALSE;
1650 if (!xdr_bool (xdrs, &objp->framing_type_sync))
1651 return FALSE;
1652 if (!xdr_bool (xdrs, &objp->framing_type_async))
1653 return FALSE;
1654 if (!xdr_bool (xdrs, &objp->bearer_type_digital))
1655 return FALSE;
1656 if (!xdr_bool (xdrs, &objp->bearer_type_analog))
1657 return FALSE;
1658
1659 } else {
1660 IXDR_PUT_BOOL(buf, objp->no_ppp);
1661 IXDR_PUT_BOOL(buf, objp->sequencing_required);
1662 IXDR_PUT_BOOL(buf, objp->use_sequence_numbers);
1663 IXDR_PUT_LONG(buf, objp->reorder_timeout);
1664 IXDR_PUT_BOOL(buf, objp->framing_type_sync);
1665 IXDR_PUT_BOOL(buf, objp->framing_type_async);
1666 IXDR_PUT_BOOL(buf, objp->bearer_type_digital);
1667 IXDR_PUT_BOOL(buf, objp->bearer_type_analog);
1668 }
1669 if (!xdr_uint32_t (xdrs, &objp->call_serial_number))
1670 return FALSE;
1671 if (!xdr_uint32_t (xdrs, &objp->physical_channel_id))
1672 return FALSE;
1673 if (!xdr_uint32_t (xdrs, &objp->trace_flags))
1674 return FALSE;
1675 if (!xdr_uint32_t (xdrs, &objp->trace_flags_mask))
1676 return FALSE;
1677 buf = XDR_INLINE (xdrs, 4 * BYTES_PER_XDR_UNIT);
1678 if (buf == NULL) {
1679 if (!xdr_int (xdrs, &objp->minimum_bps))
1680 return FALSE;
1681 if (!xdr_int (xdrs, &objp->maximum_bps))
1682 return FALSE;
1683 if (!xdr_int (xdrs, &objp->tx_connect_speed))
1684 return FALSE;
1685 if (!xdr_int (xdrs, &objp->rx_connect_speed))
1686 return FALSE;
1687
1688 } else {
1689 IXDR_PUT_LONG(buf, objp->minimum_bps);
1690 IXDR_PUT_LONG(buf, objp->maximum_bps);
1691 IXDR_PUT_LONG(buf, objp->tx_connect_speed);
1692 IXDR_PUT_LONG(buf, objp->rx_connect_speed);
1693 }
1694 if (!xdr_l2tp_api_session_peer_info (xdrs, &objp->peer))
1695 return FALSE;
1696 if (!xdr_optstring (xdrs, &objp->ppp_profile_name))
1697 return FALSE;
1698 if (!xdr_l2tp_api_session_stats (xdrs, &objp->stats))
1699 return FALSE;
1700 if (!xdr_bool (xdrs, &objp->use_ppp_proxy))
1701 return FALSE;
1702 if (!xdr_l2tp_api_session_proxy_auth_type (xdrs, &objp->proxy_auth_type))
1703 return FALSE;
1704 if (!xdr_optstring (xdrs, &objp->proxy_auth_name))
1705 return FALSE;
1706 if (!xdr_array (xdrs, (char **)&objp->proxy_auth_challenge.proxy_auth_challenge_val, (u_int *) &objp->proxy_auth_challenge.proxy_auth_challenge_len, ~0,
1707 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
1708 return FALSE;
1709 if (!xdr_array (xdrs, (char **)&objp->proxy_auth_response.proxy_auth_response_val, (u_int *) &objp->proxy_auth_response.proxy_auth_response_len, ~0,
1710 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
1711 return FALSE;
1712 if (!xdr_optstring (xdrs, &objp->calling_number))
1713 return FALSE;
1714 if (!xdr_optstring (xdrs, &objp->called_number))
1715 return FALSE;
1716 if (!xdr_optstring (xdrs, &objp->sub_address))
1717 return FALSE;
1718 if (!xdr_array (xdrs, (char **)&objp->initial_rcvd_lcp_confreq.initial_rcvd_lcp_confreq_val, (u_int *) &objp->initial_rcvd_lcp_confreq.initial_rcvd_lcp_confreq_len, ~0,
1719 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
1720 return FALSE;
1721 if (!xdr_array (xdrs, (char **)&objp->last_sent_lcp_confreq.last_sent_lcp_confreq_val, (u_int *) &objp->last_sent_lcp_confreq.last_sent_lcp_confreq_len, ~0,
1722 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
1723 return FALSE;
1724 if (!xdr_array (xdrs, (char **)&objp->last_rcvd_lcp_confreq.last_rcvd_lcp_confreq_val, (u_int *) &objp->last_rcvd_lcp_confreq.last_rcvd_lcp_confreq_len, ~0,
1725 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
1726 return FALSE;
1727 return TRUE;
1728 } else if (xdrs->x_op == XDR_DECODE) {
1729 if (!xdr_uint32_t (xdrs, &objp->flags))
1730 return FALSE;
1731 if (!xdr_uint16_t (xdrs, &objp->tunnel_id))
1732 return FALSE;
1733 if (!xdr_uint16_t (xdrs, &objp->session_id))
1734 return FALSE;
1735 if (!xdr_int (xdrs, &objp->result_code))
1736 return FALSE;
1737 if (!xdr_optstring (xdrs, &objp->tunnel_name))
1738 return FALSE;
1739 if (!xdr_uint16_t (xdrs, &objp->peer_session_id))
1740 return FALSE;
1741 if (!xdr_optstring (xdrs, &objp->state))
1742 return FALSE;
1743 if (!xdr_optstring (xdrs, &objp->session_name))
1744 return FALSE;
1745 if (!xdr_optstring (xdrs, &objp->interface_name))
1746 return FALSE;
1747 if (!xdr_l2tp_api_session_type (xdrs, &objp->session_type))
1748 return FALSE;
1749 if (!xdr_optstring (xdrs, &objp->user_name))
1750 return FALSE;
1751 if (!xdr_optstring (xdrs, &objp->user_password))
1752 return FALSE;
1753 if (!xdr_optstring (xdrs, &objp->priv_group_id))
1754 return FALSE;
1755 if (!xdr_optstring (xdrs, &objp->profile_name))
1756 return FALSE;
1757 if (!xdr_bool (xdrs, &objp->created_by_admin))
1758 return FALSE;
1759 if (!xdr_optstring (xdrs, &objp->create_time))
1760 return FALSE;
1761 buf = XDR_INLINE (xdrs, 8 * BYTES_PER_XDR_UNIT);
1762 if (buf == NULL) {
1763 if (!xdr_bool (xdrs, &objp->no_ppp))
1764 return FALSE;
1765 if (!xdr_bool (xdrs, &objp->sequencing_required))
1766 return FALSE;
1767 if (!xdr_bool (xdrs, &objp->use_sequence_numbers))
1768 return FALSE;
1769 if (!xdr_int (xdrs, &objp->reorder_timeout))
1770 return FALSE;
1771 if (!xdr_bool (xdrs, &objp->framing_type_sync))
1772 return FALSE;
1773 if (!xdr_bool (xdrs, &objp->framing_type_async))
1774 return FALSE;
1775 if (!xdr_bool (xdrs, &objp->bearer_type_digital))
1776 return FALSE;
1777 if (!xdr_bool (xdrs, &objp->bearer_type_analog))
1778 return FALSE;
1779
1780 } else {
1781 objp->no_ppp = IXDR_GET_BOOL(buf);
1782 objp->sequencing_required = IXDR_GET_BOOL(buf);
1783 objp->use_sequence_numbers = IXDR_GET_BOOL(buf);
1784 objp->reorder_timeout = IXDR_GET_LONG(buf);
1785 objp->framing_type_sync = IXDR_GET_BOOL(buf);
1786 objp->framing_type_async = IXDR_GET_BOOL(buf);
1787 objp->bearer_type_digital = IXDR_GET_BOOL(buf);
1788 objp->bearer_type_analog = IXDR_GET_BOOL(buf);
1789 }
1790 if (!xdr_uint32_t (xdrs, &objp->call_serial_number))
1791 return FALSE;
1792 if (!xdr_uint32_t (xdrs, &objp->physical_channel_id))
1793 return FALSE;
1794 if (!xdr_uint32_t (xdrs, &objp->trace_flags))
1795 return FALSE;
1796 if (!xdr_uint32_t (xdrs, &objp->trace_flags_mask))
1797 return FALSE;
1798 buf = XDR_INLINE (xdrs, 4 * BYTES_PER_XDR_UNIT);
1799 if (buf == NULL) {
1800 if (!xdr_int (xdrs, &objp->minimum_bps))
1801 return FALSE;
1802 if (!xdr_int (xdrs, &objp->maximum_bps))
1803 return FALSE;
1804 if (!xdr_int (xdrs, &objp->tx_connect_speed))
1805 return FALSE;
1806 if (!xdr_int (xdrs, &objp->rx_connect_speed))
1807 return FALSE;
1808
1809 } else {
1810 objp->minimum_bps = IXDR_GET_LONG(buf);
1811 objp->maximum_bps = IXDR_GET_LONG(buf);
1812 objp->tx_connect_speed = IXDR_GET_LONG(buf);
1813 objp->rx_connect_speed = IXDR_GET_LONG(buf);
1814 }
1815 if (!xdr_l2tp_api_session_peer_info (xdrs, &objp->peer))
1816 return FALSE;
1817 if (!xdr_optstring (xdrs, &objp->ppp_profile_name))
1818 return FALSE;
1819 if (!xdr_l2tp_api_session_stats (xdrs, &objp->stats))
1820 return FALSE;
1821 if (!xdr_bool (xdrs, &objp->use_ppp_proxy))
1822 return FALSE;
1823 if (!xdr_l2tp_api_session_proxy_auth_type (xdrs, &objp->proxy_auth_type))
1824 return FALSE;
1825 if (!xdr_optstring (xdrs, &objp->proxy_auth_name))
1826 return FALSE;
1827 if (!xdr_array (xdrs, (char **)&objp->proxy_auth_challenge.proxy_auth_challenge_val, (u_int *) &objp->proxy_auth_challenge.proxy_auth_challenge_len, ~0,
1828 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
1829 return FALSE;
1830 if (!xdr_array (xdrs, (char **)&objp->proxy_auth_response.proxy_auth_response_val, (u_int *) &objp->proxy_auth_response.proxy_auth_response_len, ~0,
1831 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
1832 return FALSE;
1833 if (!xdr_optstring (xdrs, &objp->calling_number))
1834 return FALSE;
1835 if (!xdr_optstring (xdrs, &objp->called_number))
1836 return FALSE;
1837 if (!xdr_optstring (xdrs, &objp->sub_address))
1838 return FALSE;
1839 if (!xdr_array (xdrs, (char **)&objp->initial_rcvd_lcp_confreq.initial_rcvd_lcp_confreq_val, (u_int *) &objp->initial_rcvd_lcp_confreq.initial_rcvd_lcp_confreq_len, ~0,
1840 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
1841 return FALSE;
1842 if (!xdr_array (xdrs, (char **)&objp->last_sent_lcp_confreq.last_sent_lcp_confreq_val, (u_int *) &objp->last_sent_lcp_confreq.last_sent_lcp_confreq_len, ~0,
1843 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
1844 return FALSE;
1845 if (!xdr_array (xdrs, (char **)&objp->last_rcvd_lcp_confreq.last_rcvd_lcp_confreq_val, (u_int *) &objp->last_rcvd_lcp_confreq.last_rcvd_lcp_confreq_len, ~0,
1846 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
1847 return FALSE;
1848 return TRUE;
1849 }
1850
1851 if (!xdr_uint32_t (xdrs, &objp->flags))
1852 return FALSE;
1853 if (!xdr_uint16_t (xdrs, &objp->tunnel_id))
1854 return FALSE;
1855 if (!xdr_uint16_t (xdrs, &objp->session_id))
1856 return FALSE;
1857 if (!xdr_int (xdrs, &objp->result_code))
1858 return FALSE;
1859 if (!xdr_optstring (xdrs, &objp->tunnel_name))
1860 return FALSE;
1861 if (!xdr_uint16_t (xdrs, &objp->peer_session_id))
1862 return FALSE;
1863 if (!xdr_optstring (xdrs, &objp->state))
1864 return FALSE;
1865 if (!xdr_optstring (xdrs, &objp->session_name))
1866 return FALSE;
1867 if (!xdr_optstring (xdrs, &objp->interface_name))
1868 return FALSE;
1869 if (!xdr_l2tp_api_session_type (xdrs, &objp->session_type))
1870 return FALSE;
1871 if (!xdr_optstring (xdrs, &objp->user_name))
1872 return FALSE;
1873 if (!xdr_optstring (xdrs, &objp->user_password))
1874 return FALSE;
1875 if (!xdr_optstring (xdrs, &objp->priv_group_id))
1876 return FALSE;
1877 if (!xdr_optstring (xdrs, &objp->profile_name))
1878 return FALSE;
1879 if (!xdr_bool (xdrs, &objp->created_by_admin))
1880 return FALSE;
1881 if (!xdr_optstring (xdrs, &objp->create_time))
1882 return FALSE;
1883 if (!xdr_bool (xdrs, &objp->no_ppp))
1884 return FALSE;
1885 if (!xdr_bool (xdrs, &objp->sequencing_required))
1886 return FALSE;
1887 if (!xdr_bool (xdrs, &objp->use_sequence_numbers))
1888 return FALSE;
1889 if (!xdr_int (xdrs, &objp->reorder_timeout))
1890 return FALSE;
1891 if (!xdr_bool (xdrs, &objp->framing_type_sync))
1892 return FALSE;
1893 if (!xdr_bool (xdrs, &objp->framing_type_async))
1894 return FALSE;
1895 if (!xdr_bool (xdrs, &objp->bearer_type_digital))
1896 return FALSE;
1897 if (!xdr_bool (xdrs, &objp->bearer_type_analog))
1898 return FALSE;
1899 if (!xdr_uint32_t (xdrs, &objp->call_serial_number))
1900 return FALSE;
1901 if (!xdr_uint32_t (xdrs, &objp->physical_channel_id))
1902 return FALSE;
1903 if (!xdr_uint32_t (xdrs, &objp->trace_flags))
1904 return FALSE;
1905 if (!xdr_uint32_t (xdrs, &objp->trace_flags_mask))
1906 return FALSE;
1907 if (!xdr_int (xdrs, &objp->minimum_bps))
1908 return FALSE;
1909 if (!xdr_int (xdrs, &objp->maximum_bps))
1910 return FALSE;
1911 if (!xdr_int (xdrs, &objp->tx_connect_speed))
1912 return FALSE;
1913 if (!xdr_int (xdrs, &objp->rx_connect_speed))
1914 return FALSE;
1915 if (!xdr_l2tp_api_session_peer_info (xdrs, &objp->peer))
1916 return FALSE;
1917 if (!xdr_optstring (xdrs, &objp->ppp_profile_name))
1918 return FALSE;
1919 if (!xdr_l2tp_api_session_stats (xdrs, &objp->stats))
1920 return FALSE;
1921 if (!xdr_bool (xdrs, &objp->use_ppp_proxy))
1922 return FALSE;
1923 if (!xdr_l2tp_api_session_proxy_auth_type (xdrs, &objp->proxy_auth_type))
1924 return FALSE;
1925 if (!xdr_optstring (xdrs, &objp->proxy_auth_name))
1926 return FALSE;
1927 if (!xdr_array (xdrs, (char **)&objp->proxy_auth_challenge.proxy_auth_challenge_val, (u_int *) &objp->proxy_auth_challenge.proxy_auth_challenge_len, ~0,
1928 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
1929 return FALSE;
1930 if (!xdr_array (xdrs, (char **)&objp->proxy_auth_response.proxy_auth_response_val, (u_int *) &objp->proxy_auth_response.proxy_auth_response_len, ~0,
1931 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
1932 return FALSE;
1933 if (!xdr_optstring (xdrs, &objp->calling_number))
1934 return FALSE;
1935 if (!xdr_optstring (xdrs, &objp->called_number))
1936 return FALSE;
1937 if (!xdr_optstring (xdrs, &objp->sub_address))
1938 return FALSE;
1939 if (!xdr_array (xdrs, (char **)&objp->initial_rcvd_lcp_confreq.initial_rcvd_lcp_confreq_val, (u_int *) &objp->initial_rcvd_lcp_confreq.initial_rcvd_lcp_confreq_len, ~0,
1940 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
1941 return FALSE;
1942 if (!xdr_array (xdrs, (char **)&objp->last_sent_lcp_confreq.last_sent_lcp_confreq_val, (u_int *) &objp->last_sent_lcp_confreq.last_sent_lcp_confreq_len, ~0,
1943 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
1944 return FALSE;
1945 if (!xdr_array (xdrs, (char **)&objp->last_rcvd_lcp_confreq.last_rcvd_lcp_confreq_val, (u_int *) &objp->last_rcvd_lcp_confreq.last_rcvd_lcp_confreq_len, ~0,
1946 sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
1947 return FALSE;
1948 return TRUE;
1949 }
1950
1951 bool_t
1952 xdr_l2tp_api_session_list_msg_data (XDR *xdrs, l2tp_api_session_list_msg_data *objp)
1953 {
1954 register int32_t *buf;
1955
1956 if (!xdr_int (xdrs, &objp->result))
1957 return FALSE;
1958 if (!xdr_array (xdrs, (char **)&objp->session_ids.session_ids_val, (u_int *) &objp->session_ids.session_ids_len, ~0,
1959 sizeof (uint16_t), (xdrproc_t) xdr_uint16_t))
1960 return FALSE;
1961 return TRUE;
1962 }
1963
1964 bool_t
1965 xdr_l2tp_api_session_incall_msg_data (XDR *xdrs, l2tp_api_session_incall_msg_data *objp)
1966 {
1967 register int32_t *buf;
1968
1969 if (!xdr_int (xdrs, &objp->ppp_unit))
1970 return FALSE;
1971 if (!xdr_string (xdrs, &objp->tunnel_profile_name, ~0))
1972 return FALSE;
1973 if (!xdr_l2tp_api_session_msg_data (xdrs, &objp->session))
1974 return FALSE;
1975 return TRUE;
1976 }
1977
1978 bool_t
1979 xdr_l2tp_api_session_profile_msg_data (XDR *xdrs, l2tp_api_session_profile_msg_data *objp)
1980 {
1981 register int32_t *buf;
1982
1983
1984 if (xdrs->x_op == XDR_ENCODE) {
1985 if (!xdr_uint32_t (xdrs, &objp->flags))
1986 return FALSE;
1987 if (!xdr_int (xdrs, &objp->result_code))
1988 return FALSE;
1989 if (!xdr_string (xdrs, &objp->profile_name, ~0))
1990 return FALSE;
1991 buf = XDR_INLINE (xdrs, 7 * BYTES_PER_XDR_UNIT);
1992 if (buf == NULL) {
1993 if (!xdr_bool (xdrs, &objp->sequencing_required))
1994 return FALSE;
1995 if (!xdr_bool (xdrs, &objp->use_sequence_numbers))
1996 return FALSE;
1997 if (!xdr_bool (xdrs, &objp->no_ppp))
1998 return FALSE;
1999 if (!xdr_int (xdrs, &objp->reorder_timeout))
2000 return FALSE;
2001 if (!xdr_bool (xdrs, &objp->do_pmtu_discovery))
2002 return FALSE;
2003 if (!xdr_int (xdrs, &objp->mtu))
2004 return FALSE;
2005 if (!xdr_int (xdrs, &objp->mru))
2006 return FALSE;
2007
2008 } else {
2009 IXDR_PUT_BOOL(buf, objp->sequencing_required);
2010 IXDR_PUT_BOOL(buf, objp->use_sequence_numbers);
2011 IXDR_PUT_BOOL(buf, objp->no_ppp);
2012 IXDR_PUT_LONG(buf, objp->reorder_timeout);
2013 IXDR_PUT_BOOL(buf, objp->do_pmtu_discovery);
2014 IXDR_PUT_LONG(buf, objp->mtu);
2015 IXDR_PUT_LONG(buf, objp->mru);
2016 }
2017 if (!xdr_uint32_t (xdrs, &objp->trace_flags))
2018 return FALSE;
2019 if (!xdr_uint32_t (xdrs, &objp->trace_flags_mask))
2020 return FALSE;
2021 if (!xdr_optstring (xdrs, &objp->ppp_profile_name))
2022 return FALSE;
2023 if (!xdr_l2tp_api_session_type (xdrs, &objp->session_type))
2024 return FALSE;
2025 if (!xdr_optstring (xdrs, &objp->priv_group_id))
2026 return FALSE;
2027 buf = XDR_INLINE (xdrs, 9 * BYTES_PER_XDR_UNIT);
2028 if (buf == NULL) {
2029 if (!xdr_bool (xdrs, &objp->framing_type_sync))
2030 return FALSE;
2031 if (!xdr_bool (xdrs, &objp->framing_type_async))
2032 return FALSE;
2033 if (!xdr_bool (xdrs, &objp->bearer_type_digital))
2034 return FALSE;
2035 if (!xdr_bool (xdrs, &objp->bearer_type_analog))
2036 return FALSE;
2037 if (!xdr_int (xdrs, &objp->minimum_bps))
2038 return FALSE;
2039 if (!xdr_int (xdrs, &objp->maximum_bps))
2040 return FALSE;
2041 if (!xdr_int (xdrs, &objp->tx_connect_speed))
2042 return FALSE;
2043 if (!xdr_int (xdrs, &objp->rx_connect_speed))
2044 return FALSE;
2045 if (!xdr_bool (xdrs, &objp->use_ppp_proxy))
2046 return FALSE;
2047 } else {
2048 IXDR_PUT_BOOL(buf, objp->framing_type_sync);
2049 IXDR_PUT_BOOL(buf, objp->framing_type_async);
2050 IXDR_PUT_BOOL(buf, objp->bearer_type_digital);
2051 IXDR_PUT_BOOL(buf, objp->bearer_type_analog);
2052 IXDR_PUT_LONG(buf, objp->minimum_bps);
2053 IXDR_PUT_LONG(buf, objp->maximum_bps);
2054 IXDR_PUT_LONG(buf, objp->tx_connect_speed);
2055 IXDR_PUT_LONG(buf, objp->rx_connect_speed);
2056 IXDR_PUT_BOOL(buf, objp->use_ppp_proxy);
2057 }
2058 return TRUE;
2059 } else if (xdrs->x_op == XDR_DECODE) {
2060 if (!xdr_uint32_t (xdrs, &objp->flags))
2061 return FALSE;
2062 if (!xdr_int (xdrs, &objp->result_code))
2063 return FALSE;
2064 if (!xdr_string (xdrs, &objp->profile_name, ~0))
2065 return FALSE;
2066 buf = XDR_INLINE (xdrs, 7 * BYTES_PER_XDR_UNIT);
2067 if (buf == NULL) {
2068 if (!xdr_bool (xdrs, &objp->sequencing_required))
2069 return FALSE;
2070 if (!xdr_bool (xdrs, &objp->use_sequence_numbers))
2071 return FALSE;
2072 if (!xdr_bool (xdrs, &objp->no_ppp))
2073 return FALSE;
2074 if (!xdr_int (xdrs, &objp->reorder_timeout))
2075 return FALSE;
2076 if (!xdr_bool (xdrs, &objp->do_pmtu_discovery))
2077 return FALSE;
2078 if (!xdr_int (xdrs, &objp->mtu))
2079 return FALSE;
2080 if (!xdr_int (xdrs, &objp->mru))
2081 return FALSE;
2082
2083 } else {
2084 objp->sequencing_required = IXDR_GET_BOOL(buf);
2085 objp->use_sequence_numbers = IXDR_GET_BOOL(buf);
2086 objp->no_ppp = IXDR_GET_BOOL(buf);
2087 objp->reorder_timeout = IXDR_GET_LONG(buf);
2088 objp->do_pmtu_discovery = IXDR_GET_BOOL(buf);
2089 objp->mtu = IXDR_GET_LONG(buf);
2090 objp->mru = IXDR_GET_LONG(buf);
2091 }
2092 if (!xdr_uint32_t (xdrs, &objp->trace_flags))
2093 return FALSE;
2094 if (!xdr_uint32_t (xdrs, &objp->trace_flags_mask))
2095 return FALSE;
2096 if (!xdr_optstring (xdrs, &objp->ppp_profile_name))
2097 return FALSE;
2098 if (!xdr_l2tp_api_session_type (xdrs, &objp->session_type))
2099 return FALSE;
2100 if (!xdr_optstring (xdrs, &objp->priv_group_id))
2101 return FALSE;
2102 buf = XDR_INLINE (xdrs, 9 * BYTES_PER_XDR_UNIT);
2103 if (buf == NULL) {
2104 if (!xdr_bool (xdrs, &objp->framing_type_sync))
2105 return FALSE;
2106 if (!xdr_bool (xdrs, &objp->framing_type_async))
2107 return FALSE;
2108 if (!xdr_bool (xdrs, &objp->bearer_type_digital))
2109 return FALSE;
2110 if (!xdr_bool (xdrs, &objp->bearer_type_analog))
2111 return FALSE;
2112 if (!xdr_int (xdrs, &objp->minimum_bps))
2113 return FALSE;
2114 if (!xdr_int (xdrs, &objp->maximum_bps))
2115 return FALSE;
2116 if (!xdr_int (xdrs, &objp->tx_connect_speed))
2117 return FALSE;
2118 if (!xdr_int (xdrs, &objp->rx_connect_speed))
2119 return FALSE;
2120 if (!xdr_bool (xdrs, &objp->use_ppp_proxy))
2121 return FALSE;
2122 } else {
2123 objp->framing_type_sync = IXDR_GET_BOOL(buf);
2124 objp->framing_type_async = IXDR_GET_BOOL(buf);
2125 objp->bearer_type_digital = IXDR_GET_BOOL(buf);
2126 objp->bearer_type_analog = IXDR_GET_BOOL(buf);
2127 objp->minimum_bps = IXDR_GET_LONG(buf);
2128 objp->maximum_bps = IXDR_GET_LONG(buf);
2129 objp->tx_connect_speed = IXDR_GET_LONG(buf);
2130 objp->rx_connect_speed = IXDR_GET_LONG(buf);
2131 objp->use_ppp_proxy = IXDR_GET_BOOL(buf);
2132 }
2133 return TRUE;
2134 }
2135
2136 if (!xdr_uint32_t (xdrs, &objp->flags))
2137 return FALSE;
2138 if (!xdr_int (xdrs, &objp->result_code))
2139 return FALSE;
2140 if (!xdr_string (xdrs, &objp->profile_name, ~0))
2141 return FALSE;
2142 if (!xdr_bool (xdrs, &objp->sequencing_required))
2143 return FALSE;
2144 if (!xdr_bool (xdrs, &objp->use_sequence_numbers))
2145 return FALSE;
2146 if (!xdr_bool (xdrs, &objp->no_ppp))
2147 return FALSE;
2148 if (!xdr_int (xdrs, &objp->reorder_timeout))
2149 return FALSE;
2150 if (!xdr_bool (xdrs, &objp->do_pmtu_discovery))
2151 return FALSE;
2152 if (!xdr_int (xdrs, &objp->mtu))
2153 return FALSE;
2154 if (!xdr_int (xdrs, &objp->mru))
2155 return FALSE;
2156 if (!xdr_uint32_t (xdrs, &objp->trace_flags))
2157 return FALSE;
2158 if (!xdr_uint32_t (xdrs, &objp->trace_flags_mask))
2159 return FALSE;
2160 if (!xdr_optstring (xdrs, &objp->ppp_profile_name))
2161 return FALSE;
2162 if (!xdr_l2tp_api_session_type (xdrs, &objp->session_type))
2163 return FALSE;
2164 if (!xdr_optstring (xdrs, &objp->priv_group_id))
2165 return FALSE;
2166 if (!xdr_bool (xdrs, &objp->framing_type_sync))
2167 return FALSE;
2168 if (!xdr_bool (xdrs, &objp->framing_type_async))
2169 return FALSE;
2170 if (!xdr_bool (xdrs, &objp->bearer_type_digital))
2171 return FALSE;
2172 if (!xdr_bool (xdrs, &objp->bearer_type_analog))
2173 return FALSE;
2174 if (!xdr_int (xdrs, &objp->minimum_bps))
2175 return FALSE;
2176 if (!xdr_int (xdrs, &objp->maximum_bps))
2177 return FALSE;
2178 if (!xdr_int (xdrs, &objp->tx_connect_speed))
2179 return FALSE;
2180 if (!xdr_int (xdrs, &objp->rx_connect_speed))
2181 return FALSE;
2182 if (!xdr_bool (xdrs, &objp->use_ppp_proxy))
2183 return FALSE;
2184 return TRUE;
2185 }
2186
2187 bool_t
2188 xdr_l2tp_api_session_profile_list_entry (XDR *xdrs, l2tp_api_session_profile_list_entry *objp)
2189 {
2190 register int32_t *buf;
2191
2192 if (!xdr_string (xdrs, &objp->profile_name, ~0))
2193 return FALSE;
2194 if (!xdr_pointer (xdrs, (char **)&objp->next, sizeof (l2tp_api_session_profile_list_entry), (xdrproc_t) xdr_l2tp_api_session_profile_list_entry))
2195 return FALSE;
2196 return TRUE;
2197 }
2198
2199 bool_t
2200 xdr_l2tp_api_session_profile_list_msg_data (XDR *xdrs, l2tp_api_session_profile_list_msg_data *objp)
2201 {
2202 register int32_t *buf;
2203
2204 if (!xdr_int (xdrs, &objp->result))
2205 return FALSE;
2206 if (!xdr_int (xdrs, &objp->num_profiles))
2207 return FALSE;
2208 if (!xdr_pointer (xdrs, (char **)&objp->profiles, sizeof (l2tp_api_session_profile_list_entry), (xdrproc_t) xdr_l2tp_api_session_profile_list_entry))
2209 return FALSE;
2210 return TRUE;
2211 }
2212
2213 bool_t
2214 xdr_l2tp_api_session_profile_unset_msg_data (XDR *xdrs, l2tp_api_session_profile_unset_msg_data *objp)
2215 {
2216 register int32_t *buf;
2217
2218 if (!xdr_uint32_t (xdrs, &objp->flags))
2219 return FALSE;
2220 if (!xdr_int (xdrs, &objp->result_code))
2221 return FALSE;
2222 if (!xdr_string (xdrs, &objp->profile_name, ~0))
2223 return FALSE;
2224 return TRUE;
2225 }
2226
2227 bool_t
2228 xdr_l2tp_api_ppp_sync_mode (XDR *xdrs, l2tp_api_ppp_sync_mode *objp)
2229 {
2230 register int32_t *buf;
2231
2232 if (!xdr_enum (xdrs, (enum_t *) objp))
2233 return FALSE;
2234 return TRUE;
2235 }
2236
2237 bool_t
2238 xdr_l2tp_api_ppp_profile_msg_data (XDR *xdrs, l2tp_api_ppp_profile_msg_data *objp)
2239 {
2240 register int32_t *buf;
2241
2242
2243 if (xdrs->x_op == XDR_ENCODE) {
2244 if (!xdr_uint32_t (xdrs, &objp->flags))
2245 return FALSE;
2246 if (!xdr_uint32_t (xdrs, &objp->flags2))
2247 return FALSE;
2248 if (!xdr_int (xdrs, &objp->result_code))
2249 return FALSE;
2250 if (!xdr_uint32_t (xdrs, &objp->trace_flags))
2251 return FALSE;
2252 if (!xdr_uint32_t (xdrs, &objp->trace_flags_mask))
2253 return FALSE;
2254 if (!xdr_string (xdrs, &objp->profile_name, ~0))
2255 return FALSE;
2256 if (!xdr_uint32_t (xdrs, &objp->asyncmap))
2257 return FALSE;
2258 if (!xdr_uint16_t (xdrs, &objp->mru))
2259 return FALSE;
2260 if (!xdr_uint16_t (xdrs, &objp->mtu))
2261 return FALSE;
2262 buf = XDR_INLINE (xdrs, 7 * BYTES_PER_XDR_UNIT);
2263 if (buf == NULL) {
2264 if (!xdr_bool (xdrs, &objp->auth_none))
2265 return FALSE;
2266 if (!xdr_bool (xdrs, &objp->auth_peer))
2267 return FALSE;
2268 if (!xdr_bool (xdrs, &objp->auth_refuse_pap))
2269 return FALSE;
2270 if (!xdr_bool (xdrs, &objp->auth_refuse_chap))
2271 return FALSE;
2272 if (!xdr_bool (xdrs, &objp->auth_refuse_mschap))
2273 return FALSE;
2274 if (!xdr_bool (xdrs, &objp->auth_refuse_mschapv2))
2275 return FALSE;
2276 if (!xdr_bool (xdrs, &objp->auth_refuse_eap))
2277 return FALSE;
2278
2279 } else {
2280 IXDR_PUT_BOOL(buf, objp->auth_none);
2281 IXDR_PUT_BOOL(buf, objp->auth_peer);
2282 IXDR_PUT_BOOL(buf, objp->auth_refuse_pap);
2283 IXDR_PUT_BOOL(buf, objp->auth_refuse_chap);
2284 IXDR_PUT_BOOL(buf, objp->auth_refuse_mschap);
2285 IXDR_PUT_BOOL(buf, objp->auth_refuse_mschapv2);
2286 IXDR_PUT_BOOL(buf, objp->auth_refuse_eap);
2287 }
2288 if (!xdr_l2tp_api_ppp_sync_mode (xdrs, &objp->sync_mode))
2289 return FALSE;
2290 buf = XDR_INLINE (xdrs, 19 * BYTES_PER_XDR_UNIT);
2291 if (buf == NULL) {
2292 if (!xdr_int (xdrs, &objp->chap_interval))
2293 return FALSE;
2294 if (!xdr_int (xdrs, &objp->chap_max_challenge))
2295 return FALSE;
2296 if (!xdr_int (xdrs, &objp->chap_restart))
2297 return FALSE;
2298 if (!xdr_int (xdrs, &objp->pap_max_auth_requests))
2299 return FALSE;
2300 if (!xdr_int (xdrs, &objp->pap_restart_interval))
2301 return FALSE;
2302 if (!xdr_int (xdrs, &objp->pap_timeout))
2303 return FALSE;
2304 if (!xdr_int (xdrs, &objp->idle_timeout))
2305 return FALSE;
2306 if (!xdr_int (xdrs, &objp->ipcp_max_config_requests))
2307 return FALSE;
2308 if (!xdr_int (xdrs, &objp->ipcp_max_config_naks))
2309 return FALSE;
2310 if (!xdr_int (xdrs, &objp->ipcp_max_terminate_requests))
2311 return FALSE;
2312 if (!xdr_int (xdrs, &objp->ipcp_retransmit_interval))
2313 return FALSE;
2314 if (!xdr_int (xdrs, &objp->lcp_echo_failure_count))
2315 return FALSE;
2316 if (!xdr_int (xdrs, &objp->lcp_echo_interval))
2317 return FALSE;
2318 if (!xdr_int (xdrs, &objp->lcp_max_config_requests))
2319 return FALSE;
2320 if (!xdr_int (xdrs, &objp->lcp_max_config_naks))
2321 return FALSE;
2322 if (!xdr_int (xdrs, &objp->lcp_max_terminate_requests))
2323 return FALSE;
2324 if (!xdr_int (xdrs, &objp->lcp_retransmit_interval))
2325 return FALSE;
2326 if (!xdr_int (xdrs, &objp->max_connect_time))
2327 return FALSE;
2328 if (!xdr_int (xdrs, &objp->max_failure_count))
2329 return FALSE;
2330
2331 } else {
2332 IXDR_PUT_LONG(buf, objp->chap_interval);
2333 IXDR_PUT_LONG(buf, objp->chap_max_challenge);
2334 IXDR_PUT_LONG(buf, objp->chap_restart);
2335 IXDR_PUT_LONG(buf, objp->pap_max_auth_requests);
2336 IXDR_PUT_LONG(buf, objp->pap_restart_interval);
2337 IXDR_PUT_LONG(buf, objp->pap_timeout);
2338 IXDR_PUT_LONG(buf, objp->idle_timeout);
2339 IXDR_PUT_LONG(buf, objp->ipcp_max_config_requests);
2340 IXDR_PUT_LONG(buf, objp->ipcp_max_config_naks);
2341 IXDR_PUT_LONG(buf, objp->ipcp_max_terminate_requests);
2342 IXDR_PUT_LONG(buf, objp->ipcp_retransmit_interval);
2343 IXDR_PUT_LONG(buf, objp->lcp_echo_failure_count);
2344 IXDR_PUT_LONG(buf, objp->lcp_echo_interval);
2345 IXDR_PUT_LONG(buf, objp->lcp_max_config_requests);
2346 IXDR_PUT_LONG(buf, objp->lcp_max_config_naks);
2347 IXDR_PUT_LONG(buf, objp->lcp_max_terminate_requests);
2348 IXDR_PUT_LONG(buf, objp->lcp_retransmit_interval);
2349 IXDR_PUT_LONG(buf, objp->max_connect_time);
2350 IXDR_PUT_LONG(buf, objp->max_failure_count);
2351 }
2352 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->local_ip_addr))
2353 return FALSE;
2354 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->peer_ip_addr))
2355 return FALSE;
2356 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->dns_addr_1))
2357 return FALSE;
2358 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->dns_addr_2))
2359 return FALSE;
2360 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->wins_addr_1))
2361 return FALSE;
2362 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->wins_addr_2))
2363 return FALSE;
2364 if (!xdr_optstring (xdrs, &objp->ip_pool_name))
2365 return FALSE;
2366 if (!xdr_bool (xdrs, &objp->use_radius))
2367 return FALSE;
2368 if (!xdr_optstring (xdrs, &objp->radius_hint))
2369 return FALSE;
2370 if (!xdr_bool (xdrs, &objp->use_as_default_route))
2371 return FALSE;
2372 if (!xdr_bool (xdrs, &objp->multilink))
2373 return FALSE;
2374 if (!xdr_optstring (xdrs, &objp->local_name))
2375 return FALSE;
2376 if (!xdr_optstring (xdrs, &objp->remote_name))
2377 return FALSE;
2378 if (!xdr_bool (xdrs, &objp->proxy_arp))
2379 return FALSE;
2380 return TRUE;
2381 } else if (xdrs->x_op == XDR_DECODE) {
2382 if (!xdr_uint32_t (xdrs, &objp->flags))
2383 return FALSE;
2384 if (!xdr_uint32_t (xdrs, &objp->flags2))
2385 return FALSE;
2386 if (!xdr_int (xdrs, &objp->result_code))
2387 return FALSE;
2388 if (!xdr_uint32_t (xdrs, &objp->trace_flags))
2389 return FALSE;
2390 if (!xdr_uint32_t (xdrs, &objp->trace_flags_mask))
2391 return FALSE;
2392 if (!xdr_string (xdrs, &objp->profile_name, ~0))
2393 return FALSE;
2394 if (!xdr_uint32_t (xdrs, &objp->asyncmap))
2395 return FALSE;
2396 if (!xdr_uint16_t (xdrs, &objp->mru))
2397 return FALSE;
2398 if (!xdr_uint16_t (xdrs, &objp->mtu))
2399 return FALSE;
2400 buf = XDR_INLINE (xdrs, 7 * BYTES_PER_XDR_UNIT);
2401 if (buf == NULL) {
2402 if (!xdr_bool (xdrs, &objp->auth_none))
2403 return FALSE;
2404 if (!xdr_bool (xdrs, &objp->auth_peer))
2405 return FALSE;
2406 if (!xdr_bool (xdrs, &objp->auth_refuse_pap))
2407 return FALSE;
2408 if (!xdr_bool (xdrs, &objp->auth_refuse_chap))
2409 return FALSE;
2410 if (!xdr_bool (xdrs, &objp->auth_refuse_mschap))
2411 return FALSE;
2412 if (!xdr_bool (xdrs, &objp->auth_refuse_mschapv2))
2413 return FALSE;
2414 if (!xdr_bool (xdrs, &objp->auth_refuse_eap))
2415 return FALSE;
2416
2417 } else {
2418 objp->auth_none = IXDR_GET_BOOL(buf);
2419 objp->auth_peer = IXDR_GET_BOOL(buf);
2420 objp->auth_refuse_pap = IXDR_GET_BOOL(buf);
2421 objp->auth_refuse_chap = IXDR_GET_BOOL(buf);
2422 objp->auth_refuse_mschap = IXDR_GET_BOOL(buf);
2423 objp->auth_refuse_mschapv2 = IXDR_GET_BOOL(buf);
2424 objp->auth_refuse_eap = IXDR_GET_BOOL(buf);
2425 }
2426 if (!xdr_l2tp_api_ppp_sync_mode (xdrs, &objp->sync_mode))
2427 return FALSE;
2428 buf = XDR_INLINE (xdrs, 19 * BYTES_PER_XDR_UNIT);
2429 if (buf == NULL) {
2430 if (!xdr_int (xdrs, &objp->chap_interval))
2431 return FALSE;
2432 if (!xdr_int (xdrs, &objp->chap_max_challenge))
2433 return FALSE;
2434 if (!xdr_int (xdrs, &objp->chap_restart))
2435 return FALSE;
2436 if (!xdr_int (xdrs, &objp->pap_max_auth_requests))
2437 return FALSE;
2438 if (!xdr_int (xdrs, &objp->pap_restart_interval))
2439 return FALSE;
2440 if (!xdr_int (xdrs, &objp->pap_timeout))
2441 return FALSE;
2442 if (!xdr_int (xdrs, &objp->idle_timeout))
2443 return FALSE;
2444 if (!xdr_int (xdrs, &objp->ipcp_max_config_requests))
2445 return FALSE;
2446 if (!xdr_int (xdrs, &objp->ipcp_max_config_naks))
2447 return FALSE;
2448 if (!xdr_int (xdrs, &objp->ipcp_max_terminate_requests))
2449 return FALSE;
2450 if (!xdr_int (xdrs, &objp->ipcp_retransmit_interval))
2451 return FALSE;
2452 if (!xdr_int (xdrs, &objp->lcp_echo_failure_count))
2453 return FALSE;
2454 if (!xdr_int (xdrs, &objp->lcp_echo_interval))
2455 return FALSE;
2456 if (!xdr_int (xdrs, &objp->lcp_max_config_requests))
2457 return FALSE;
2458 if (!xdr_int (xdrs, &objp->lcp_max_config_naks))
2459 return FALSE;
2460 if (!xdr_int (xdrs, &objp->lcp_max_terminate_requests))
2461 return FALSE;
2462 if (!xdr_int (xdrs, &objp->lcp_retransmit_interval))
2463 return FALSE;
2464 if (!xdr_int (xdrs, &objp->max_connect_time))
2465 return FALSE;
2466 if (!xdr_int (xdrs, &objp->max_failure_count))
2467 return FALSE;
2468
2469 } else {
2470 objp->chap_interval = IXDR_GET_LONG(buf);
2471 objp->chap_max_challenge = IXDR_GET_LONG(buf);
2472 objp->chap_restart = IXDR_GET_LONG(buf);
2473 objp->pap_max_auth_requests = IXDR_GET_LONG(buf);
2474 objp->pap_restart_interval = IXDR_GET_LONG(buf);
2475 objp->pap_timeout = IXDR_GET_LONG(buf);
2476 objp->idle_timeout = IXDR_GET_LONG(buf);
2477 objp->ipcp_max_config_requests = IXDR_GET_LONG(buf);
2478 objp->ipcp_max_config_naks = IXDR_GET_LONG(buf);
2479 objp->ipcp_max_terminate_requests = IXDR_GET_LONG(buf);
2480 objp->ipcp_retransmit_interval = IXDR_GET_LONG(buf);
2481 objp->lcp_echo_failure_count = IXDR_GET_LONG(buf);
2482 objp->lcp_echo_interval = IXDR_GET_LONG(buf);
2483 objp->lcp_max_config_requests = IXDR_GET_LONG(buf);
2484 objp->lcp_max_config_naks = IXDR_GET_LONG(buf);
2485 objp->lcp_max_terminate_requests = IXDR_GET_LONG(buf);
2486 objp->lcp_retransmit_interval = IXDR_GET_LONG(buf);
2487 objp->max_connect_time = IXDR_GET_LONG(buf);
2488 objp->max_failure_count = IXDR_GET_LONG(buf);
2489 }
2490 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->local_ip_addr))
2491 return FALSE;
2492 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->peer_ip_addr))
2493 return FALSE;
2494 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->dns_addr_1))
2495 return FALSE;
2496 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->dns_addr_2))
2497 return FALSE;
2498 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->wins_addr_1))
2499 return FALSE;
2500 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->wins_addr_2))
2501 return FALSE;
2502 if (!xdr_optstring (xdrs, &objp->ip_pool_name))
2503 return FALSE;
2504 if (!xdr_bool (xdrs, &objp->use_radius))
2505 return FALSE;
2506 if (!xdr_optstring (xdrs, &objp->radius_hint))
2507 return FALSE;
2508 if (!xdr_bool (xdrs, &objp->use_as_default_route))
2509 return FALSE;
2510 if (!xdr_bool (xdrs, &objp->multilink))
2511 return FALSE;
2512 if (!xdr_optstring (xdrs, &objp->local_name))
2513 return FALSE;
2514 if (!xdr_optstring (xdrs, &objp->remote_name))
2515 return FALSE;
2516 if (!xdr_bool (xdrs, &objp->proxy_arp))
2517 return FALSE;
2518 return TRUE;
2519 }
2520
2521 if (!xdr_uint32_t (xdrs, &objp->flags))
2522 return FALSE;
2523 if (!xdr_uint32_t (xdrs, &objp->flags2))
2524 return FALSE;
2525 if (!xdr_int (xdrs, &objp->result_code))
2526 return FALSE;
2527 if (!xdr_uint32_t (xdrs, &objp->trace_flags))
2528 return FALSE;
2529 if (!xdr_uint32_t (xdrs, &objp->trace_flags_mask))
2530 return FALSE;
2531 if (!xdr_string (xdrs, &objp->profile_name, ~0))
2532 return FALSE;
2533 if (!xdr_uint32_t (xdrs, &objp->asyncmap))
2534 return FALSE;
2535 if (!xdr_uint16_t (xdrs, &objp->mru))
2536 return FALSE;
2537 if (!xdr_uint16_t (xdrs, &objp->mtu))
2538 return FALSE;
2539 if (!xdr_bool (xdrs, &objp->auth_none))
2540 return FALSE;
2541 if (!xdr_bool (xdrs, &objp->auth_peer))
2542 return FALSE;
2543 if (!xdr_bool (xdrs, &objp->auth_refuse_pap))
2544 return FALSE;
2545 if (!xdr_bool (xdrs, &objp->auth_refuse_chap))
2546 return FALSE;
2547 if (!xdr_bool (xdrs, &objp->auth_refuse_mschap))
2548 return FALSE;
2549 if (!xdr_bool (xdrs, &objp->auth_refuse_mschapv2))
2550 return FALSE;
2551 if (!xdr_bool (xdrs, &objp->auth_refuse_eap))
2552 return FALSE;
2553 if (!xdr_l2tp_api_ppp_sync_mode (xdrs, &objp->sync_mode))
2554 return FALSE;
2555 if (!xdr_int (xdrs, &objp->chap_interval))
2556 return FALSE;
2557 if (!xdr_int (xdrs, &objp->chap_max_challenge))
2558 return FALSE;
2559 if (!xdr_int (xdrs, &objp->chap_restart))
2560 return FALSE;
2561 if (!xdr_int (xdrs, &objp->pap_max_auth_requests))
2562 return FALSE;
2563 if (!xdr_int (xdrs, &objp->pap_restart_interval))
2564 return FALSE;
2565 if (!xdr_int (xdrs, &objp->pap_timeout))
2566 return FALSE;
2567 if (!xdr_int (xdrs, &objp->idle_timeout))
2568 return FALSE;
2569 if (!xdr_int (xdrs, &objp->ipcp_max_config_requests))
2570 return FALSE;
2571 if (!xdr_int (xdrs, &objp->ipcp_max_config_naks))
2572 return FALSE;
2573 if (!xdr_int (xdrs, &objp->ipcp_max_terminate_requests))
2574 return FALSE;
2575 if (!xdr_int (xdrs, &objp->ipcp_retransmit_interval))
2576 return FALSE;
2577 if (!xdr_int (xdrs, &objp->lcp_echo_failure_count))
2578 return FALSE;
2579 if (!xdr_int (xdrs, &objp->lcp_echo_interval))
2580 return FALSE;
2581 if (!xdr_int (xdrs, &objp->lcp_max_config_requests))
2582 return FALSE;
2583 if (!xdr_int (xdrs, &objp->lcp_max_config_naks))
2584 return FALSE;
2585 if (!xdr_int (xdrs, &objp->lcp_max_terminate_requests))
2586 return FALSE;
2587 if (!xdr_int (xdrs, &objp->lcp_retransmit_interval))
2588 return FALSE;
2589 if (!xdr_int (xdrs, &objp->max_connect_time))
2590 return FALSE;
2591 if (!xdr_int (xdrs, &objp->max_failure_count))
2592 return FALSE;
2593 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->local_ip_addr))
2594 return FALSE;
2595 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->peer_ip_addr))
2596 return FALSE;
2597 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->dns_addr_1))
2598 return FALSE;
2599 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->dns_addr_2))
2600 return FALSE;
2601 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->wins_addr_1))
2602 return FALSE;
2603 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->wins_addr_2))
2604 return FALSE;
2605 if (!xdr_optstring (xdrs, &objp->ip_pool_name))
2606 return FALSE;
2607 if (!xdr_bool (xdrs, &objp->use_radius))
2608 return FALSE;
2609 if (!xdr_optstring (xdrs, &objp->radius_hint))
2610 return FALSE;
2611 if (!xdr_bool (xdrs, &objp->use_as_default_route))
2612 return FALSE;
2613 if (!xdr_bool (xdrs, &objp->multilink))
2614 return FALSE;
2615 if (!xdr_optstring (xdrs, &objp->local_name))
2616 return FALSE;
2617 if (!xdr_optstring (xdrs, &objp->remote_name))
2618 return FALSE;
2619 if (!xdr_bool (xdrs, &objp->proxy_arp))
2620 return FALSE;
2621 return TRUE;
2622 }
2623
2624 bool_t
2625 xdr_l2tp_api_ppp_profile_list_entry (XDR *xdrs, l2tp_api_ppp_profile_list_entry *objp)
2626 {
2627 register int32_t *buf;
2628
2629 if (!xdr_string (xdrs, &objp->profile_name, ~0))
2630 return FALSE;
2631 if (!xdr_pointer (xdrs, (char **)&objp->next, sizeof (l2tp_api_ppp_profile_list_entry), (xdrproc_t) xdr_l2tp_api_ppp_profile_list_entry))
2632 return FALSE;
2633 return TRUE;
2634 }
2635
2636 bool_t
2637 xdr_l2tp_api_ppp_profile_list_msg_data (XDR *xdrs, l2tp_api_ppp_profile_list_msg_data *objp)
2638 {
2639 register int32_t *buf;
2640
2641 if (!xdr_int (xdrs, &objp->result))
2642 return FALSE;
2643 if (!xdr_int (xdrs, &objp->num_profiles))
2644 return FALSE;
2645 if (!xdr_pointer (xdrs, (char **)&objp->profiles, sizeof (l2tp_api_ppp_profile_list_entry), (xdrproc_t) xdr_l2tp_api_ppp_profile_list_entry))
2646 return FALSE;
2647 return TRUE;
2648 }
2649
2650 bool_t
2651 xdr_l2tp_api_ppp_profile_unset_msg_data (XDR *xdrs, l2tp_api_ppp_profile_unset_msg_data *objp)
2652 {
2653 register int32_t *buf;
2654
2655 if (!xdr_uint32_t (xdrs, &objp->flags))
2656 return FALSE;
2657 if (!xdr_uint32_t (xdrs, &objp->flags2))
2658 return FALSE;
2659 if (!xdr_int (xdrs, &objp->result_code))
2660 return FALSE;
2661 if (!xdr_string (xdrs, &objp->profile_name, ~0))
2662 return FALSE;
2663 return TRUE;
2664 }
2665
2666 bool_t
2667 xdr_l2tp_api_user_list_entry (XDR *xdrs, l2tp_api_user_list_entry *objp)
2668 {
2669 register int32_t *buf;
2670
2671 if (!xdr_string (xdrs, &objp->user_name, ~0))
2672 return FALSE;
2673 if (!xdr_string (xdrs, &objp->create_time, ~0))
2674 return FALSE;
2675 if (!xdr_bool (xdrs, &objp->created_by_admin))
2676 return FALSE;
2677 if (!xdr_uint16_t (xdrs, &objp->tunnel_id))
2678 return FALSE;
2679 if (!xdr_uint16_t (xdrs, &objp->session_id))
2680 return FALSE;
2681 if (!xdr_pointer (xdrs, (char **)&objp->next, sizeof (l2tp_api_user_list_entry), (xdrproc_t) xdr_l2tp_api_user_list_entry))
2682 return FALSE;
2683 return TRUE;
2684 }
2685
2686 bool_t
2687 xdr_l2tp_api_user_list_msg_data (XDR *xdrs, l2tp_api_user_list_msg_data *objp)
2688 {
2689 register int32_t *buf;
2690
2691 if (!xdr_int (xdrs, &objp->result))
2692 return FALSE;
2693 if (!xdr_int (xdrs, &objp->num_users))
2694 return FALSE;
2695 if (!xdr_pointer (xdrs, (char **)&objp->users, sizeof (l2tp_api_user_list_entry), (xdrproc_t) xdr_l2tp_api_user_list_entry))
2696 return FALSE;
2697 return TRUE;
2698 }
2699
2700 bool_t
2701 xdr_l2tp_api_test_trigger_type (XDR *xdrs, l2tp_api_test_trigger_type *objp)
2702 {
2703 register int32_t *buf;
2704
2705 if (!xdr_enum (xdrs, (enum_t *) objp))
2706 return FALSE;
2707 return TRUE;
2708 }
2709
2710 bool_t
2711 xdr_l2tp_api_test_msg_data (XDR *xdrs, l2tp_api_test_msg_data *objp)
2712 {
2713 register int32_t *buf;
2714
2715
2716 if (xdrs->x_op == XDR_ENCODE) {
2717 if (!xdr_uint32_t (xdrs, &objp->flags))
2718 return FALSE;
2719 buf = XDR_INLINE (xdrs, 9 * BYTES_PER_XDR_UNIT);
2720 if (buf == NULL) {
2721 if (!xdr_bool (xdrs, &objp->fake_rx_drop))
2722 return FALSE;
2723 if (!xdr_bool (xdrs, &objp->fake_tx_drop))
2724 return FALSE;
2725 if (!xdr_bool (xdrs, &objp->fake_trigger_fired))
2726 return FALSE;
2727 if (!xdr_bool (xdrs, &objp->hold_tunnels))
2728 return FALSE;
2729 if (!xdr_bool (xdrs, &objp->hold_sessions))
2730 return FALSE;
2731 if (!xdr_bool (xdrs, &objp->no_random_ids))
2732 return FALSE;
2733 if (!xdr_bool (xdrs, &objp->show_profile_usage))
2734 return FALSE;
2735 if (!xdr_int (xdrs, &objp->num_rx_drops))
2736 return FALSE;
2737 if (!xdr_int (xdrs, &objp->num_tx_drops))
2738 return FALSE;
2739
2740 } else {
2741 IXDR_PUT_BOOL(buf, objp->fake_rx_drop);
2742 IXDR_PUT_BOOL(buf, objp->fake_tx_drop);
2743 IXDR_PUT_BOOL(buf, objp->fake_trigger_fired);
2744 IXDR_PUT_BOOL(buf, objp->hold_tunnels);
2745 IXDR_PUT_BOOL(buf, objp->hold_sessions);
2746 IXDR_PUT_BOOL(buf, objp->no_random_ids);
2747 IXDR_PUT_BOOL(buf, objp->show_profile_usage);
2748 IXDR_PUT_LONG(buf, objp->num_rx_drops);
2749 IXDR_PUT_LONG(buf, objp->num_tx_drops);
2750 }
2751 if (!xdr_l2tp_api_test_trigger_type (xdrs, &objp->fake_trigger_type))
2752 return FALSE;
2753 if (!xdr_uint16_t (xdrs, &objp->tunnel_id))
2754 return FALSE;
2755 if (!xdr_uint16_t (xdrs, &objp->session_id))
2756 return FALSE;
2757 buf = XDR_INLINE (xdrs, 6 * BYTES_PER_XDR_UNIT);
2758 if (buf == NULL) {
2759 if (!xdr_int (xdrs, &objp->num_tunnel_id_hash_hits))
2760 return FALSE;
2761 if (!xdr_int (xdrs, &objp->num_tunnel_id_hash_misses))
2762 return FALSE;
2763 if (!xdr_int (xdrs, &objp->num_tunnel_name_hash_hits))
2764 return FALSE;
2765 if (!xdr_int (xdrs, &objp->num_tunnel_name_hash_misses))
2766 return FALSE;
2767 if (!xdr_int (xdrs, &objp->num_session_id_hash_hits))
2768 return FALSE;
2769 if (!xdr_int (xdrs, &objp->num_session_id_hash_misses))
2770 return FALSE;
2771 } else {
2772 IXDR_PUT_LONG(buf, objp->num_tunnel_id_hash_hits);
2773 IXDR_PUT_LONG(buf, objp->num_tunnel_id_hash_misses);
2774 IXDR_PUT_LONG(buf, objp->num_tunnel_name_hash_hits);
2775 IXDR_PUT_LONG(buf, objp->num_tunnel_name_hash_misses);
2776 IXDR_PUT_LONG(buf, objp->num_session_id_hash_hits);
2777 IXDR_PUT_LONG(buf, objp->num_session_id_hash_misses);
2778 }
2779 return TRUE;
2780 } else if (xdrs->x_op == XDR_DECODE) {
2781 if (!xdr_uint32_t (xdrs, &objp->flags))
2782 return FALSE;
2783 buf = XDR_INLINE (xdrs, 9 * BYTES_PER_XDR_UNIT);
2784 if (buf == NULL) {
2785 if (!xdr_bool (xdrs, &objp->fake_rx_drop))
2786 return FALSE;
2787 if (!xdr_bool (xdrs, &objp->fake_tx_drop))
2788 return FALSE;
2789 if (!xdr_bool (xdrs, &objp->fake_trigger_fired))
2790 return FALSE;
2791 if (!xdr_bool (xdrs, &objp->hold_tunnels))
2792 return FALSE;
2793 if (!xdr_bool (xdrs, &objp->hold_sessions))
2794 return FALSE;
2795 if (!xdr_bool (xdrs, &objp->no_random_ids))
2796 return FALSE;
2797 if (!xdr_bool (xdrs, &objp->show_profile_usage))
2798 return FALSE;
2799 if (!xdr_int (xdrs, &objp->num_rx_drops))
2800 return FALSE;
2801 if (!xdr_int (xdrs, &objp->num_tx_drops))
2802 return FALSE;
2803
2804 } else {
2805 objp->fake_rx_drop = IXDR_GET_BOOL(buf);
2806 objp->fake_tx_drop = IXDR_GET_BOOL(buf);
2807 objp->fake_trigger_fired = IXDR_GET_BOOL(buf);
2808 objp->hold_tunnels = IXDR_GET_BOOL(buf);
2809 objp->hold_sessions = IXDR_GET_BOOL(buf);
2810 objp->no_random_ids = IXDR_GET_BOOL(buf);
2811 objp->show_profile_usage = IXDR_GET_BOOL(buf);
2812 objp->num_rx_drops = IXDR_GET_LONG(buf);
2813 objp->num_tx_drops = IXDR_GET_LONG(buf);
2814 }
2815 if (!xdr_l2tp_api_test_trigger_type (xdrs, &objp->fake_trigger_type))
2816 return FALSE;
2817 if (!xdr_uint16_t (xdrs, &objp->tunnel_id))
2818 return FALSE;
2819 if (!xdr_uint16_t (xdrs, &objp->session_id))
2820 return FALSE;
2821 buf = XDR_INLINE (xdrs, 6 * BYTES_PER_XDR_UNIT);
2822 if (buf == NULL) {
2823 if (!xdr_int (xdrs, &objp->num_tunnel_id_hash_hits))
2824 return FALSE;
2825 if (!xdr_int (xdrs, &objp->num_tunnel_id_hash_misses))
2826 return FALSE;
2827 if (!xdr_int (xdrs, &objp->num_tunnel_name_hash_hits))
2828 return FALSE;
2829 if (!xdr_int (xdrs, &objp->num_tunnel_name_hash_misses))
2830 return FALSE;
2831 if (!xdr_int (xdrs, &objp->num_session_id_hash_hits))
2832 return FALSE;
2833 if (!xdr_int (xdrs, &objp->num_session_id_hash_misses))
2834 return FALSE;
2835 } else {
2836 objp->num_tunnel_id_hash_hits = IXDR_GET_LONG(buf);
2837 objp->num_tunnel_id_hash_misses = IXDR_GET_LONG(buf);
2838 objp->num_tunnel_name_hash_hits = IXDR_GET_LONG(buf);
2839 objp->num_tunnel_name_hash_misses = IXDR_GET_LONG(buf);
2840 objp->num_session_id_hash_hits = IXDR_GET_LONG(buf);
2841 objp->num_session_id_hash_misses = IXDR_GET_LONG(buf);
2842 }
2843 return TRUE;
2844 }
2845
2846 if (!xdr_uint32_t (xdrs, &objp->flags))
2847 return FALSE;
2848 if (!xdr_bool (xdrs, &objp->fake_rx_drop))
2849 return FALSE;
2850 if (!xdr_bool (xdrs, &objp->fake_tx_drop))
2851 return FALSE;
2852 if (!xdr_bool (xdrs, &objp->fake_trigger_fired))
2853 return FALSE;
2854 if (!xdr_bool (xdrs, &objp->hold_tunnels))
2855 return FALSE;
2856 if (!xdr_bool (xdrs, &objp->hold_sessions))
2857 return FALSE;
2858 if (!xdr_bool (xdrs, &objp->no_random_ids))
2859 return FALSE;
2860 if (!xdr_bool (xdrs, &objp->show_profile_usage))
2861 return FALSE;
2862 if (!xdr_int (xdrs, &objp->num_rx_drops))
2863 return FALSE;
2864 if (!xdr_int (xdrs, &objp->num_tx_drops))
2865 return FALSE;
2866 if (!xdr_l2tp_api_test_trigger_type (xdrs, &objp->fake_trigger_type))
2867 return FALSE;
2868 if (!xdr_uint16_t (xdrs, &objp->tunnel_id))
2869 return FALSE;
2870 if (!xdr_uint16_t (xdrs, &objp->session_id))
2871 return FALSE;
2872 if (!xdr_int (xdrs, &objp->num_tunnel_id_hash_hits))
2873 return FALSE;
2874 if (!xdr_int (xdrs, &objp->num_tunnel_id_hash_misses))
2875 return FALSE;
2876 if (!xdr_int (xdrs, &objp->num_tunnel_name_hash_hits))
2877 return FALSE;
2878 if (!xdr_int (xdrs, &objp->num_tunnel_name_hash_misses))
2879 return FALSE;
2880 if (!xdr_int (xdrs, &objp->num_session_id_hash_hits))
2881 return FALSE;
2882 if (!xdr_int (xdrs, &objp->num_session_id_hash_misses))
2883 return FALSE;
2884 return TRUE;
2885 }
2886
2887 bool_t
2888 xdr_l2tp_tunnel_delete_1_argument (XDR *xdrs, l2tp_tunnel_delete_1_argument *objp)
2889 {
2890 if (!xdr_uint16_t (xdrs, &objp->tunnel_id))
2891 return FALSE;
2892 if (!xdr_optstring (xdrs, &objp->tunnel_name))
2893 return FALSE;
2894 if (!xdr_optstring (xdrs, &objp->reason))
2895 return FALSE;
2896 return TRUE;
2897 }
2898
2899 bool_t
2900 xdr_l2tp_tunnel_get_1_argument (XDR *xdrs, l2tp_tunnel_get_1_argument *objp)
2901 {
2902 if (!xdr_uint16_t (xdrs, &objp->tunnel_id))
2903 return FALSE;
2904 if (!xdr_optstring (xdrs, &objp->tunnel_name))
2905 return FALSE;
2906 return TRUE;
2907 }
2908
2909 bool_t
2910 xdr_l2tp_session_delete_1_argument (XDR *xdrs, l2tp_session_delete_1_argument *objp)
2911 {
2912 if (!xdr_uint16_t (xdrs, &objp->tunnel_id))
2913 return FALSE;
2914 if (!xdr_optstring (xdrs, &objp->tunnel_name))
2915 return FALSE;
2916 if (!xdr_uint16_t (xdrs, &objp->session_id))
2917 return FALSE;
2918 if (!xdr_optstring (xdrs, &objp->session_name))
2919 return FALSE;
2920 if (!xdr_optstring (xdrs, &objp->reason))
2921 return FALSE;
2922 return TRUE;
2923 }
2924
2925 bool_t
2926 xdr_l2tp_session_get_1_argument (XDR *xdrs, l2tp_session_get_1_argument *objp)
2927 {
2928 if (!xdr_uint16_t (xdrs, &objp->tunnel_id))
2929 return FALSE;
2930 if (!xdr_optstring (xdrs, &objp->tunnel_name))
2931 return FALSE;
2932 if (!xdr_uint16_t (xdrs, &objp->session_id))
2933 return FALSE;
2934 if (!xdr_optstring (xdrs, &objp->session_name))
2935 return FALSE;
2936 return TRUE;
2937 }
2938
2939 bool_t
2940 xdr_l2tp_session_list_1_argument (XDR *xdrs, l2tp_session_list_1_argument *objp)
2941 {
2942 if (!xdr_uint16_t (xdrs, &objp->tunnel_id))
2943 return FALSE;
2944 if (!xdr_optstring (xdrs, &objp->tunnel_name))
2945 return FALSE;
2946 return TRUE;
2947 }
2948
2949 bool_t
2950 xdr_l2tp_peer_get_1_argument (XDR *xdrs, l2tp_peer_get_1_argument *objp)
2951 {
2952 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->local_addr))
2953 return FALSE;
2954 if (!xdr_l2tp_api_ip_addr (xdrs, &objp->peer_addr))
2955 return FALSE;
2956 return TRUE;
2957 }