xref: /freebsd/lib/libutil/hexdump.3 (revision 4f8f43b06ed07e96a250855488cc531799d5b78f)
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.Dd May 8, 2020
30.Dt HEXDUMP 3
31.Os
32.Sh NAME
33.Nm hexdump
34.Nd "dump a block of bytes to standard out in hexadecimal form"
35.Sh SYNOPSIS
36.In libutil.h
37.Ft void
38.Fn hexdump "void *ptr" "int length" "const char *hdr" "int flags"
39.Sh DESCRIPTION
40The
41.Fn hexdump
42function prints an array of bytes to standard out in hexadecimal form,
43along with the ASCII representation of the bytes, if possible.
44By default, each line of output will start with an offset count, followed by 16
45hexadecimal values, followed by 16 ASCII characters.
46.Bl -tag -width indent
47.It Fa ptr
48Pointer to the array of bytes to print.
49It does not need to be
50.Dv NUL Ns
51-terminated.
52.It Fa length
53Number of bytes to print.
54.It Fa hdr
55Pointer to a
56.Dv NUL Ns
57-terminated character string that will be prepended to each
58line of output.
59A value of
60.Dv NULL
61implies that no header will be printed.
62.It Fa flags
63Flags for controlling the formatting of the output.
64.Bl -tag -width ".Dv HD_OMIT_COUNT"
65.It Bits 0-7
66Integer value of the number of bytes to display on each line.
67A value of 0 implies that the default value of 16 will be used.
68.It Bits 8-15
69Character ASCII value to use as the separator for the hexadecimal output.
70A value of 0 implies that the default value of 32
71.Pq ASCII space
72will be used.
73.It Dv HD_OMIT_COUNT
74Do not print the offset column at the beginning of each line.
75.It Dv HD_OMIT_HEX
76Do not print the hexadecimal values on each line.
77.It Dv HD_OMIT_CHARS
78Do not print the character values on each line.
79.El
80.El
81.Sh SEE ALSO
82.Xr ascii 7 ,
83.Xr sbuf_hexdump 9
84.Sh HISTORY
85The
86.Fn hexdump
87function first appeared in
88.Fx 6.4 .
89.Sh AUTHORS
90This manual page was written by
91.An Scott Long .
92