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