swab()

Endian-swap a given number of bytes

Synopsis:

#include <unistd.h>

void swab( const void * src,
           void * dest, 
           ssize_t nbytes );

Arguments:

src
A pointer to the buffer that you want to copy the bytes from.
dest
A pointer to the buffer where you want the function to copy the bytes.
nbytes
The number of bytes that you want to copy and swap.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The swab() function copies nbytes bytes, pointed to by src, to the object pointed to by dest, exchanging adjacent bytes. The nbytes argument should be even.

If nbytes is: Then:
Odd nbytes-1 bytes are copied and exchanged. The disposition of the last byte is unspecified.
Negative swab() does nothing.

If copying takes place between objects that overlap, the behavior is undefined.

Classification:

POSIX 1003.1 XSI

Safety:
Cancellation point No
Interrupt handler Yes
Signal handler Yes
Thread Yes

See also:

ENDIAN_SWAP32(), ENDIAN_SWAP64()