annotate rvinterf/lowlevel/rviftmode.c @ 937:06f96627ac9a

rvinterf TM log: decode TMFFS2 commands
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 24 May 2023 04:25:47 +0000
parents f4e6f6b6548e
children 74930218c270
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
932
3d1abb9f05ef rvinterf proper: move TM logging to new module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
3d1abb9f05ef rvinterf proper: move TM logging to new module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 * This module is for rvinterf only. Whenever we send or receive Test Mode
3d1abb9f05ef rvinterf proper: move TM logging to new module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 * packets, we should be a little more intelligent about how we display and
3d1abb9f05ef rvinterf proper: move TM logging to new module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 * log them. By default we only print a one-line summary, and in verbose mode
3d1abb9f05ef rvinterf proper: move TM logging to new module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 * we also emit a full hex dump.
3d1abb9f05ef rvinterf proper: move TM logging to new module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 */
3d1abb9f05ef rvinterf proper: move TM logging to new module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7
3d1abb9f05ef rvinterf proper: move TM logging to new module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 #include <sys/types.h>
3d1abb9f05ef rvinterf proper: move TM logging to new module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 #include <stdio.h>
3d1abb9f05ef rvinterf proper: move TM logging to new module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 #include <string.h>
3d1abb9f05ef rvinterf proper: move TM logging to new module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 #include <strings.h>
935
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
12 #include "../include/etm.h"
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
13 #include "../include/tm3.h"
937
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
14 #include "../include/tmffs2.h"
932
3d1abb9f05ef rvinterf proper: move TM logging to new module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15
3d1abb9f05ef rvinterf proper: move TM logging to new module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 extern u_char rxpkt[];
3d1abb9f05ef rvinterf proper: move TM logging to new module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 extern size_t rxpkt_len;
934
0d6be90ae74f rvinterf -v TM: send hex dump only to log file if we have one
Mychaela Falconia <falcon@freecalypso.org>
parents: 933
diff changeset
18
932
3d1abb9f05ef rvinterf proper: move TM logging to new module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 extern int verbose;
934
0d6be90ae74f rvinterf -v TM: send hex dump only to log file if we have one
Mychaela Falconia <falcon@freecalypso.org>
parents: 933
diff changeset
20 extern FILE *logF;
932
3d1abb9f05ef rvinterf proper: move TM logging to new module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21
935
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
22 static int
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
23 verify_cksum(pkt, pktlen)
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
24 u_char *pkt;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
25 unsigned pktlen;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
26 {
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
27 int i, c;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
28
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
29 c = 0;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
30 for (i = 1; i < pktlen; i++)
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
31 c ^= pkt[i];
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
32 if (c == 0)
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
33 return(0);
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
34 else
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
35 return(-1);
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
36 }
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
37
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
38 static void
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
39 etm_core_classify(pkt, pktlen, outbuf)
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
40 u_char *pkt;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
41 unsigned pktlen;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
42 char *outbuf;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
43 {
936
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
44 if (pktlen < 4) {
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
45 runt: strcpy(outbuf, "ETM_CORE runt");
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
46 return;
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
47 }
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
48 switch (pkt[2]) {
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
49 case TMCORE_OPC_MEM:
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
50 if (pktlen < 5)
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
51 goto runt;
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
52 switch (pkt[3]) {
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
53 case 0x01:
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
54 strcpy(outbuf, "r8");
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
55 return;
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
56 case 0x02:
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
57 strcpy(outbuf, "r16");
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
58 return;
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
59 case 0x04:
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
60 strcpy(outbuf, "r32");
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
61 return;
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
62 case 0x11:
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
63 strcpy(outbuf, "w8");
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
64 return;
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
65 case 0x12:
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
66 strcpy(outbuf, "w16");
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
67 return;
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
68 case 0x14:
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
69 strcpy(outbuf, "w32");
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
70 return;
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
71 default:
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
72 sprintf(outbuf, "ETM_CORE mem opcode 0x%02X", pkt[3]);
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
73 }
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
74 return;
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
75 case TMCORE_OPC_ECHO:
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
76 strcpy(outbuf, "ping");
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
77 return;
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
78 case TMCORE_OPC_RESET:
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
79 strcpy(outbuf, "tgtreset");
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
80 return;
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
81 case TMCORE_OPC_DEBUG:
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
82 strcpy(outbuf, "ETM_CORE debug opc");
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
83 return;
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
84 case TMCORE_OPC_VERSION:
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
85 strcpy(outbuf, "version");
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
86 return;
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
87 case TMCORE_OPC_CODEC_RD:
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
88 strcpy(outbuf, "abbr");
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
89 return;
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
90 case TMCORE_OPC_CODEC_WR:
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
91 strcpy(outbuf, "abbw");
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
92 return;
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
93 case TMCORE_OPC_DIEID:
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
94 strcpy(outbuf, "dieid");
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
95 return;
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
96 default:
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
97 sprintf(outbuf, "ETM_CORE opcode 0x%02X", pkt[2]);
f4e6f6b6548e rvinterf TM log: decode ETM_CORE commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 935
diff changeset
98 }
935
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
99 }
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
100
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
101 static void
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
102 tmffs2_cmd_classify(pkt, pktlen, outbuf)
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
103 u_char *pkt;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
104 unsigned pktlen;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
105 char *outbuf;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
106 {
937
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
107 if (pktlen < 4) {
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
108 strcpy(outbuf, "ETM_FFS2 runt");
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
109 return;
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
110 }
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
111 switch (pkt[2]) {
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
112 case TMFFS_FORMAT:
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
113 strcpy(outbuf, "FFS2 format");
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
114 return;
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
115 case TMFFS_PREFORMAT:
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
116 strcpy(outbuf, "FFS2 preformat");
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
117 return;
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
118 case TMFFS_MKDIR:
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
119 strcpy(outbuf, "FFS2 mkdir");
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
120 return;
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
121 case TMFFS_OPENDIR:
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
122 strcpy(outbuf, "FFS2 opendir");
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
123 return;
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
124 case TMFFS_READDIR:
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
125 strcpy(outbuf, "FFS2 readdir");
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
126 return;
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
127 case TMFFS_REMOVE:
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
128 strcpy(outbuf, "FFS2 remove");
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
129 return;
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
130 case TMFFS_RENAME:
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
131 strcpy(outbuf, "FFS2 rename");
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
132 return;
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
133 case TMFFS_XLSTAT:
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
134 strcpy(outbuf, "FFS2 xlstat");
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
135 return;
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
136 case TMFFS_SYMLINK:
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
137 strcpy(outbuf, "FFS2 symlink");
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
138 return;
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
139 case TMFFS_READLINK:
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
140 strcpy(outbuf, "FFS2 readlink");
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
141 return;
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
142 case TMFFS_OPEN:
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
143 strcpy(outbuf, "FFS2 open");
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
144 return;
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
145 case TMFFS_CLOSE:
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
146 strcpy(outbuf, "FFS2 close");
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
147 return;
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
148 case TMFFS_READ:
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
149 strcpy(outbuf, "FFS2 read");
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
150 return;
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
151 case TMFFS_WRITE:
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
152 strcpy(outbuf, "FFS2 write");
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
153 return;
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
154 case TMFFS_SEEK:
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
155 strcpy(outbuf, "FFS2 seek");
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
156 return;
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
157 case TMFFS_FTRUNCATE:
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
158 strcpy(outbuf, "FFS2 ftruncate");
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
159 return;
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
160 case TMFFS_TRUNCATE:
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
161 strcpy(outbuf, "FFS2 truncate");
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
162 return;
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
163 case TMFFS_FILE_READ:
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
164 strcpy(outbuf, "FFS2 fread");
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
165 return;
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
166 case TMFFS_FILE_WRITE:
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
167 strcpy(outbuf, "FFS2 fwrite");
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
168 return;
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
169 case TMFFS_FSTAT:
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
170 strcpy(outbuf, "FFS2 fstat");
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
171 return;
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
172 case TMFFS_LSTAT:
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
173 strcpy(outbuf, "FFS2 lstat");
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
174 return;
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
175 case TMFFS_STAT:
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
176 strcpy(outbuf, "FFS2 stat");
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
177 return;
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
178 case TMFFS_FCONTROL:
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
179 strcpy(outbuf, "FFS2 fcontrol");
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
180 return;
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
181 case TMFFS_QUERY:
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
182 strcpy(outbuf, "FFS2 query");
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
183 return;
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
184 case TMFFS_INIT:
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
185 strcpy(outbuf, "FFS2 init");
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
186 return;
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
187 case TMFFS_EXIT:
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
188 strcpy(outbuf, "FFS2 exit");
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
189 return;
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
190 case TMFFS_DIRXLSTAT:
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
191 strcpy(outbuf, "FFS2 dirxlstat");
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
192 return;
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
193 case TMFFS_VERSION:
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
194 strcpy(outbuf, "FFS2 version");
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
195 return;
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
196 case TMFFS_TFFS:
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
197 strcpy(outbuf, "FFS2 tffs");
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
198 return;
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
199 default:
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
200 sprintf(outbuf, "ETM_FFS2 opcode 0x%02X", pkt[2]);
06f96627ac9a rvinterf TM log: decode TMFFS2 commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 936
diff changeset
201 }
935
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
202 }
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
203
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
204 static void
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
205 audio_cmd_classify(pkt, pktlen, outbuf)
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
206 u_char *pkt;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
207 unsigned pktlen;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
208 char *outbuf;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
209 {
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
210 /* classification code to be filled */
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
211 strcpy(outbuf, "ETM_AUDIO");
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
212 }
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
213
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
214 static void
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
215 tm_classify(pkt, pktlen, is_cmd, outbuf)
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
216 u_char *pkt;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
217 unsigned pktlen;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
218 char *outbuf;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
219 {
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
220 if (pktlen < 3) {
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
221 strcpy(outbuf, "RUNT");
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
222 return;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
223 }
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
224 if (verify_cksum(pkt, pktlen) < 0) {
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
225 strcpy(outbuf, "BAD CKSUM");
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
226 return;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
227 }
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
228 switch (pkt[1]) {
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
229 case ETM_CORE:
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
230 if (is_cmd)
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
231 etm_core_classify(pkt, pktlen, outbuf);
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
232 else
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
233 strcpy(outbuf, "ETM_CORE");
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
234 return;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
235 case ETM_FFS1:
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
236 strcpy(outbuf, "FFS1");
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
237 return;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
238 case ETM_FFS2:
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
239 if (is_cmd)
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
240 tmffs2_cmd_classify(pkt, pktlen, outbuf);
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
241 else
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
242 strcpy(outbuf, "FFS2");
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
243 return;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
244 case ETM_AUDIO:
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
245 if (is_cmd)
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
246 audio_cmd_classify(pkt, pktlen, outbuf);
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
247 else
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
248 strcpy(outbuf, "ETM_AUDIO");
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
249 return;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
250 case ETM_BSIM:
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
251 strcpy(outbuf, "BSIM");
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
252 return;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
253 /* TM3 */
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
254 case MEM_READ:
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
255 strcpy(outbuf, "omr");
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
256 return;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
257 case MEM_WRITE:
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
258 strcpy(outbuf, "omw");
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
259 return;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
260 case CODEC_READ:
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
261 strcpy(outbuf, "oabbr");
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
262 return;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
263 case CODEC_WRITE:
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
264 strcpy(outbuf, "oabbw");
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
265 return;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
266 /* L1TM */
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
267 case TM_INIT:
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
268 strcpy(outbuf, "tminit");
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
269 return;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
270 case TM_MODE_SET:
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
271 strcpy(outbuf, "tms");
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
272 return;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
273 case VERSION_GET:
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
274 strcpy(outbuf, "tm3ver");
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
275 return;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
276 case RF_ENABLE:
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
277 strcpy(outbuf, "rfe");
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
278 return;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
279 case STATS_READ:
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
280 strcpy(outbuf, "sr");
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
281 return;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
282 case STATS_CONFIG_WRITE:
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
283 strcpy(outbuf, "scw");
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
284 return;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
285 case STATS_CONFIG_READ:
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
286 strcpy(outbuf, "scr");
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
287 return;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
288 case RF_PARAM_WRITE:
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
289 strcpy(outbuf, "rfpw");
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
290 return;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
291 case RF_PARAM_READ:
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
292 strcpy(outbuf, "rfpr");
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
293 return;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
294 case RF_TABLE_WRITE:
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
295 strcpy(outbuf, "rftw");
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
296 return;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
297 case RF_TABLE_READ:
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
298 strcpy(outbuf, "rftr");
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
299 return;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
300 case RX_PARAM_WRITE:
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
301 strcpy(outbuf, "rxpw");
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
302 return;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
303 case RX_PARAM_READ:
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
304 strcpy(outbuf, "rxpr");
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
305 return;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
306 case TX_PARAM_WRITE:
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
307 strcpy(outbuf, "txpw");
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
308 return;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
309 case TX_PARAM_READ:
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
310 strcpy(outbuf, "txpr");
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
311 return;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
312 case TX_TEMPLATE_WRITE:
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
313 strcpy(outbuf, "ttw");
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
314 return;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
315 case TX_TEMPLATE_READ:
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
316 strcpy(outbuf, "ttr");
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
317 return;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
318 case MISC_PARAM_WRITE:
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
319 strcpy(outbuf, "mpw");
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
320 return;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
321 case MISC_PARAM_READ:
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
322 strcpy(outbuf, "mpr");
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
323 return;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
324 case MISC_ENABLE:
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
325 strcpy(outbuf, "me");
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
326 return;
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
327 default:
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
328 sprintf(outbuf, "mid 0x%02X", pkt[1]);
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
329 }
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
330 }
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
331
934
0d6be90ae74f rvinterf -v TM: send hex dump only to log file if we have one
Mychaela Falconia <falcon@freecalypso.org>
parents: 933
diff changeset
332 static void
0d6be90ae74f rvinterf -v TM: send hex dump only to log file if we have one
Mychaela Falconia <falcon@freecalypso.org>
parents: 933
diff changeset
333 hexdump_out(line)
0d6be90ae74f rvinterf -v TM: send hex dump only to log file if we have one
Mychaela Falconia <falcon@freecalypso.org>
parents: 933
diff changeset
334 char *line;
0d6be90ae74f rvinterf -v TM: send hex dump only to log file if we have one
Mychaela Falconia <falcon@freecalypso.org>
parents: 933
diff changeset
335 {
0d6be90ae74f rvinterf -v TM: send hex dump only to log file if we have one
Mychaela Falconia <falcon@freecalypso.org>
parents: 933
diff changeset
336 if (logF)
0d6be90ae74f rvinterf -v TM: send hex dump only to log file if we have one
Mychaela Falconia <falcon@freecalypso.org>
parents: 933
diff changeset
337 fprintf(logF, "%s\n", line);
0d6be90ae74f rvinterf -v TM: send hex dump only to log file if we have one
Mychaela Falconia <falcon@freecalypso.org>
parents: 933
diff changeset
338 else
0d6be90ae74f rvinterf -v TM: send hex dump only to log file if we have one
Mychaela Falconia <falcon@freecalypso.org>
parents: 933
diff changeset
339 printf("%s\n", line);
0d6be90ae74f rvinterf -v TM: send hex dump only to log file if we have one
Mychaela Falconia <falcon@freecalypso.org>
parents: 933
diff changeset
340 }
932
3d1abb9f05ef rvinterf proper: move TM logging to new module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
341
3d1abb9f05ef rvinterf proper: move TM logging to new module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
342 void
3d1abb9f05ef rvinterf proper: move TM logging to new module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
343 log_sent_tm(pkt, pktlen)
3d1abb9f05ef rvinterf proper: move TM logging to new module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
344 u_char *pkt;
3d1abb9f05ef rvinterf proper: move TM logging to new module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
345 {
935
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
346 char summary[32], headline[80];
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
347
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
348 tm_classify(pkt, pktlen, 1, summary);
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
349 sprintf(headline, "Sent Test Mode cmd (%s)", summary);
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
350 output_line(headline);
933
bd6dd6120180 rvinterf: -v enables TM hex dump, -vv enables TCH hex dump
Mychaela Falconia <falcon@freecalypso.org>
parents: 932
diff changeset
351 if (verbose >= 1)
934
0d6be90ae74f rvinterf -v TM: send hex dump only to log file if we have one
Mychaela Falconia <falcon@freecalypso.org>
parents: 933
diff changeset
352 packet_hex_dump(pkt, pktlen, hexdump_out);
932
3d1abb9f05ef rvinterf proper: move TM logging to new module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
353 }
3d1abb9f05ef rvinterf proper: move TM logging to new module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
354
3d1abb9f05ef rvinterf proper: move TM logging to new module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
355 void
3d1abb9f05ef rvinterf proper: move TM logging to new module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
356 print_tm_output_new()
3d1abb9f05ef rvinterf proper: move TM logging to new module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
357 {
935
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
358 char summary[32], headline[80];
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
359
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
360 tm_classify(rxpkt, (unsigned) rxpkt_len, 0, summary);
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
361 sprintf(headline, "Rx Test Mode resp (%s)", summary);
d203a9c7c4e6 rvinterf TM log: beginning of TM/ETM classification
Mychaela Falconia <falcon@freecalypso.org>
parents: 934
diff changeset
362 output_line(headline);
933
bd6dd6120180 rvinterf: -v enables TM hex dump, -vv enables TCH hex dump
Mychaela Falconia <falcon@freecalypso.org>
parents: 932
diff changeset
363 if (verbose >= 1)
934
0d6be90ae74f rvinterf -v TM: send hex dump only to log file if we have one
Mychaela Falconia <falcon@freecalypso.org>
parents: 933
diff changeset
364 packet_hex_dump(rxpkt, (unsigned) rxpkt_len, hexdump_out);
932
3d1abb9f05ef rvinterf proper: move TM logging to new module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
365 }