swab man page

swab — swap adjacent bytes


#define _XOPEN_SOURCE       /* See feature_test_macros(7) */
#include <unistd.h>

void swab(const void *from, void *to, ssize_t n);


The swab() function copies n bytes from the array pointed to by from to the array pointed to by to, exchanging adjacent even and odd bytes. This function is used to exchange data between machines that have different low/high byte ordering.

This function does nothing when n is negative. When n is positive and odd, it handles n-1 bytes as above, and does something unspecified with the last byte. (In other words, n should be even.)

Return Value

The swab() function returns no value.


For an explanation of the terms used in this section, see attributes(7).

Interface Attribute Value
swab() Thread safety MT-Safe

Conforming to

POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.

See Also



This page is part of release 4.09 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.

Referenced By

bzero(3), explicit_bzero(3), memset(3).

2015-08-08 Linux Programmer's Manual