17 Jun, 2009

1 commit

  • For example:
    hex_dump_to_buffer("AB", 2, 16, 1, buf, 100, 0);
    pr_info("[%s]\n", buf);

    I'd expect the output to be "[41 42]", but actually it's "[41 42 ]"

    This patch also makes the required buf to be minimum. To print the hex
    format of "AB", a buf with size 6 should be sufficient, but
    hex_dump_to_buffer() required at least 8.

    Signed-off-by: Li Zefan
    Acked-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Li Zefan
     

15 May, 2008

1 commit

  • Add a common hex array in hexdump.c so everyone can use it.

    Add a common hi/lo helper to avoid the shifting masking that is
    done to get the upper and lower nibbles of a byte value.

    Pull the pack_hex_byte helper from kgdb as it is opencoded many
    places in the tree that will be consolidated.

    Signed-off-by: Harvey Harrison
    Acked-by: Paul Mundt
    Cc: Jason Wessel
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Harvey Harrison
     

30 Nov, 2007

1 commit

  • As Herbert Xu pointed out, bytes (chars) with bit 7 (0x80) set are true
    with isprint() but they may not be isascii() but be Unicode instead, so
    don't try to print them in hex dumps.

    Signed-off-by: Randy Dunlap
    Cc: Herbert Xu
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     

12 Aug, 2007

1 commit

  • Add missing "const" qualifiers to the print_hex_dump_bytes() library routines.

    (akpm: rumoured to fix some compile warning somewhere)

    Signed-off-by: Alan Stern
    Cc: Artem Bityutskiy
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Stern
     

09 Aug, 2007

1 commit

  • Trivial fix: mark the buffer to hexdump as const so callers could avoid
    casting their const buffers when calling print_hex_dump().

    The patch is really trivial and I suggest to consider it as a fix
    (it fixes GCC warnings) and push it to current tree.

    Signed-off-by: Artem Bityutskiy
    Signed-off-by: Linus Torvalds

    Artem Bityutskiy
     

09 Jun, 2007

1 commit

  • Add a prefix string parameter. Callers are responsible for any string
    length/alignment that they want to see in the output. I.e., callers should
    pad strings to achieve alignment if they want that.

    Add rowsize parameter. This is the number of raw data bytes to be printed
    per line. Must be 16 or 32.

    Add a groupsize parameter. This allows callers to dump values as 1-byte,
    2-byte, 4-byte, or 8-byte numbers. Default is 1-byte numbers. If the
    total length is not an even multiple of groupsize, 1-byte numbers are
    printed.

    Add an "ascii" output parameter. This causes ASCII data output following
    the hex data output.

    Clean up some doc examples.

    Align the ASCII output on all lines that are produced by one call.

    Add a new interface, print_hex_dump_bytes(), that is a shortcut to
    print_hex_dump(), using default parameter values to print 16 bytes in
    byte-size chunks of hex + ASCII output, using printk level KERN_DEBUG.

    Signed-off-by: Randy Dunlap
    Cc: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     

11 May, 2007

1 commit

  • Based on ace_dump_mem() from Grant Likely for the Xilinx SystemACE
    CompactFlash interface.

    Add print_hex_dump() & hex_dumper() to lib/hexdump.c and linux/kernel.h.

    This patch adds the functions print_hex_dump() & hex_dumper().
    print_hex_dump() can be used to perform a hex + ASCII dump of data to
    syslog, in an easily viewable format, thus providing a common text hex dump
    format.

    hex_dumper() provides a dump-to-memory function. It converts one "line" of
    output (16 bytes of input) at a time.

    Example usages:
    print_hex_dump(KERN_DEBUG, DUMP_PREFIX_ADDRESS, frame->data, frame->len);
    hex_dumper(frame->data, frame->len, linebuf, sizeof(linebuf));

    Example output using %DUMP_PREFIX_OFFSET:
    0009ab42: 40414243 44454647 48494a4b 4c4d4e4f-@ABCDEFG HIJKLMNO
    Example output using %DUMP_PREFIX_ADDRESS:
    ffffffff88089af0: 70717273 74757677 78797a7b 7c7d7e7f-pqrstuvw xyz{|}~.

    [akpm@linux-foundation.org: cleanups, add export]
    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap