Operating systems, development tools, and professional services
for connected embedded systems
for connected embedded systems
![]() |
![]() |
![]() |
![]() |
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:
| Safety: | |
|---|---|
| Cancellation point | No |
| Interrupt handler | Yes |
| Signal handler | Yes |
| Thread | Yes |
See also:
ENDIAN_SWAP32(), ENDIAN_SWAP64()
![]() |
![]() |
![]() |
![]() |

![[Previous]](../prev.gif)
![[Contents]](../contents.gif)
![[Index]](../keyword_index.gif)
![[Next]](../next.gif)