|
|
#define be16_to_cpus __be16_to_cpus | #define be16_to_cpus __be16_to_cpus |
#endif | #endif |
| |
|
#if defined(__KERNEL__) |
/* | /* |
* Handle ntohl and suches. These have various compatibility | * Handle ntohl and suches. These have various compatibility |
* issues - like we want to give the prototype even though we | * issues - like we want to give the prototype even though we |
|
|
* Do the prototypes. Somebody might want to take the | * Do the prototypes. Somebody might want to take the |
* address or some such sick thing.. | * address or some such sick thing.. |
*/ | */ |
#if defined(__KERNEL__) || (defined (__GLIBC__) && __GLIBC__ >= 2) |
|
extern __u32 ntohl(__u32); | extern __u32 ntohl(__u32); |
extern __u32 htonl(__u32); | extern __u32 htonl(__u32); |
#else |
|
extern unsigned long int ntohl(unsigned long int); |
|
extern unsigned long int htonl(unsigned long int); |
|
#endif |
|
extern unsigned short int ntohs(unsigned short int); | extern unsigned short int ntohs(unsigned short int); |
extern unsigned short int htons(unsigned short int); | extern unsigned short int htons(unsigned short int); |
| |
|
#if defined(__GNUC__) && defined(__OPTIMIZE__) |
#if defined(__GNUC__) && (__GNUC__ >= 2) && defined(__OPTIMIZE__) && !defined(__STRICT_ANSI__) |
|
| |
#define ___htonl(x) __cpu_to_be32(x) | #define ___htonl(x) __cpu_to_be32(x) |
#define ___htons(x) __cpu_to_be16(x) | #define ___htons(x) __cpu_to_be16(x) |
#define ___ntohl(x) __be32_to_cpu(x) | #define ___ntohl(x) __be32_to_cpu(x) |
#define ___ntohs(x) __be16_to_cpu(x) | #define ___ntohs(x) __be16_to_cpu(x) |
| |
#if defined(__KERNEL__) || (defined (__GLIBC__) && __GLIBC__ >= 2) |
|
#define htonl(x) ___htonl(x) | #define htonl(x) ___htonl(x) |
#define ntohl(x) ___ntohl(x) | #define ntohl(x) ___ntohl(x) |
#else |
|
#define htonl(x) ((unsigned long)___htonl(x)) |
|
#define ntohl(x) ((unsigned long)___ntohl(x)) |
|
#endif |
|
#define htons(x) ___htons(x) | #define htons(x) ___htons(x) |
#define ntohs(x) ___ntohs(x) | #define ntohs(x) ___ntohs(x) |
| |
#endif /* OPTIMIZE */ | #endif /* OPTIMIZE */ |
| |
|
#endif /* KERNEL */ |
|
|
| |
#endif /* _LINUX_BYTEORDER_GENERIC_H */ | #endif /* _LINUX_BYTEORDER_GENERIC_H */ |