1 /* $Id: byteorder.h,v 1.13 1997/05/26 23:37:46 davem Exp $ */
2 #ifndef _SPARC_BYTEORDER_H
3 #define _SPARC_BYTEORDER_H
5 #define ntohl(x) ((unsigned long int)(x))
6 #define ntohs(x) ((unsigned short int)(x))
7 #define htonl(x) ((unsigned long int)(x))
8 #define htons(x) ((unsigned short int)(x))
10 /* Some programs depend upon these being around. */
11 #define __constant_ntohl(x) ((unsigned long int)(x))
12 #define __constant_ntohs(x) ((unsigned short int)(x))
13 #define __constant_htonl(x) ((unsigned long int)(x))
14 #define __constant_htons(x) ((unsigned short int)(x))
17 #define __BIG_ENDIAN 4321
20 #ifndef __BIG_ENDIAN_BITFIELD
21 #define __BIG_ENDIAN_BITFIELD
26 /* Convert from CPU byte order, to specified byte order. */
27 extern __inline__ __u16
cpu_to_le16(__u16 value
)
29 return (value
>> 8) | (value
<< 8);
32 extern __inline__ __u32
cpu_to_le32(__u32 value
)
34 return((value
>>24) | ((value
>>8)&0xff00) |
35 ((value
<<8)&0xff0000) | (value
<<24));
37 #define cpu_to_be16(x) (x)
38 #define cpu_to_be32(x) (x)
40 /* Convert from specified byte order, to CPU byte order. */
41 extern __inline__ __u16
le16_to_cpu(__u16 value
)
43 return (value
>> 8) | (value
<< 8);
46 extern __inline__ __u32
le32_to_cpu(__u32 value
)
48 return((value
>>24) | ((value
>>8)&0xff00) |
49 ((value
<<8)&0xff0000) | (value
<<24));
51 #define be16_to_cpu(x) (x)
52 #define be32_to_cpu(x) (x)
54 #endif /* __KERNEL__ */
56 #endif /* !(_SPARC_BYTEORDER_H) */