Changeset 921
- Timestamp:
- 08/21/06 21:04:59 (7 years ago)
- Location:
- trunk/lib
- Files:
-
- 2 edited
-
format_helper.c (modified) (1 diff)
-
libtrace_int.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/lib/format_helper.c
r898 r921 272 272 } 273 273 274 uint64_t byteswap64(uint64_t num) 275 { 276 return (byteswap32((num&0xFFFFFFFF00000000ULL)>>32)) 277 |((uint64_t)byteswap32(num&0x00000000FFFFFFFFULL)<<32); 278 } 279 280 uint32_t byteswap32(uint32_t num) 281 { 282 return ((num&0x000000FFU)<<24) 283 | ((num&0x0000FF00U)<<8) 284 | ((num&0x00FF0000U)>>8) 285 | ((num&0xFF000000U)>>24); 286 } 287 288 uint16_t byteswap16(uint16_t num) 289 { 290 return ((num<<8)&0xFF00)|((num>>8)&0x00FF); 291 } 292 -
trunk/lib/libtrace_int.h
r896 r921 361 361 bool demote_packet(libtrace_packet_t *packet); 362 362 363 364 uint64_t byteswap64(uint64_t num); 365 uint32_t byteswap32(uint32_t num); 366 uint16_t byteswap16(uint16_t num); 367 368 /* Because some traces/protocols are defined as 369 * being "big endian" or "little endian" we have 370 * this series of macros. 371 */ 372 #if BYTE_ORDER == BIG_ENDIAN 373 #define bswap_host_to_be64(num) ((uint64_t)(num)) 374 #define bswap_host_to_le64(num) byteswap64(num) 375 #define bswap_host_to_be32(num) ((uint32_t)(num)) 376 #define bswap_host_to_le32(num) byteswap32(num) 377 #define bswap_host_to_be16(num) ((uint16_t)(num)) 378 #define bswap_host_to_le16(num) byteswap16(num) 379 380 #define bswap_be_to_host64(num) ((uint64_t)(num)) 381 #define bswap_le_to_host64(num) byteswap64(num) 382 #define bswap_be_to_host32(num) ((uint32_t)(num)) 383 #define bswap_le_to_host32(num) byteswap32(num) 384 #define bswap_be_to_host16(num) ((uint16_t)(num)) 385 #define bswap_le_to_host16(num) byteswap16(num) 386 387 /* We use ntoh*() here, because the compiler may 388 * attempt to optimise it 389 */ 390 #elif BYTE_ORDER == LITTLE_ENDIAN 391 #define bswap_host_to_be64(num) (byteswap64(num)) 392 #define bswap_host_to_le64(num) ((uint64_t)(num)) 393 #define bswap_host_to_be32(num) (htonl(num)) 394 #define bswap_host_to_le32(num) ((uint32_t)(num)) 395 #define bswap_host_to_be16(num) (htons(num)) 396 #define bswap_host_to_le16(num) ((uint16_t)(num)) 397 398 #define bswap_be_to_host64(num) (byteswap64(num)) 399 #define bswap_le_to_host64(num) ((uint64_t)(num)) 400 #define bswap_be_to_host32(num) (ntohl(num)) 401 #define bswap_le_to_host32(num) ((uint32_t)(num)) 402 #define bswap_be_to_host16(num) (ntohs(num)) 403 #define bswap_le_to_host16(num) ((uint16_t)(num)) 404 405 #else 406 #error "Unknown byte order" 407 #endif 408 363 409 #ifdef HAVE_BPF 364 410 /* A type encapsulating a bpf filter
Note: See TracChangeset
for help on using the changeset viewer.
