Endian-swap nbytes bytes
#include <unistd.h>
void swab( const void * src,
void * dest,
ssize_t nbytes );
libc
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 behaviour is undefined.
| Safety: | |
|---|---|
| Cancellation point | No |
| Interrupt handler | Yes |
| Signal handler | Yes |
| Thread | Yes |
ENDIAN_SWAP32(), ENDIAN_SWAP64()