www.LinuxHowtos.org
bswap
Section: C Library Functions (3)Updated: 202-0-08
Index Return to Main Contents
NAME
bswap_16, bswap_32, bswap_64 - reverse order of bytesLIBRARY
Standard C library (libc,~-lc)SYNOPSIS
#include <byteswap.h> uint16_t bswap_16(uint16_t x); uint32_t bswap_32(uint32_t x); uint64_t bswap_64(uint64_t x);
DESCRIPTION
These functions return a value in which the order of the bytes in their -, -, or -byte arguments is reversed.RETURN VALUE
These functions return the value of their argument with the bytes reversed.ERRORS
These functions always succeed.STANDARDS
GNU.EXAMPLES
The program below swaps the bytes of the -byte integer supplied as its comman-line argument. The following shell session demonstrates the use of the program: $ ./a.out 0x0123456789abcdef; 0x123456789abcdef ==> 0xefcdab8967452301Program source
#include <byteswap.h> #include <inttypes.h> #include <stdint.h> #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) {uint64_t x;
if (argc != 2) {
fprintf(stderr, "Usage: %s <num>[rs]n", argv[0]);
exit(EXIT_FAILURE);
}
x = strtoull(argv[1], NULL, 0);
printf("%#" PRIx64 " ==> %#" PRIx64 "[rs]n", x, bswap_64(x));
exit(EXIT_SUCCESS); }
SEE ALSO
byteorder(3), endian(3)