Browse Source
Factor out the hexdumper functionality from iov for all to use. Useful for creating verbose debug printfery that dumps packet data. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Message-id: faaac219c55ea586d3f748befaf5a2788fd271b8.1361853677.git.peter.crosthwaite@xilinx.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>pull/2/head
committed by
Peter Maydell
4 changed files with 55 additions and 25 deletions
@ -0,0 +1,37 @@ |
|||
/*
|
|||
* Helper to hexdump a buffer |
|||
* |
|||
* Copyright (c) 2013 Red Hat, Inc. |
|||
* Copyright (c) 2013 Gerd Hoffmann <kraxel@redhat.com> |
|||
* Copyright (c) 2013 Peter Crosthwaite <peter.crosthwaite@xilinx.com> |
|||
* Copyright (c) 2013 Xilinx, Inc |
|||
* |
|||
* This work is licensed under the terms of the GNU GPL, version 2. See |
|||
* the COPYING file in the top-level directory. |
|||
* |
|||
* Contributions after 2012-01-13 are licensed under the terms of the |
|||
* GNU GPL, version 2 or (at your option) any later version. |
|||
*/ |
|||
|
|||
#include "qemu-common.h" |
|||
|
|||
void hexdump(const char *buf, FILE *fp, const char *prefix, size_t size) |
|||
{ |
|||
unsigned int b; |
|||
|
|||
for (b = 0; b < size; b++) { |
|||
if ((b % 16) == 0) { |
|||
fprintf(fp, "%s: %04x:", prefix, b); |
|||
} |
|||
if ((b % 4) == 0) { |
|||
fprintf(fp, " "); |
|||
} |
|||
fprintf(fp, " %02x", (unsigned char)buf[b]); |
|||
if ((b % 16) == 15) { |
|||
fprintf(fp, "\n"); |
|||
} |
|||
} |
|||
if ((b % 16) != 0) { |
|||
fprintf(fp, "\n"); |
|||
} |
|||
} |
|||
Loading…
Reference in new issue