diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2006-04-21 09:59:07 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2006-04-21 09:59:07 +0000 |
commit | 387e6a35d846f5bafeddbcf8a42b3b4cbe3ecae5 (patch) | |
tree | 3d06e12bf3eac5091b2a9e12c58dd25a17b709fb /winsup/cygwin | |
parent | 6fbcec60a8a38a7223bec5c82f36667e8b5e7672 (diff) | |
download | newlib-387e6a35d846f5bafeddbcf8a42b3b4cbe3ecae5.zip newlib-387e6a35d846f5bafeddbcf8a42b3b4cbe3ecae5.tar.gz newlib-387e6a35d846f5bafeddbcf8a42b3b4cbe3ecae5.tar.bz2 |
* include/asm/byteorder.h: Include stdint.h. Per standard, change
datatypes in ntohX and htonX functions to uintXX_t types.
Diffstat (limited to 'winsup/cygwin')
-rw-r--r-- | winsup/cygwin/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/cygwin/include/asm/byteorder.h | 45 |
2 files changed, 24 insertions, 26 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index e182fc8..fe7d8bc 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2006-04-21 Corinna Vinschen <corinna@vinschen.de> + + * include/asm/byteorder.h: Include stdint.h. Per standard, change + datatypes in ntohX and htonX functions to uintXX_t types. + 2006-04-18 Christopher Faylor <cgf@timesys.com> * exceptions.cc (ctrl_c_handler): Only exit TRUE on CTRL_LOGOFF_EVENT diff --git a/winsup/cygwin/include/asm/byteorder.h b/winsup/cygwin/include/asm/byteorder.h index fe6548b..fd683ff 100644 --- a/winsup/cygwin/include/asm/byteorder.h +++ b/winsup/cygwin/include/asm/byteorder.h @@ -11,17 +11,12 @@ details. */ #ifndef _I386_BYTEORDER_H #define _I386_BYTEORDER_H +#include <stdint.h> + #ifdef __cplusplus extern "C" { #endif -#if 0 -#undef ntohl -#undef ntohs -#undef htonl -#undef htons -#endif - #ifndef __LITTLE_ENDIAN #define __LITTLE_ENDIAN 1234 #endif @@ -30,18 +25,17 @@ extern "C" { #define __LITTLE_ENDIAN_BITFIELD #endif -#if 1 -extern unsigned long int ntohl(unsigned long int); -extern unsigned short int ntohs(unsigned short int); -extern unsigned long int htonl(unsigned long int); -extern unsigned short int htons(unsigned short int); +extern uint32_t ntohl(uint32_t); +extern uint16_t ntohs(uint16_t); +extern uint32_t htonl(uint32_t); +extern uint16_t htons(uint16_t); -extern __inline__ unsigned long int __ntohl(unsigned long int); -extern __inline__ unsigned short int __ntohs(unsigned short int); -extern __inline__ unsigned long int __constant_ntohl(unsigned long int); -extern __inline__ unsigned short int __constant_ntohs(unsigned short int); +extern __inline__ uint32_t __ntohl(uint32_t); +extern __inline__ uint16_t __ntohs(uint16_t); +extern __inline__ uint32_t __constant_ntohl(uint32_t); +extern __inline__ uint16_t __constant_ntohs(uint16_t); -extern __inline__ unsigned long int +extern __inline__ uint32_t __ntohl(unsigned long int x) { __asm__("xchgb %b0,%h0\n\t" /* swap lower bytes */ @@ -53,13 +47,13 @@ __ntohl(unsigned long int x) } #define __constant_ntohl(x) \ - ((unsigned long int)((((unsigned long int)(x) & 0x000000ffU) << 24) | \ - (((unsigned long int)(x) & 0x0000ff00U) << 8) | \ - (((unsigned long int)(x) & 0x00ff0000U) >> 8) | \ - (((unsigned long int)(x) & 0xff000000U) >> 24))) + ((uint32_t)((((uint32_t)(x) & 0x000000ffU) << 24) | \ + (((uint32_t)(x) & 0x0000ff00U) << 8) | \ + (((uint32_t)(x) & 0x00ff0000U) >> 8) | \ + (((uint32_t)(x) & 0xff000000U) >> 24))) -extern __inline__ unsigned short int -__ntohs(unsigned short int x) +extern __inline__ uint16_t +__ntohs(uint16_t x) { __asm__("xchgb %b0,%h0" /* swap bytes */ : "=q" (x) @@ -68,8 +62,8 @@ __ntohs(unsigned short int x) } #define __constant_ntohs(x) \ - ((unsigned short int)((((unsigned short int)(x) & 0x00ff) << 8) | \ - (((unsigned short int)(x) & 0xff00) >> 8))) \ + ((uint16_t)((((uint16_t)(x) & 0x00ff) << 8) | \ + (((uint16_t)(x) & 0xff00) >> 8))) \ #define __htonl(x) __ntohl(x) #define __htons(x) __ntohs(x) @@ -94,7 +88,6 @@ __ntohs(unsigned short int x) __constant_htons((x)) : \ __htons((x))) #endif -#endif #ifdef __cplusplus } |