On Fri, Apr 21, 2006 at 12:00:00PM +0200, Corinna Vinschen wrote: > On Apr 21 11:25, Lars Munch wrote: > > Hello > > > > I have noticed that the types of the functions htonl, htons, ntohs and > > ntohl differs from standard (and linux): > > > > http://www.opengroup.org/onlinepubs/000095399/functions/htonl.html > > > > Cygwin uses: > > > > unsigned long int ntohl(unsigned long int); > > unsigned short int ntohs(unsigned short int); > > unsigned long int htonl(unsigned long int); > > unsigned short int htons(unsigned short int); > > > > The standard (and Linux) has: > > > > uint32_t htonl(uint32_t hostlong); > > uint16_t htons(uint16_t hostshort); > > uint32_t ntohl(uint32_t netlong); > > uint16_t ntohs(uint16_t netshort); > > > > Is there any reason for this difference? > > Nobody had a problem so far? > > Fixed in CVS. >
You missed one. See attachment. -- Lars Munch
Index: ./winsup/cygwin/include/asm/byteorder.h =================================================================== RCS file: /cvs/src/src/winsup/cygwin/include/asm/byteorder.h,v retrieving revision 1.3 diff -u -r1.3 byteorder.h --- ./winsup/cygwin/include/asm/byteorder.h 21 Apr 2006 09:59:07 -0000 1.3 +++ ./winsup/cygwin/include/asm/byteorder.h 21 Apr 2006 13:00:03 -0000 @@ -36,7 +36,7 @@ extern __inline__ uint16_t __constant_ntohs(uint16_t); extern __inline__ uint32_t -__ntohl(unsigned long int x) +__ntohl(uint32_t x) { __asm__("xchgb %b0,%h0\n\t" /* swap lower bytes */ "rorl $16,%0\n\t" /* swap words */
-- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/