.\" Copyright (c) 2024 DTB .\" Copyright (c) 2024 Emma Tebibyte .\" .\" This work is licensed under CC BY-SA 4.0. To see a copy of this license, .\" visit . .\" .TH SWAB 1 .SH NAME swab \(en swap bytes .\" .SH SYNOPSIS swab .RB ( -f ) .RB ( -w .R [ .B word size .R ]) .\" .SH DESCRIPTION Swap the latter and former halves of a block of bytes. .\" .SH OPTIONS .IP \fB-f\fP Ignore system call interruptions. .IP \fB-w\fP 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\(cqt be halved. .\" .SH EXAMPLES The following .BR 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 .BR sysexits.h (3) error code. .\" .SH RATIONALE This program was modeled and named after the conv=swab functionality specified in the .BR 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 \(co 2024 DTB. License AGPLv3+: GNU AGPL version 3 or later . .\" .SH SEE ALSO .BR dd (1p)