This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: htonl, htons, ntohl and ntohs types
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.
Wow, that was fast. Thanks!
My code still gives me warnings due to a problem with stdint.h.
The Xint32_t typedef's uses long instead of int:
>From stdint.h:
typedef long int32_t;
typedef unsigned long uint32_t;
I think they should be:
typedef int int32_t;
typedef unsigned int uint32_t;
Regards
-- Lars Munch
--
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/