31 #include <gtest/gtest.h> 89 #if (defined(_BIG_ENDIAN)||!defined(_LITTLE_ENDIAN)) && BYTE_ORDER==BIG_ENDIAN 90 EXPECT_EQ(0xefcdab8967452301,
htog((uint64_t)0xefcdab8967452301,
92 EXPECT_EQ(0x1032547698badcfe,
htog((uint64_t)0x1032547698badcfe,
94 EXPECT_EQ(0xb14171b771b01c0b,
htog((uint64_t)0xb14171b771b01c0b,
96 EXPECT_EQ(0xffffffff00000000,
htog((uint64_t)0xffffffff00000000,
98 EXPECT_EQ(0x5555555555555555,
htog((uint64_t)0x5555555555555555,
100 EXPECT_EQ(0xa0a0a0a0a0a0a0a0,
htog((uint64_t)0xa0a0a0a0a0a0a0a0,
114 EXPECT_EQ(0x0123456789abcdef,
htog((uint64_t)0xefcdab8967452301,
116 EXPECT_EQ(0xfedcba9876543210,
htog((uint64_t)0x1032547698badcfe,
118 EXPECT_EQ(0x0b1cb071b77141b1,
htog((uint64_t)0xb14171b771b01c0b,
120 EXPECT_EQ(0x00000000ffffffff,
htog((uint64_t)0xffffffff00000000,
122 EXPECT_EQ(0x5555555555555555,
htog((uint64_t)0x5555555555555555,
124 EXPECT_EQ(0xa0a0a0a0a0a0a0a0,
htog((uint64_t)0xa0a0a0a0a0a0a0a0,
138 #elif defined(_LITTLE_ENDIAN) || BYTE_ORDER==LITTLE_ENDIAN 139 EXPECT_EQ(0x0123456789abcdef,
htog((uint64_t)0xefcdab8967452301,
141 EXPECT_EQ(0xfedcba9876543210,
htog((uint64_t)0x1032547698badcfe,
143 EXPECT_EQ(0x0b1cb071b77141b1,
htog((uint64_t)0xb14171b771b01c0b,
145 EXPECT_EQ(0x00000000ffffffff,
htog((uint64_t)0xffffffff00000000,
147 EXPECT_EQ(0x5555555555555555,
htog((uint64_t)0x5555555555555555,
149 EXPECT_EQ(0xa0a0a0a0a0a0a0a0,
htog((uint64_t)0xa0a0a0a0a0a0a0a0,
163 EXPECT_EQ(0xefcdab8967452301,
htog((uint64_t)0xefcdab8967452301,
165 EXPECT_EQ(0x1032547698badcfe,
htog((uint64_t)0x1032547698badcfe,
167 EXPECT_EQ(0xb14171b771b01c0b,
htog((uint64_t)0xb14171b771b01c0b,
169 EXPECT_EQ(0xffffffff00000000,
htog((uint64_t)0xffffffff00000000,
171 EXPECT_EQ(0x5555555555555555,
htog((uint64_t)0x5555555555555555,
173 EXPECT_EQ(0xa0a0a0a0a0a0a0a0,
htog((uint64_t)0xa0a0a0a0a0a0a0a0,
188 #error Invalid Endianess 194 #if (defined(_BIG_ENDIAN)||!defined(_LITTLE_ENDIAN)) && BYTE_ORDER==BIG_ENDIAN 195 EXPECT_EQ(0xefcdab8967452301,
gtoh((uint64_t)0xefcdab8967452301,
197 EXPECT_EQ(0x1032547698badcfe,
gtoh((uint64_t)0x1032547698badcfe,
199 EXPECT_EQ(0xb14171b771b01c0b,
gtoh((uint64_t)0xb14171b771b01c0b,
201 EXPECT_EQ(0xffffffff00000000,
gtoh((uint64_t)0xffffffff00000000,
203 EXPECT_EQ(0x5555555555555555,
gtoh((uint64_t)0x5555555555555555,
205 EXPECT_EQ(0xa0a0a0a0a0a0a0a0,
gtoh((uint64_t)0xa0a0a0a0a0a0a0a0,
219 EXPECT_EQ(0x0123456789abcdef,
gtoh((uint64_t)0xefcdab8967452301,
221 EXPECT_EQ(0xfedcba9876543210,
gtoh((uint64_t)0x1032547698badcfe,
223 EXPECT_EQ(0x0b1cb071b77141b1,
gtoh((uint64_t)0xb14171b771b01c0b,
225 EXPECT_EQ(0x00000000ffffffff,
gtoh((uint64_t)0xffffffff00000000,
227 EXPECT_EQ(0x5555555555555555,
gtoh((uint64_t)0x5555555555555555,
229 EXPECT_EQ(0xa0a0a0a0a0a0a0a0,
gtoh((uint64_t)0xa0a0a0a0a0a0a0a0,
243 #elif defined(_LITTLE_ENDIAN) || BYTE_ORDER==LITTLE_ENDIAN 244 EXPECT_EQ(0x0123456789abcdef,
gtoh((uint64_t)0xefcdab8967452301,
246 EXPECT_EQ(0xfedcba9876543210,
gtoh((uint64_t)0x1032547698badcfe,
248 EXPECT_EQ(0x0b1cb071b77141b1,
gtoh((uint64_t)0xb14171b771b01c0b,
250 EXPECT_EQ(0x00000000ffffffff,
gtoh((uint64_t)0xffffffff00000000,
252 EXPECT_EQ(0x5555555555555555,
gtoh((uint64_t)0x5555555555555555,
254 EXPECT_EQ(0xa0a0a0a0a0a0a0a0,
gtoh((uint64_t)0xa0a0a0a0a0a0a0a0,
268 EXPECT_EQ(0xefcdab8967452301,
gtoh((uint64_t)0xefcdab8967452301,
270 EXPECT_EQ(0x1032547698badcfe,
gtoh((uint64_t)0x1032547698badcfe,
272 EXPECT_EQ(0xb14171b771b01c0b,
gtoh((uint64_t)0xb14171b771b01c0b,
274 EXPECT_EQ(0xffffffff00000000,
gtoh((uint64_t)0xffffffff00000000,
276 EXPECT_EQ(0x5555555555555555,
gtoh((uint64_t)0x5555555555555555,
278 EXPECT_EQ(0xa0a0a0a0a0a0a0a0,
gtoh((uint64_t)0xa0a0a0a0a0a0a0a0,
293 #error Invalid Endianess T gtoh(T value, ByteOrder guest_byte_order)
T htog(T value, ByteOrder guest_byte_order)
uint32_t swap_byte32(uint32_t x)
uint64_t swap_byte64(uint64_t x)
vring_used_elem swap_byte(vring_used_elem v)
TEST(ByteswapTest, swap_byte64)
uint16_t swap_byte16(uint16_t x)
#define EXPECT_EQ(lhs, rhs)
A macro which verifies that lhs and rhs are equal to each other.