|
|
1.1 root 1: #include <stdio.h>
2: #define TPPT
3:
4: #include <sys/param.h>
5: #include <sys/systm.h>
6: #include <sys/mbuf.h>
7: #include <sys/socket.h>
8: #include <sys/socketvar.h>
9: #include <sys/types.h>
10: #include <sys/time.h>
11:
12: #include <netiso/tp_param.h>
13: #include <netiso/tp_timer.h>
14: #include <netiso/tp_stat.h>
15: #include <netiso/tp_param.h>
16: #include <netiso/tp_ip.h>
17: #include <netiso/tp_pcb.h>
18: #include <netiso/tp_tpdu.h>
19: #include <netiso/argo_debug.h>
20: #include <netiso/tp_trace.h>
21:
22: static tp_seq = 0;
23: u_char tp_traceflags[128];
24:
25: main(argc, argv)
26: {
27:
28: }
29:
30: #ifdef notdef
31:
32: tpprint(tp)
33: register struct tp_Trace *tp;
34: {
35: /*tptrace(tpcb, event, arg, src, len, arg4, arg5)*/
36: struct tp_pcb *tpcb;
37: u_int event, arg;
38: u_int src;
39: u_int len;
40: u_int arg4;
41: u_int arg5;
42:
43: tp->tpt_event = event;
44: tp->tpt_tseq = tp_seq++;
45: tp->tpt_arg = arg;
46: if(tpcb)
47: tp->tpt_arg2 = tpcb->tp_lref;
48: bcopy( (caddr_t)&time, (caddr_t)&tp->tpt_time, sizeof(struct timeval) );
49:
50: switch(tp->tpt_event) {
51:
52: case TPPTertpdu:
53: bcopy((caddr_t)src, (caddr_t)&tp->tpt_ertpdu,
54: (unsigned)MIN((int)len, sizeof(struct tp_Trace)));
55: break;
56:
57: case TPPTusrreq:
58: case TPPTmisc:
59:
60: printf(tp->tpt_str,
61: tp->tpt_m2/* = src */,
62: tp->tpt_m3/* = len */,
63: tp->tpt_m4/* = arg4 */,
64: tp->tpt_m1/* = arg5 */);
65:
66: case TPPTgotXack:
67: case TPPTXack:
68: case TPPTsendack:
69: case TPPTgotack:
70: case TPPTack:
71: case TPPTindicate:
72: default:
73: case TPPTdriver:
74: tp->tpt_m2 = arg;
75: tp->tpt_m3 = src;
76: tp->tpt_m4 = len;
77: tp->tpt_m5 = arg4;
78: tp->tpt_m1 = arg5;
79: break;
80: case TPPTparam:
81: bcopy((caddr_t)src, (caddr_t)&tp->tpt_param, sizeof(struct tp_param));
82: break;
83: case TPPTref:
84: bcopy((caddr_t)src, (caddr_t)&tp->tpt_ref, sizeof(struct tp_ref));
85: break;
86:
87: case TPPTtpduin:
88: case TPPTtpduout:
89: tp->tpt_arg2 = arg4;
90: bcopy((caddr_t)src, (caddr_t)&tp->tpt_tpdu,
91: (unsigned)MIN((int)len, sizeof(struct tp_Trace)));
92: break;
93: }
94: }
95: #endif
96:
97: char tpdu_types[][4] = {
98: "#0", "XPD", "XAK", "GR", "#4", "#5", "AK", "ER",
99: "DR", "#9", "#10", "#11", "DC", "CC", "CR", "DT"};
100:
101: p_tpdu(tpdu, xtype)
102: struct tpdu *tpdu;
103: {
104: struct tpdu t = *tpdu;
105: int type = t.tpdu_type;
106:
107: printf("<(%d)%s:", t.tpdu_li, tpdu_types[type]);
108: switch (type) {
109: case DT_TPDU_type:
110: case XPD_TPDU_type:
111: printf("to %x cdt %d seq %d eot %d\>", t.tpdu_dref, t.tpdu_cdt
112: xtype ? t.tpdu_DTseqX : t.tpdu_DTseq,
113: xtype ? t.tpdu_DTeotX : t.tpdu_DTeot);
114: break;
115: }
116: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.