'\" t .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" References consulted: .\" Linux libc source code .\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991) .\" 386BSD man pages .\" Modified Sat Jul 24 17:52:15 1993 by Rik Faith (faith@cs.unc.edu) .\" Modified 2001-12-15, aeb .TH swab 3 2023-03-30 "Linux man-pages 6.04" .SH NAME swab \- swap adjacent bytes .SH LIBRARY Standard C library .RI ( libc ", " \-lc ) .SH SYNOPSIS .nf .BR "#define _XOPEN_SOURCE" " /* See feature_test_macros(7) */" .B #include .PP .BI "void swab(const void " from "[restrict ." n "], void " to "[restrict ." n ], .BI " ssize_t " n ); .fi .SH DESCRIPTION The .BR swab () function copies .I n bytes from the array pointed to by .I from to the array pointed to by .IR to , exchanging adjacent even and odd bytes. This function is used to exchange data between machines that have different low/high byte ordering. .PP This function does nothing when .I n is negative. When .I n is positive and odd, it handles .I n\-1 bytes as above, and does something unspecified with the last byte. (In other words, .I n should be even.) .SH RETURN VALUE The .BR swab () function returns no value. .SH ATTRIBUTES For an explanation of the terms used in this section, see .BR attributes (7). .ad l .nh .TS allbox; lbx lb lb l l l. Interface Attribute Value T{ .BR swab () T} Thread safety MT-Safe .TE .hy .ad .sp 1 .SH STANDARDS POSIX.1-2008. .SH HISTORY POSIX.1-2001, SVr4, 4.3BSD. .SH SEE ALSO .BR bstring (3)