harakit/docs/swab.1

78 lines
1.4 KiB
Groff

.\" Copyright (c) 2024 DTB <trinity@trinity.moe>
.\" Copyright (c) 2024 Emma Tebibyte <emma@tebibyte.media>
.\"
.\" This work is licensed under CC BY-SA 4.0. To see a copy of this license,
.\" visit <http://creativecommons.org/licenses/by-sa/4.0/>.
.TH swab 1
.SH NAME
swab \(en swap bytes
.SH SYNOPSIS
swab
.RB ( -f )
.RB ( -w
.R [
.B word size
.R ])
.SH USAGE
Swap the latter and former halves of a block of bytes.
.SH OPTIONS
.B -f
.RS
Ignore system call interruptions.
.RE
.B -w
.RS
Configures the word size; that is, the size in bytes of the block size
on which to operate. By default the word size is 2. The word size must be
cleanly divisible by 2, otherwise the block of bytes being processed can't be
halved.
.RE
.SH EXAMPLES
The following sh(1p) line:
.RS
.R printf 'hello world!\n' | swab
.RE
Produces the following output:
.RS
.R ehll oowlr!d
.RE
.SH DIAGNOSTICS
In the event of an error, a debug message will be printed and the program will
exit with the appropriate sysexits.h(3) error code.
.SH RATIONALE
This program was modeled and named after the
.R conv=swab
functionality specified in the dd(1p) utility. It additionally allows the word
size to be configured.
This functionality is useful for fixing the endianness of binary files produced
on other machines.
.SH COPYRIGHT
Copyright (c) 2024 DTB. License AGPLv3+: GNU AGPL version 3 or later
<https://gnu.org/licenses/agpl.html>.
.SH SEE ALSO
dd(1p)