This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: htonl, htons, ntohl and ntohs types


Lars Munch, le Fri 21 Apr 2006 14:11:51 +0200, a écrit :
> 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:

That's on purpose: on windows, ints are 16bits.

If you need something like printing uint32_t-s, use "%"PRIx32 for instance.

Regards,
Samuel

--
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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]