libutil: Implement hexdump(3)
[dragonfly.git] / lib / libutil / hexdump.3
1 .\" -*- nroff -*-
2 .\"
3 .\" Copyright (c) 2003 Scott Long
4 .\"
5 .\" All rights reserved.
6 .\"
7 .\" This program is free software.
8 .\"
9 .\" Redistribution and use in source and binary forms, with or without
10 .\" modification, are permitted provided that the following conditions
11 .\" are met:
12 .\" 1. Redistributions of source code must retain the above copyright
13 .\"    notice, this list of conditions and the following disclaimer.
14 .\" 2. Redistributions in binary form must reproduce the above copyright
15 .\"    notice, this list of conditions and the following disclaimer in the
16 .\"    documentation and/or other materials provided with the distribution.
17 .\"
18 .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
19 .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
20 .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
21 .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
22 .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
23 .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24 .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 .\"
29 .\" $FreeBSD$
30 .\"
31 .Dd July 1, 2008
32 .Dt HEXDUMP 3
33 .Os
34 .Sh NAME
35 .Nm hexdump
36 .Nd "dump a block of bytes to standard out in hexadecimal form"
37 .Sh SYNOPSIS
38 .In libutil.h
39 .Ft void
40 .Fn hexdump "void *ptr" "int length" "const char *hdr" "int flags"
41 .Sh DESCRIPTION
42 The
43 .Fn hexdump
44 function prints an array of bytes to standard out in hexadecimal form,
45 along with the
46 .Tn ASCII
47 representation of the bytes, if possible.
48 By default, each line of
49 output will start with an offset count, followed by 16 hexadecimal values,
50 followed by 16
51 .Tn ASCII
52 characters.
53 .Bl -tag -width indent
54 .It Fa ptr
55 Pointer to the array of bytes to print.
56 It does not need to be
57 .Dv NUL Ns
58 -terminated.
59 .It Fa length
60 Number of bytes to print.
61 .It Fa hdr
62 Pointer to a
63 .Dv NUL Ns
64 -terminated character string that will be prepended to each
65 line of output.
66 A value of
67 .Dv NULL
68 implies that no header will be printed.
69 .It Fa flags
70 Flags for controlling the formatting of the output.
71 .Bl -tag -width ".Dv HD_OMIT_COUNT"
72 .It Bits 0-7
73 Integer value of the number of bytes to display on each line.
74 A value of 0 implies that the default value of 16 will be used.
75 .It Bits 8-15
76 Character
77 .Tn ASCII
78 value to use as the separator for the hexadecimal output.
79 A value of 0 implies that the default value of 32
80 .Tn ( ASCII
81 space) will be used.
82 .It Dv HD_OMIT_COUNT
83 Do not print the offset column at the beginning of each line.
84 .It Dv HD_OMIT_HEX
85 Do not print the hexadecimal values on each line.
86 .It Dv HD_OMIT_CHARS
87 Do not print the character values on each line.
88 .El
89 .El
90 .Sh SEE ALSO
91 .Xr ascii 7
92 .Sh AUTHORS
93 This manual page was written by
94 .An Scott Long .