libs/libc/dumpbuffer: add support to recognizable from wireshark

e.g: Encapsulation Type: Bluetooth H4

From:

[    2.196000] 0000: 030c00                                                            ...
[    2.514600] 0000: 0e0401030c00                                                      ......
[    2.514600] 0000: 031000                                                            ...
[    2.517600] 0000: 0e0c01031000ffff8ffedbff5b87                                      ............[.
[    2.517600] 0000: 011000                                                            ...
[    2.520600] 0000: 0e0c0101100006bb22060a00bb22                                      ........"...."
[    2.520600] 0000: 021000                                                            ...
[    2.527600] 0000: 0e4401021000ffffff03feffffffffff fffff30fe8fe3ff783ff1c00000061f7 .D.............. ......?.......a.
[    2.527600] 0020: ffff7f00000000000000000000000000 00000000000000000000000000000000 ................ ................
[    2.527600] 0040: 000000000000                                                      ......

To:

[    1.567100] 0000  03 0c 00                                         ...
[    1.890100] 0000  0e 04 01 03 0c 00                                ......
[    1.890100] 0000  03 10 00                                         ...
[    1.892900] 0000  0e 0c 01 03 10 00 ff ff 8f fe db ff 5b 87        ............[.
[    1.892900] 0000  01 10 00                                         ...
[    1.894900] 0000  0e 0c 01 01 10 00 06 bb 22 06 0a 00 bb 22        ........"...."
[    1.894900] 0000  02 10 00                                         ...
[    1.901900] 0000  0e 44 01 02 10 00 ff ff ff 03 fe ff ff ff ff ff  .D..............
[    1.901900] 0010  ff ff f3 0f e8 fe 3f f7 83 ff 1c 00 00 00 61 f7  ......?.......a.
[    1.901900] 0020  ff ff 7f 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
[    1.901900] 0030  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
[    1.901900] 0040  00 00 00 00 00 00                                ......

Signed-off-by: chao.an <anchao@xiaomi.com>
This commit is contained in:
chao.an 2020-12-21 15:42:00 +08:00 committed by Brennan Ashton
parent b074ebec9e
commit e32e341886

View File

@ -47,8 +47,8 @@
* Pre-processor definitions
****************************************************************************/
#define _NITEMS 32 /* 32 bytes displayed per line */
#define _LINESIZE (3 * _NITEMS + 4) /* 2 hex chars, ASCII char, 3 spaces, NUL */
#define _NITEMS 16 /* 32 bytes displayed per line */
#define _LINESIZE (3 * _NITEMS + _NITEMS + 4) /* 2 hex chars, ASCII char, 3 spaces, NUL */
/****************************************************************************
* Private Functions
@ -97,7 +97,11 @@ void lib_dumpbuffer(FAR const char *msg, FAR const uint8_t *buffer,
unsigned int j;
unsigned int k;
syslog(LOG_INFO, "%s (%p):\n", msg, buffer);
if (msg)
{
syslog(LOG_INFO, "%s (%p):\n", msg, buffer);
}
for (i = 0; i < buflen; i += _NITEMS)
{
FAR char *ptr = buf;
@ -108,11 +112,6 @@ void lib_dumpbuffer(FAR const char *msg, FAR const uint8_t *buffer,
{
k = i + j;
if (j == (_NITEMS / 2))
{
*ptr++ = ' ';
}
if (k < buflen)
{
*ptr++ = lib_nibble((buffer[k] >> 4) & 0xf);
@ -123,6 +122,8 @@ void lib_dumpbuffer(FAR const char *msg, FAR const uint8_t *buffer,
*ptr++ = ' ';
*ptr++ = ' ';
}
*ptr++ = ' ';
}
*ptr++ = ' '; /* Plus 1 byte */
@ -133,11 +134,6 @@ void lib_dumpbuffer(FAR const char *msg, FAR const uint8_t *buffer,
{
k = i + j;
if (j == (_NITEMS / 2))
{
*ptr++ = ' ';
}
if (k < buflen)
{
if (buffer[k] >= 0x20 && buffer[k] < 0x7f)
@ -152,6 +148,6 @@ void lib_dumpbuffer(FAR const char *msg, FAR const uint8_t *buffer,
}
*ptr = '\0'; /* Plus 1 byte */
syslog(LOG_INFO, "%04x: %s\n", i, buf);
syslog(LOG_INFO, "%04x %s\n", i, buf);
}
}