SWAB(3) | Library Functions Manual | SWAB(3)

# NAME

`swab` —
swap adjacent bytes

# LIBRARY

Standard C Library (libc, -lc)

# SYNOPSIS

`#include <unistd.h>`

void
`swab`(const void * restrict src, void * restrict dst, ssize_t len);

# DESCRIPTION

The function `swab`() copies len bytes from the location referenced by src to the location referenced by dst, swapping adjacent bytes.

If len is negative or zero, `swab`() does nothing. If len is odd, `swab`() copies len - 1 bytes and the disposition of the last byte is unspecified.

# SEE ALSO

bzero(3), memset(3)

# STANDARDS

The `swab`() function conforms to IEEE Std 1003.1-2001 (“POSIX.1”).

# HISTORY

A `swab`() function appeared in Version 7 AT&T UNIX. It was originally documented to be “useful for carrying binary data between PDP11's and other machines”.

In NetBSD 6.0 the type of len was changed from size_t to ssize_t for POSIX compliance.

April 30, 2010 | NetBSD 9.2