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