diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1997-12-16 05:34:03 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1997-12-16 05:34:03 +0000 |
commit | 967c65a99059fd459b956c1588ce0ba227912c4e (patch) | |
tree | 8224d013ff5d255420713d05610c7efebd204d2a /include/asm-sparc/byteorder.h | |
parent | e20c1cc1656a66a2773bca4591a895cbc12696ff (diff) |
Merge with Linux 2.1.72, part 1.
Diffstat (limited to 'include/asm-sparc/byteorder.h')
-rw-r--r-- | include/asm-sparc/byteorder.h | 92 |
1 files changed, 6 insertions, 86 deletions
diff --git a/include/asm-sparc/byteorder.h b/include/asm-sparc/byteorder.h index 5becb7c5d..7cbbfd26d 100644 --- a/include/asm-sparc/byteorder.h +++ b/include/asm-sparc/byteorder.h @@ -1,93 +1,13 @@ -/* $Id: byteorder.h,v 1.14 1997/05/28 11:35:38 jj Exp $ */ #ifndef _SPARC_BYTEORDER_H #define _SPARC_BYTEORDER_H -#define ntohl(x) ((unsigned long int)(x)) -#define ntohs(x) ((unsigned short int)(x)) -#define htonl(x) ((unsigned long int)(x)) -#define htons(x) ((unsigned short int)(x)) +#include <asm/types.h> -/* Some programs depend upon these being around. */ -#define __constant_ntohl(x) ((unsigned long int)(x)) -#define __constant_ntohs(x) ((unsigned short int)(x)) -#define __constant_htonl(x) ((unsigned long int)(x)) -#define __constant_htons(x) ((unsigned short int)(x)) - -#ifndef __BIG_ENDIAN -#define __BIG_ENDIAN 4321 -#endif - -#ifndef __BIG_ENDIAN_BITFIELD -#define __BIG_ENDIAN_BITFIELD +#if defined(__GNUC__) && !defined(__STRICT_ANSI__) || defined(__KERNEL__) +# define __BYTEORDER_HAS_U64__ +# define __SWAB_64_THRU_32__ #endif -#ifdef __KERNEL__ - -/* Convert from CPU byte order, to specified byte order. */ -extern __inline__ __u16 cpu_to_le16(__u16 value) -{ - return (value >> 8) | (value << 8); -} - -extern __inline__ __u32 cpu_to_le32(__u32 value) -{ - return((value>>24) | ((value>>8)&0xff00) | - ((value<<8)&0xff0000) | (value<<24)); -} -#define cpu_to_be16(x) (x) -#define cpu_to_be32(x) (x) - -/* The same, but returns converted value from the location pointer by addr. */ -extern __inline__ __u16 cpu_to_le16p(__u16 *addr) -{ - return cpu_to_le16(*addr); -} - -extern __inline__ __u32 cpu_to_le32p(__u32 *addr) -{ - return cpu_to_le32(*addr); -} - -extern __inline__ __u16 cpu_to_be16p(__u16 *addr) -{ - return cpu_to_be16(*addr); -} - -extern __inline__ __u32 cpu_to_be32p(__u32 *addr) -{ - return cpu_to_be32(*addr); -} - -/* The same, but do the conversion in situ, ie. put the value back to addr. */ -extern __inline__ void cpu_to_le16s(__u16 *addr) -{ - *addr = cpu_to_le16(*addr); -} - -extern __inline__ void cpu_to_le32s(__u32 *addr) -{ - *addr = cpu_to_le32(*addr); -} - -#define cpu_to_be16s(x) do { } while (0) -#define cpu_to_be32s(x) do { } while (0) - -/* Convert from specified byte order, to CPU byte order. */ -#define le16_to_cpu(x) cpu_to_le16(x) -#define le32_to_cpu(x) cpu_to_le32(x) -#define be16_to_cpu(x) cpu_to_be16(x) -#define be32_to_cpu(x) cpu_to_be32(x) - -#define le16_to_cpup(x) cpu_to_le16p(x) -#define le32_to_cpup(x) cpu_to_le32p(x) -#define be16_to_cpup(x) cpu_to_be16p(x) -#define be32_to_cpup(x) cpu_to_be32p(x) - -#define le16_to_cpus(x) cpu_to_le16s(x) -#define le32_to_cpus(x) cpu_to_le32s(x) -#define be16_to_cpus(x) cpu_to_be16s(x) -#define be32_to_cpus(x) cpu_to_be32s(x) - -#endif /* __KERNEL__ */ +#include <linux/byteorder/big_endian.h> -#endif /* !(_SPARC_BYTEORDER_H) */ +#endif /* _SPARC_BYTEORDER_H */ |