Changeset 5d494b3 in mainline for kernel/generic/include/byteorder.h


Ignore:
Timestamp:
2008-04-03T20:05:06Z (16 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
776f2e6
Parents:
dfa7bac
Message:

Each architecture should only announce its endianity.
The conversion macros should be defined only once.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/include/byteorder.h

    rdfa7bac r5d494b3  
    3636#define KERN_BYTEORDER_H_
    3737
     38#include <arch/byteorder.h>
     39
     40#if !(defined(ARCH_IS_BIG_ENDIAN) ^ defined(ARCH_IS_LITTLE_ENDIAN))
     41#error The architecture must be either big-endian or little-endian.
     42#endif
     43
     44#ifdef ARCH_IS_BIG_ENDIAN
     45
     46#define uint16_t_le2host(n)             uint16_t_byteorder_swap(n)
     47#define uint32_t_le2host(n)             uint32_t_byteorder_swap(n)
     48#define uint64_t_le2host(n)             uint64_t_byteorder_swap(n)
     49
     50#define uint16_t_be2host(n)             (n)
     51#define uint32_t_be2host(n)             (n)
     52#define uint64_t_be2host(n)             (n)
     53
     54#else
     55
     56#define uint16_t_le2host(n)             (n)
     57#define uint32_t_le2host(n)             (n)
     58#define uint64_t_le2host(n)             (n)
     59
     60#define uint16_t_be2host(n)             uint16_t_byteorder_swap(n)
     61#define uint32_t_be2host(n)             uint32_t_byteorder_swap(n)
     62#define uint64_t_be2host(n)             uint64_t_byteorder_swap(n)
     63
     64#endif
     65
    3866static inline uint64_t uint64_t_byteorder_swap(uint64_t n)
    3967{
Note: See TracChangeset for help on using the changeset viewer.