linux-old/include/asm-sh/byteorder.h
<<
>>
Prefs
   1#ifndef __ASM_SH_BYTEORDER_H
   2#define __ASM_SH_BYTEORDER_H
   3
   4/*
   5 * Copyright (C) 1999  Niibe Yutaka
   6 */
   7
   8#include <asm/types.h>
   9
  10static __inline__ __const__ __u32 ___arch__swab32(__u32 x)
  11{
  12        __asm__("swap.b %0, %0\n\t"
  13                "swap.w %0, %0\n\t"
  14                "swap.b %0, %0"
  15                : "=r" (x)
  16                : "0" (x));
  17        return x;
  18}
  19
  20static __inline__ __const__ __u16 ___arch__swab16(__u16 x)
  21{
  22        __asm__("swap.b %0, %0"
  23                : "=r" (x)
  24                :  "0" (x));
  25        return x;
  26}
  27
  28#define __arch__swab32(x) ___arch__swab32(x)
  29#define __arch__swab16(x) ___arch__swab16(x)
  30
  31#if !defined(__STRICT_ANSI__) || defined(__KERNEL__)
  32#  define __BYTEORDER_HAS_U64__
  33#  define __SWAB_64_THRU_32__
  34#endif
  35
  36#ifdef __LITTLE_ENDIAN__
  37#include <linux/byteorder/little_endian.h>
  38#else
  39#include <linux/byteorder/big_endian.h>
  40#endif
  41
  42#endif /* __ASM_SH_BYTEORDER_H */
  43
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.