FreeCalypso > hg > freecalypso-tools
annotate rvinterf/lowlevel/format.c @ 924:d452188587b4
rvinterf: begin change to backslash escape output format
Right now throughout the rvinterf suite, any time we emit output that
is expected to be ASCII, but may contain non-printable garbage, we use
'cat -v' form of garbage character representation. Unfortunately, this
transformation is lossy (can't be reversed 100% reliably in the user's
wetware), hence we would like to migrate to C-style backslash escapes,
including doubling of any already-present backslashes - this escape
mechanism is lossless. Begin this change by converting the output
of RV and L1 traces in rvinterf and rvtdump.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Tue, 23 May 2023 03:10:50 +0000 |
parents | e7502631a0f9 |
children | 85d144f9fe56 |
rev | line source |
---|---|
0
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /* |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 * This module implements the decoding of Rx packets |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 * into human-readable form. |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 */ |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 #include <sys/types.h> |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 #include <stdio.h> |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 #include <string.h> |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 #include <strings.h> |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 #include "../include/pktmux.h" |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 #include "../include/limits.h" |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 extern u_char rxpkt[]; |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 extern size_t rxpkt_len; |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 static char fmtbuf[MAX_PKT_FROM_TARGET*8]; /* size it generously */ |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 void |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 print_rv_trace() |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 { |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 int i, c; |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 char *dp; |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 dp = fmtbuf; |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 strcpy(dp, "RV "); |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 dp += 3; |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 /* the SWE static ID is sent MSB first */ |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 for (i = 1; i <= 4; i++) { |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 sprintf(dp, "%02X", rxpkt[i]); |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 dp += 2; |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 } |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 /* severity level */ |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 sprintf(dp, " %d ", rxpkt[5]); |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 dp = index(dp, '\0'); |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 for (i = 6; i < rxpkt_len; i++) { |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 c = rxpkt[i]; |
924
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
37 switch (c) { |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
38 case '\\': |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
39 *dp++ = '\\'; |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
40 *dp++ = '\\'; |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
41 continue; |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
42 case '\r': |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
43 *dp++ = '\\'; |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
44 *dp++ = 'r'; |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
45 continue; |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
46 case '\n': |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
47 *dp++ = '\\'; |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
48 *dp++ = 'n'; |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
49 continue; |
0
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 } |
924
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
51 if (c >= ' ' && c <= '~') |
0
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 *dp++ = c; |
924
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
53 else if (c <= 7 && (i+1 == rxpkt_len || !isdigit(rxpkt[i+1]))) { |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
54 sprintf(dp, "\\%d", c); |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
55 dp += 2; |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
56 } else { |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
57 sprintf(dp, "\\x%02X", c); |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
58 dp += 4; |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
59 } |
0
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 } |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 *dp = '\0'; |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 output_line(fmtbuf); |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 } |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 void |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 print_l1_trace() |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 { |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 int i, c; |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 char *dp; |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 dp = fmtbuf; |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 strcpy(dp, "L1: "); |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 dp += 4; |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 for (i = 1; i < rxpkt_len; i++) { |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 if ((i+1 < rxpkt_len) && |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 (rxpkt[i] == '\r' && rxpkt[i+1] == '\n' || |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 rxpkt[i] == '\n' && rxpkt[i+1] == '\r')) { |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 *dp = '\0'; |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 output_line(fmtbuf); |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 if (i+2 == rxpkt_len) |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 return; |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 dp = fmtbuf; |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 *dp++ = '+'; |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 *dp++ = ' '; |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 i++; |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 continue; |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 } |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 c = rxpkt[i]; |
924
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
89 switch (c) { |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
90 case '\\': |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
91 *dp++ = '\\'; |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
92 *dp++ = '\\'; |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
93 continue; |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
94 case '\r': |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
95 *dp++ = '\\'; |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
96 *dp++ = 'r'; |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
97 continue; |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
98 case '\n': |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
99 *dp++ = '\\'; |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
100 *dp++ = 'n'; |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
101 continue; |
0
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 } |
924
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
103 if (c >= ' ' && c <= '~') |
0
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 *dp++ = c; |
924
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
105 else if (c <= 7 && (i+1 == rxpkt_len || !isdigit(rxpkt[i+1]))) { |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
106 sprintf(dp, "\\%d", c); |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
107 dp += 2; |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
108 } else { |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
109 sprintf(dp, "\\x%02X", c); |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
110 dp += 4; |
d452188587b4
rvinterf: begin change to backslash escape output format
Mychaela Falconia <falcon@freecalypso.org>
parents:
0
diff
changeset
|
111 } |
0
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 } |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 /* will get here only if no newline sequence at the end */ |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 *dp = '\0'; |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 output_line(fmtbuf); |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 } |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 void |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119 print_g23_trace() |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 { |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 /* messy logic factored out into libg23 */ |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122 format_g23_packet(rxpkt, (int)rxpkt_len, fmtbuf); |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 output_line(fmtbuf); |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 } |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126 void |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127 print_tm_output_raw() |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 { |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129 int i; |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 char *dp; |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132 dp = fmtbuf; |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
133 strcpy(dp, "TM:"); |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134 dp += 3; |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
135 for (i = 1; i < rxpkt_len; i++) { |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
136 sprintf(dp, " %02X", rxpkt[i]); |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137 dp += 3; |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138 } |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
139 *dp = '\0'; |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
140 output_line(fmtbuf); |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
141 } |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
142 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
143 void |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
144 print_unknown_packet() |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
145 { |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
146 int i; |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
147 char *dp; |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
148 |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
149 dp = fmtbuf; |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
150 strcpy(dp, "UNK:"); |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
151 dp += 4; |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
152 for (i = 0; i < rxpkt_len; i++) { |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
153 sprintf(dp, " %02X", rxpkt[i]); |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
154 dp += 3; |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
155 } |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
156 *dp = '\0'; |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
157 output_line(fmtbuf); |
e7502631a0f9
initial import from freecalypso-sw rev 1033:5ab737ac3ad7
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
158 } |