2
* This testing program makes sure the byteswap functions work
4
* Copyright (C) 2000 by Theodore Ts'o.
5
* Copyright (C) 2008 Karel Zak <kzak@redhat.com>
7
* This file may be redistributed under the terms of the GNU Public
16
#include <sys/types.h>
32
0x00000001, 0x01000000,
33
0x80000000, 0x00000080,
34
0x12345678, 0x78563412,
35
0xffff0000, 0x0000ffff,
36
0x00ff0000, 0x0000ff00,
37
0xff000000, 0x000000ff,
38
0x00000000, 0x00000000
42
0x0000000000000001, 0x0100000000000000,
43
0x8000000000000000, 0x0000000000000080,
44
0x1234567812345678, 0x7856341278563412,
45
0xffffffff00000000, 0x00000000ffffffff,
46
0x00ff000000000000, 0x000000000000ff00,
47
0xff00000000000000, 0x00000000000000ff,
48
0x0000000000000000, 0x0000000000000000
51
int main(int argc, char **argv)
56
printf("Testing swab16\n");
59
printf("swab16(0x%04"PRIx16") = 0x%04"PRIx16"\n",
60
ary16[i], swab16(ary16[i]));
61
if (swab16(ary16[i]) != ary16[i+1]) {
62
printf("Error!!! %04"PRIx16" != %04"PRIx16"\n",
63
swab16(ary16[i]), ary16[i+1]);
66
if (swab16(ary16[i+1]) != ary16[i]) {
67
printf("Error!!! %04"PRIx16" != %04"PRIx16"\n",
68
swab16(ary16[i+1]), ary16[i]);
72
} while (ary16[i] != 0);
74
printf("Testing swab32\n");
77
printf("swab32(0x%08"PRIx32") = 0x%08"PRIx32"\n",
78
ary32[i], swab32(ary32[i]));
79
if (swab32(ary32[i]) != ary32[i+1]) {
80
printf("Error!!! %04"PRIx32" != %04"PRIx32"\n",
81
swab32(ary32[i]), ary32[i+1]);
84
if (swab32(ary32[i+1]) != ary32[i]) {
85
printf("Error!!! %04"PRIx32" != %04"PRIx32"\n",
86
swab32(ary32[i+1]), ary32[i]);
90
} while (ary32[i] != 0);
92
printf("Testing swab64\n");
95
printf("swab64(0x%016"PRIx64") = 0x%016"PRIx64"\n",
96
ary64[i], swab64(ary64[i]));
97
if (swab64(ary64[i]) != ary64[i+1]) {
98
printf("Error!!! %016"PRIx64" != %016"PRIx64"\n",
99
swab64(ary64[i]), ary64[i+1]);
102
if (swab64(ary64[i+1]) != ary64[i]) {
103
printf("Error!!! %016"PRIx64" != %016"PRIx64"\n",
104
swab64(ary64[i+1]), ary64[i]);
108
} while (ary64[i] != 0);
111
printf("No errors found in the byteswap implementation\n");