Initial import from FreeBSD RELENG_4:
[dragonfly.git] / sys / netproto / atm / uni / unisig_print.c
1 /*
2  *
3  * ===================================
4  * HARP  |  Host ATM Research Platform
5  * ===================================
6  *
7  *
8  * This Host ATM Research Platform ("HARP") file (the "Software") is
9  * made available by Network Computing Services, Inc. ("NetworkCS")
10  * "AS IS".  NetworkCS does not provide maintenance, improvements or
11  * support of any kind.
12  *
13  * NETWORKCS MAKES NO WARRANTIES OR REPRESENTATIONS, EXPRESS OR IMPLIED,
14  * INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
15  * AND FITNESS FOR A PARTICULAR PURPOSE, AS TO ANY ELEMENT OF THE
16  * SOFTWARE OR ANY SUPPORT PROVIDED IN CONNECTION WITH THIS SOFTWARE.
17  * In no event shall NetworkCS be responsible for any damages, including
18  * but not limited to consequential damages, arising from or relating to
19  * any use of the Software or related support.
20  *
21  * Copyright 1994-1998 Network Computing Services, Inc.
22  *
23  * Copies of this Software may be made, however, the above copyright
24  * notice must be reproduced on all copies.
25  *
26  *      @(#) $FreeBSD: src/sys/netatm/uni/unisig_print.c,v 1.4 2000/01/17 20:49:57 mks Exp $
27  *
28  */
29
30 /*
31  * ATM Forum UNI 3.0/3.1 Signalling Manager
32  * ----------------------------------------
33  *
34  * Print Q.2931 messages
35  *
36  */
37
38 #include <netatm/kern_include.h>
39
40 #include <netatm/uni/unisig_var.h>
41 #include <netatm/uni/unisig_msg.h>
42 #include <netatm/uni/unisig_print.h>
43
44 #ifndef lint
45 __RCSID("@(#) $FreeBSD: src/sys/netatm/uni/unisig_print.c,v 1.4 2000/01/17 20:49:57 mks Exp $");
46 #endif
47
48
49 /*
50  * Local declarations
51  */
52 struct type_name {
53         char    *name;
54         u_char  type;
55 };
56
57
58 /*
59  * Local functions
60  */
61 static char *   find_type __P((struct type_name *, u_char));
62 static void     usp_print_atm_addr __P((Atm_addr *));
63 static void     usp_print_ie __P((struct ie_generic *));
64 static void     usp_print_ie_aalp __P((struct ie_generic *));
65 static void     usp_print_ie_clrt __P((struct ie_generic *));
66 static void     usp_print_ie_bbcp __P((struct ie_generic *));
67 static void     usp_print_ie_bhli __P((struct ie_generic *));
68 static void     usp_print_ie_blli __P((struct ie_generic *));
69 static void     usp_print_ie_clst __P((struct ie_generic *));
70 static void     usp_print_ie_cdad __P((struct ie_generic *));
71 static void     usp_print_ie_cdsa __P((struct ie_generic *));
72 static void     usp_print_ie_cgad __P((struct ie_generic *));
73 static void     usp_print_ie_cgsa __P((struct ie_generic *));
74 static void     usp_print_ie_caus __P((struct ie_generic *));
75 static void     usp_print_ie_cnid __P((struct ie_generic *));
76 static void     usp_print_ie_qosp __P((struct ie_generic *));
77 static void     usp_print_ie_brpi __P((struct ie_generic *));
78 static void     usp_print_ie_rsti __P((struct ie_generic *));
79 static void     usp_print_ie_blsh __P((struct ie_generic *));
80 static void     usp_print_ie_bnsh __P((struct ie_generic *));
81 static void     usp_print_ie_bsdc __P((struct ie_generic *));
82 static void     usp_print_ie_trnt __P((struct ie_generic *));
83 static void     usp_print_ie_eprf __P((struct ie_generic *));
84 static void     usp_print_ie_epst __P((struct ie_generic *));
85
86
87 /*
88  * Values for Q.2931 message type.
89  */
90 static struct type_name msg_types[] = {
91         { "Call proceeding",    0x02 },
92         { "Connect",            0x07 },
93         { "Connect ACK",        0x0F },
94         { "Setup",              0x05 },
95         { "Release",            0x4D },
96         { "Release complete",   0x5A },
97         { "Restart",            0x46 },
98         { "Restart ACK",        0x4E },
99         { "Status",             0x7D },
100         { "Status enquiry",     0x75 },
101         { "Add party",          0x80 },
102         { "Add party ACK",      0x81 },
103         { "Add party reject",   0x82 },
104         { "Drop party",         0x83 },
105         { "Drop party ACK",     0x84 },
106         {0,                     0}
107 };
108
109
110 /*
111  * Values for information element identifier.
112  */
113 static struct type_name ie_types[] = {
114         { "Cause",                              0x08 },
115         { "Call state",                         0x14 },
116         { "Endpoint reference",                 0x54 },
117         { "Endpoint state",                     0x55 },
118         { "ATM AAL parameters",                 0x58 },
119         { "ATM user cell rate",                 0x59 },
120         { "Connection ID",                      0x5A },
121         { "QoS parameter",                      0x5C },
122         { "Broadband high layer info",          0x5D },
123         { "Broadband bearer capability",        0x5E },
124         { "Broadband low layer info",           0x5F },
125         { "Broadband locking shift",            0x60 },
126         { "Broadband non-locking shift",        0x61 },
127         { "Broadband sending complete",         0x62 },
128         { "Broadband repeat indicator",         0x63 },
129         { "Calling party number",               0x6C },
130         { "Calling party subaddress",           0x6D },
131         { "Called party number",                0x70 },
132         { "Called party subaddress",            0x71 },
133         { "Transit net selection",              0x78 },
134         { "Restart indicator",                  0x79 },
135         { 0,                                    0 }
136 };
137
138
139 /*
140  * Search a name - type translation table
141  *
142  * Arguments:
143  *      tbl     a pointer to the table to search
144  *      type    the type to look for
145  *
146  * Returns:
147  *      name    a pointer to a character string with the name
148  *
149  */
150 static char *
151 find_type(tbl, type)
152         struct type_name        *tbl;
153         u_char                  type;
154 {
155         while (type != tbl->type && tbl->name)
156                 tbl++;
157
158         if (tbl->name)
159                 return(tbl->name);
160         else
161                 return("-");
162 }
163
164
165 /*
166  * Print an ATM address
167  *
168  * Arguments:
169  *      p       pointer to a Atm_address
170  *
171  * Returns:
172  *      none
173  *
174  */
175 static void
176 usp_print_atm_addr(p)
177         Atm_addr                *p;
178 {
179         char            *cp;
180
181         cp = unisig_addr_print(p);
182         printf("%s", cp);
183 }
184
185
186 /*
187  * Print a Q.2931 message structure
188  *
189  * Arguments:
190  *      msg     pointer to the message to print
191  *
192  * Returns:
193  *      None
194  *
195  */
196 void
197 usp_print_msg(msg, dir)
198         struct unisig_msg       *msg;
199         int                     dir;
200 {
201         char                    *name;
202         int                     i;
203         struct ie_generic       *ie, *inxt;
204
205         name = find_type(msg_types, msg->msg_type);
206         switch (dir) {
207         case UNISIG_MSG_IN:
208                 printf("Received ");
209                 break;
210         case UNISIG_MSG_OUT:
211                 printf("Sent ");
212                 break;
213         }
214         printf("message: %s (%x)\n", name, msg->msg_type);
215         printf("    Call reference:      0x%x\n", msg->msg_call_ref);
216 #ifdef LONG_PRINT
217         printf("    Message type flag:   0x%x\n", msg->msg_type_flag);
218         printf("    Message type action: 0x%x\n", msg->msg_type_action);
219         printf("    Message length:      %d\n", msg->msg_length);
220         for (i=0; i<UNI_MSG_IE_CNT; i++) {
221                 ie = msg->msg_ie_vec[i];
222                 while (ie) {
223                         inxt = ie->ie_next;
224                         usp_print_ie(ie);
225                         ie = inxt;
226                 }
227         }
228 #else
229         for (i=0; i<UNI_MSG_IE_CNT; i++)
230         {
231                 ie = msg->msg_ie_vec[i];
232                 while (ie) {
233                         inxt = ie->ie_next;
234                         name = find_type(ie_types, ie->ie_ident);
235                         if (ie->ie_ident == UNI_IE_CAUS ||
236                                         ie->ie_ident == UNI_IE_RSTI ||
237                                         ie->ie_ident == UNI_IE_CLST) {
238                                 usp_print_ie(ie);
239                         } else {
240                                 printf("    Information element: %s (0x%x)\n",
241                                                 name, ie->ie_ident);
242                         }
243                         ie = inxt;
244                 }
245         }
246 #endif
247 }
248
249
250 /*
251  * Print a Q.2931 information element
252  *
253  * Arguments:
254  *      ie      pointer to the IE to print
255  *
256  * Returns:
257  *      None
258  *
259  */
260 static void
261 usp_print_ie(ie)
262         struct ie_generic       *ie;
263 {
264         char    *name;
265
266         while (ie) {
267                 name = find_type(ie_types, ie->ie_ident);
268                 printf("    Information element: %s (0x%x)\n",
269                                 name, ie->ie_ident);
270 #ifdef LONG_PRINT
271                 printf("        Coding:        0x%x\n",
272                                 ie->ie_coding);
273                 printf("        Flag:          0x%x\n", ie->ie_flag);
274                 printf("        Action:        0x%x\n",
275                                 ie->ie_action);
276                 printf("        Length:        %d\n", ie->ie_length);
277 #endif
278
279                 switch (ie->ie_ident) {
280                 case UNI_IE_AALP:
281                         usp_print_ie_aalp(ie);
282                         break;
283                 case UNI_IE_CLRT:
284                         usp_print_ie_clrt(ie);
285                         break;
286                 case UNI_IE_BBCP:
287                         usp_print_ie_bbcp(ie);
288                         break;
289                 case UNI_IE_BHLI:
290                         usp_print_ie_bhli(ie);
291                         break;
292                 case UNI_IE_BLLI:
293                         usp_print_ie_blli(ie);
294                         break;
295                 case UNI_IE_CLST:
296                         usp_print_ie_clst(ie);
297                         break;
298                 case UNI_IE_CDAD:
299                         usp_print_ie_cdad(ie);
300                         break;
301                 case UNI_IE_CDSA:
302                         usp_print_ie_cdsa(ie);
303                         break;
304                 case UNI_IE_CGAD:
305                         usp_print_ie_cgad(ie);
306                         break;
307                 case UNI_IE_CGSA:
308                         usp_print_ie_cgsa(ie);
309                         break;
310                 case UNI_IE_CAUS:
311                         usp_print_ie_caus(ie);
312                         break;
313                 case UNI_IE_CNID:
314                         usp_print_ie_cnid(ie);
315                         break;
316                 case UNI_IE_QOSP:
317                         usp_print_ie_qosp(ie);
318                         break;
319                 case UNI_IE_BRPI:
320                         usp_print_ie_brpi(ie);
321                         break;
322                 case UNI_IE_RSTI:
323                         usp_print_ie_rsti(ie);
324                         break;
325                 case UNI_IE_BLSH:
326                         usp_print_ie_blsh(ie);
327                         break;
328                 case UNI_IE_BNSH:
329                         usp_print_ie_bnsh(ie);
330                         break;
331                 case UNI_IE_BSDC:
332                         usp_print_ie_bsdc(ie);
333                         break;
334                 case UNI_IE_TRNT:
335                         usp_print_ie_trnt(ie);
336                         break;
337                 case UNI_IE_EPRF:
338                         usp_print_ie_eprf(ie);
339                         break;
340                 case UNI_IE_EPST:
341                         usp_print_ie_epst(ie);
342                         break;
343                 }
344                 ie = ie->ie_next;
345         }
346 }
347
348
349 /*
350  * Print an AAL parameters information element
351  *
352  * Arguments:
353  *      ie      pointer to the IE to print
354  *
355  * Returns:
356  *      None
357  *
358  */
359 static void
360 usp_print_ie_aalp(ie)
361         struct ie_generic       *ie;
362 {
363         printf("        AAL type:      %d\n", ie->ie_aalp_aal_type);
364         switch(ie->ie_aalp_aal_type) {
365         case UNI_IE_AALP_AT_AAL1:
366                 printf("        Subtype:       0x%x\n",
367                                 ie->ie_aalp_1_subtype);
368                 printf("        CBR rate:      0x%x\n",
369                                 ie->ie_aalp_1_cbr_rate);
370                 printf("        Multiplier:    0x%x\n",
371                                 ie->ie_aalp_1_multiplier);
372                 printf("        Clock rcvry:   0x%x\n",
373                                 ie->ie_aalp_1_clock_recovery);
374                 printf("        Err corr:      0x%x\n",
375                                 ie->ie_aalp_1_error_correction);
376                 printf("        Struct data:   0x%x\n",
377                                 ie->ie_aalp_1_struct_data_tran);
378                 printf("        Partial cells: 0x%x\n",
379                                 ie->ie_aalp_1_partial_cells);
380                 break;
381         case UNI_IE_AALP_AT_AAL3:
382                 printf("        Fwd max SDU:   %d\n",
383                                 ie->ie_aalp_4_fwd_max_sdu);
384                 printf("        Bkwd max SDU:  %d\n",
385                                 ie->ie_aalp_4_bkwd_max_sdu);
386                 printf("        MID range:     %d\n",
387                                 ie->ie_aalp_4_mid_range);
388                 printf("        Mode:          0x%x\n",
389                                 ie->ie_aalp_4_mode);
390                 printf("        SSCS type:     0x%x\n",
391                                 ie->ie_aalp_4_sscs_type);
392                 break;
393         case UNI_IE_AALP_AT_AAL5:
394                 printf("        Fwd max SDU:   %d\n",
395                                 ie->ie_aalp_5_fwd_max_sdu);
396                 printf("        Bkwd max SDU:  %d\n",
397                                 ie->ie_aalp_5_bkwd_max_sdu);
398                 printf("        Mode:          0x%x\n",
399                                 ie->ie_aalp_5_mode);
400                 printf("        SSCS type:     0x%x\n",
401                                 ie->ie_aalp_5_sscs_type);
402                 break;
403         case UNI_IE_AALP_AT_AALU:
404                 printf("        User info:     0x%x %x %x %x\n",
405                                 ie->ie_aalp_user_info[0],
406                                 ie->ie_aalp_user_info[1],
407                                 ie->ie_aalp_user_info[2],
408                                 ie->ie_aalp_user_info[3]);
409                 break;
410         }
411 }
412
413
414 /*
415  * Print a user cell rate information element
416  *
417  * Arguments:
418  *      ie      pointer to the IE to print
419  *
420  * Returns:
421  *      None
422  *
423  */
424 static void
425 usp_print_ie_clrt(ie)
426         struct ie_generic       *ie;
427 {
428         printf("        Forward peak:  %d\n", ie->ie_clrt_fwd_peak);
429         printf("        Backward peak: %d\n", ie->ie_clrt_bkwd_peak);
430         printf("        Fwd peak 01:   %d\n", ie->ie_clrt_fwd_peak_01);
431         printf("        Bkwd peak 01:  %d\n", ie->ie_clrt_bkwd_peak_01);
432         printf("        Fwd sust:      %d\n", ie->ie_clrt_fwd_sust);
433         printf("        Bkwd sust:     %d\n", ie->ie_clrt_bkwd_sust);
434         printf("        Fwd sust 01:   %d\n", ie->ie_clrt_fwd_sust_01);
435         printf("        Bkwd sust 01:  %d\n", ie->ie_clrt_bkwd_sust_01);
436         printf("        Fwd burst:     %d\n", ie->ie_clrt_fwd_burst);
437         printf("        Bkwd burst:    %d\n", ie->ie_clrt_bkwd_burst);
438         printf("        Fwd burst 01:  %d\n", ie->ie_clrt_fwd_burst_01);
439         printf("        Bkwd burst 01: %d\n",
440                         ie->ie_clrt_bkwd_burst_01);
441         printf("        Best effort:   %d\n", ie->ie_clrt_best_effort);
442         printf("        TM optons:     0x%x\n",
443                         ie->ie_clrt_tm_options);
444 }
445
446
447 /*
448  * Print a broadband bearer capability information element
449  *
450  * Arguments:
451  *      ie      pointer to the IE to print
452  *
453  * Returns:
454  *      None
455  *
456  */
457 static void
458 usp_print_ie_bbcp(ie)
459         struct ie_generic       *ie;
460 {
461         printf("        Bearer class:  0x%x\n",
462                         ie->ie_bbcp_bearer_class);
463         printf("        Traffic type:  0x%x\n",
464                         ie->ie_bbcp_traffic_type);
465         printf("        Timing req:    0x%x\n",
466                         ie->ie_bbcp_timing_req);
467         printf("        Clipping:      0x%x\n", ie->ie_bbcp_clipping);
468         printf("        Conn config:   0x%x\n",
469                         ie->ie_bbcp_conn_config);
470 }
471
472
473 /*
474  * Print a broadband high layer information information element
475  *
476  * Arguments:
477  *      ie      pointer to the IE to print
478  *
479  * Returns:
480  *      None
481  *
482  */
483 static void
484 usp_print_ie_bhli(ie)
485         struct ie_generic       *ie;
486 {
487         int     i;
488
489         printf("        Type:          0x%x\n", ie->ie_bhli_type);
490         printf("        HL info:       0x");
491         for (i=0; i<ie->ie_length-1; i++) {
492                 printf("%x ", ie->ie_bhli_info[i]);
493         }
494         printf("\n");
495 }
496
497
498 /*
499  * Print a broadband low-layer information information element
500  *
501  * Arguments:
502  *      ie      pointer to the IE to print
503  *
504  * Returns:
505  *      None
506  *
507  */
508 static void
509 usp_print_ie_blli(ie)
510         struct ie_generic       *ie;
511 {
512         printf("        Layer 1 ID:    0x%x\n", ie->ie_blli_l1_id);
513         printf("        Layer 2 ID:    0x%x\n", ie->ie_blli_l2_id);
514         printf("        Layer 2 mode:  0x%x\n", ie->ie_blli_l2_mode);
515         printf("        Layer 2 Q.933: 0x%x\n",
516                         ie->ie_blli_l2_q933_use);
517         printf("        Layer 2 win:   0x%x\n",
518                         ie->ie_blli_l2_window);
519         printf("        Layer 2 user:  0x%x\n",
520                         ie->ie_blli_l2_user_proto);
521         printf("        Layer 3 ID:    0x%x\n", ie->ie_blli_l3_id);
522         printf("        Layer 3 mode:  0x%x\n", ie->ie_blli_l3_mode);
523         printf("        Layer 3 pkt:   0x%x\n",
524                         ie->ie_blli_l3_packet_size);
525         printf("        Layer 3 win:   0x%x\n",
526                         ie->ie_blli_l3_window);
527         printf("        Layer 3 user:  0x%x\n",
528                         ie->ie_blli_l3_user_proto);
529         printf("        Layer 3 IPI:   0x%x\n", ie->ie_blli_l3_ipi);
530         printf("        Layer 3 SNAP:  0x%x\n",
531                         ie->ie_blli_l3_snap_id);
532         printf("        Layer 3 OUI:   0x%x %x %x\n",
533                         ie->ie_blli_l3_oui[0],
534                         ie->ie_blli_l3_oui[1],
535                         ie->ie_blli_l3_oui[2]);
536         printf("        Layer 3 PID:   0x%x %x\n",
537                         ie->ie_blli_l3_pid[0],
538                         ie->ie_blli_l3_pid[1]);
539 }
540
541
542 /*
543  * Print a call state information element
544  *
545  * Arguments:
546  *      ie      pointer to the IE to print
547  *
548  * Returns:
549  *      None
550  *
551  */
552 static void
553 usp_print_ie_clst(ie)
554         struct ie_generic       *ie;
555 {
556         printf("        Call state:    %d\n",
557                         ie->ie_clst_state);
558 }
559
560
561 /*
562  * Print a called party number information element
563  *
564  * Arguments:
565  *      ie      pointer to the IE to print
566  *
567  * Returns:
568  *      None
569  *
570  */
571 static void
572 usp_print_ie_cdad(ie)
573         struct ie_generic       *ie;
574 {
575         printf("        ATM addr:      ");
576         usp_print_atm_addr(&ie->ie_cdad_addr);
577         printf("\n");
578 }
579
580
581 /*
582  * Print a called party subaddress information element
583  *
584  * Arguments:
585  *      ie      pointer to the IE to print
586  *
587  * Returns:
588  *      None
589  *
590  */
591 static void
592 usp_print_ie_cdsa(ie)
593         struct ie_generic       *ie;
594 {
595         printf("        ATM subaddr:   ");
596         usp_print_atm_addr(&ie->ie_cdsa_addr);
597         printf("\n");
598 }
599
600
601 /*
602  * Print a calling party number information element
603  *
604  * Arguments:
605  *      ie      pointer to the IE to print
606  *
607  * Returns:
608  *      None
609  *
610  */
611 static void
612 usp_print_ie_cgad(ie)
613         struct ie_generic       *ie;
614 {
615         printf("        ATM addr:      ");
616         usp_print_atm_addr(&ie->ie_cgad_addr);
617         printf("\n");
618 }
619
620
621 /*
622  * Print a calling party subaddress information element
623  *
624  * Arguments:
625  *      ie      pointer to the IE to print
626  *
627  * Returns:
628  *      None
629  *
630  */
631 static void
632 usp_print_ie_cgsa(ie)
633         struct ie_generic       *ie;
634 {
635         printf("        ATM subaddr:   ");
636         usp_print_atm_addr(&ie->ie_cgsa_addr);
637         printf("\n");
638 }
639
640
641 /*
642  * Print a cause information element
643  *
644  * Arguments:
645  *      ie      pointer to the IE to print
646  *
647  * Returns:
648  *      None
649  *
650  */
651 static void
652 usp_print_ie_caus(ie)
653         struct ie_generic       *ie;
654 {
655         int     i;
656
657         printf("        Location:      %d\n", ie->ie_caus_loc);
658         printf("        Cause:         %d\n", ie->ie_caus_cause);
659         switch(ie->ie_caus_cause) {
660         case UNI_IE_CAUS_IECONTENT:
661                 printf("        Flagged IEs:   ");
662                 for (i=0; ie->ie_caus_diagnostic[i]; i++) {
663                         printf("0x%x ", ie->ie_caus_diagnostic[i]);
664                 }
665                 printf("\n");
666                 break;
667         case UNI_IE_CAUS_TIMER:
668                 printf("        Timer ID:      %c%c%c\n",
669                                 ie->ie_caus_diagnostic[0],
670                                 ie->ie_caus_diagnostic[1],
671                                 ie->ie_caus_diagnostic[2]);
672                 break;
673         default:
674                 printf("        Diag length:   %d\n",
675                                 ie->ie_caus_diag_len);
676                 printf("        Diagnostic:    ");
677                 for (i=0; i<ie->ie_caus_diag_len; i++) {
678                         printf("0x%x ", ie->ie_caus_diagnostic[i]);
679                 }
680                 printf("\n");
681         }
682 }
683
684
685 /*
686  * Print a connection identifier information element
687  *
688  * Arguments:
689  *      ie      pointer to the IE to print
690  *
691  * Returns:
692  *      None
693  *
694  */
695 static void
696 usp_print_ie_cnid(ie)
697         struct ie_generic       *ie;
698 {
699         printf("        VP assoc sig:  0x%x\n", ie->ie_cnid_vp_sig);
700         printf("        Pref/excl:     0x%x\n",
701                         ie->ie_cnid_pref_excl);
702         printf("        VPCI:          %d\n", ie->ie_cnid_vpci);
703         printf("        VCI:           %d\n", ie->ie_cnid_vci);
704 }
705
706
707 /*
708  * Print a quality of service parameter information element
709  *
710  * Arguments:
711  *      ie      pointer to the IE to print
712  *
713  * Returns:
714  *      None
715  *
716  */
717 static void
718 usp_print_ie_qosp(ie)
719         struct ie_generic       *ie;
720 {
721         printf("        QoS fwd:       0x%x\n",
722                         ie->ie_qosp_fwd_class);
723         printf("        QoS bkwd:      0x%x\n",
724                         ie->ie_qosp_bkwd_class);
725 }
726
727
728 /*
729  * Print a broadband repeat indicator information element
730  *
731  * Arguments:
732  *      ie      pointer to the IE to print
733  *
734  * Returns:
735  *      None
736  *
737  */
738 static void
739 usp_print_ie_brpi(ie)
740         struct ie_generic       *ie;
741 {
742         printf("        Indicator:     0x%x\n", ie->ie_brpi_ind);
743 }
744
745
746 /*
747  * Print a restart indicator information element
748  *
749  * Arguments:
750  *      ie      pointer to the IE to print
751  *
752  * Returns:
753  *      None
754  *
755  */
756 static void
757 usp_print_ie_rsti(ie)
758         struct ie_generic       *ie;
759 {
760         printf("        Class:         0x%x\n", ie->ie_rsti_class);
761 }
762
763
764 /*
765  * Print a broadband locking shift information element
766  *
767  * Arguments:
768  *      ie      pointer to the IE to print
769  *
770  * Returns:
771  *      None
772  *
773  */
774 static void
775 usp_print_ie_blsh(ie)
776         struct ie_generic       *ie;
777 {
778 }
779
780
781 /*
782  * Print a broadband non-locking shift information element
783  *
784  * Arguments:
785  *      ie      pointer to the IE to print
786  *
787  * Returns:
788  *      None
789  *
790  */
791 static void
792 usp_print_ie_bnsh(ie)
793         struct ie_generic       *ie;
794 {
795 }
796
797
798 /*
799  * Print a broadband sending complete information element
800  *
801  * Arguments:
802  *      ie      pointer to the IE to print
803  *
804  * Returns:
805  *      None
806  *
807  */
808 static void
809 usp_print_ie_bsdc(ie)
810         struct ie_generic       *ie;
811 {
812         printf("        Indication:    0x%x\n", ie->ie_bsdc_ind);
813 }
814
815
816 /*
817  * Print a transit net selection information element
818  *
819  * Arguments:
820  *      ie      pointer to the IE to print
821  *
822  * Returns:
823  *      None
824  *
825  */
826 static void
827 usp_print_ie_trnt(ie)
828         struct ie_generic       *ie;
829 {
830 #ifdef NOTDEF
831         struct ie_generic       ie_trnt_hdr;
832         u_char          ie_trnt_id_type;
833         u_char          ie_trnt_id_plan;
834         Atm_addr        ie_trnt_id;
835 #endif
836 }
837
838
839 /*
840  * Print an endpoint reference information element
841  *
842  * Arguments:
843  *      ie      pointer to the IE to print
844  *
845  * Returns:
846  *      None
847  *
848  */
849 static void
850 usp_print_ie_eprf(ie)
851         struct ie_generic       *ie;
852 {
853         printf("        Ref type:      0x%x\n",
854                         ie->ie_eprf_type);
855         printf("        Endpt ref:     0x%x\n",
856                         ie->ie_eprf_id);
857 }
858
859
860 /*
861  * Print an endpoint state information element
862  *
863  * Arguments:
864  *      ie      pointer to the IE to print
865  *
866  * Returns:
867  *      None
868  *
869  */
870 static void
871 usp_print_ie_epst(ie)
872         struct ie_generic       *ie;
873 {
874         printf("        Endpt state:   %d\n",
875                         ie->ie_epst_state);
876 }