1 #include "newpacket.hpp"
4 bool brief_mode
= false;
6 void handle_packet(packet
* p
)
8 printf("Packet: channel %u<perm#%u>[", p
->rp_channel
, p
->rp_channel_perm
);
9 for(size_t i
= 0; i
< p
->rp_channel_name
.length(); i
++) {
10 unsigned char ch
= p
->rp_channel_name
[i
];
11 if(ch
< 32 || ch
> 126)
12 printf("\\x%02X", ch
);
13 else if(ch
== '[' || ch
== ']' || ch
== '\\')
18 printf("] at %llu, type %u(%u), payload %zu:\n", (unsigned long long)p
->rp_timestamp
, p
->rp_major
,
19 p
->rp_minor
, p
->rp_payload
.size());
20 for(size_t i
= 0; !brief_mode
&& i
< p
->rp_payload
.size(); i
+= 16) {
21 size_t j
= p
->rp_payload
.size() - i
;
25 for(size_t k
= 0; k
< j
; k
++)
26 printf("%02X ", p
->rp_payload
[i
+ k
]);
32 int main(int argc
, char** argv
)
36 fprintf(stderr
, "syntax: %s <file>\n", argv
[0]);
39 if(getenv("BRIEF_PACKETDUMP"))
41 read_channel
rc(argv
[1]);
42 while((p
= rc
.read()))