delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2006/04/21/08:12:13

X-Spam-Check-By: sourceware.org
Date: Fri, 21 Apr 2006 14:11:51 +0200
To: cygwin AT cygwin DOT com
Subject: Re: htonl, htons, ntohl and ntohs types
Message-ID: <20060421121151.GA16022@tuxedo.skovlyporten.dk>
References: <20060421092508 DOT GA15855 AT tuxedo DOT skovlyporten DOT dk> <20060421100000 DOT GC12661 AT calimero DOT vinschen DOT de>
MIME-Version: 1.0
In-Reply-To: <20060421100000.GC12661@calimero.vinschen.de>
User-Agent: Mutt/1.5.11+cvs20060403
From: lars AT segv DOT dk (Lars Munch)
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019