branch Attitude Adjustment packages
[12.09/packages.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 }