xref: /original-bsd/sys/netccitt/pk_debug.c (revision 04218a6a)
1 /* Copyright (c) University of British Columbia, 1984 */
2 
3 #include "../h/param.h"
4 #include "../h/systm.h"
5 #include "../h/mbuf.h"
6 #include "../h/socket.h"
7 #include "../h/protosw.h"
8 #include "../h/socketvar.h"
9 #include "../h/errno.h"
10 
11 #include "../netccitt/x25.h"
12 #include "../netccitt/pk.h"
13 #include "../netccitt/pk_var.h"
14 
15 char	*pk_state[] = {
16 	"Listen",	"Ready",	"Received-Call",
17 	"Sent-Call",	"Data-Transfer","Received-Clear",
18 	"Sent-Clear",
19 };
20 
21 char   *pk_name[] = {
22 	"Call",		"Call-Conf",	"Clear",
23 	"Clear-Conf",	"Data",		"Intr",		"Intr-Conf",
24 	"Rr",		"Rnr",		"Reset",	"Reset-Conf",
25 	"Restart",	"Restart-Conf",	"Invalid"
26 };
27 
28 pk_trace (xcp, xp, dir)
29 struct x25config *xcp;
30 struct x25_packet *xp;
31 char *dir;
32 {
33 	register char *s;
34 	register struct mbuf *m;
35 	register int i, len = 0, cnt = 0;
36 
37 	if (xcp -> xc_ptrace == 0)
38 		return;
39 
40 	i = pk_decode (xp) / MAXSTATES;
41 	for (m = dtom (xp); m; m = m -> m_next) {
42 		len = len + m -> m_len;
43 		++cnt;
44 	}
45 	printf ("LCN=%d %s:	%s	#=%d, len=%d ",
46 		xp -> logical_channel_number, dir, pk_name[i], cnt, len);
47 	for (s = (char *) xp, i = 0; i < 5; ++i, ++s)
48 		printf ("%x ", (int) * s & 0xff);
49 	printf ("\n");
50 }
51