• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: OT? gethostbyname failure
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: OT? gethostbyname failure


  • Subject: Re: OT? gethostbyname failure
  • From: Bill Royds <email@hidden>
  • Date: Sat, 16 Feb 2008 16:42:09 -0500


On 16-Feb-08, at 16:22 , email@hidden wrote:

he thing is we use the function:

hostent *myhostent=gethostbyname(p);

p being a normal pointer to a name like 'www.apple.com'

and this one fails lately on 10.4 intel mac-minis


Notice in the man page for gethostbyname that the IP address array is in network byte order. This is the same as internal byte order for PPC architecture but reversed for Intel x86 architecture.
So you need to transform all IP addresses before using. There is a function called ntohl that does this for you.


Man page for byte ordering functions:

BYTEORDER(3)             BSD Library Functions Manual             BYTEORDER(3)

NAME
     htonl, htons, ntohl, ntohs -- convert values between host and network byte order

LIBRARY
     Standard C Library (libc, -lc)

SYNOPSIS
     #include <arpa/inet.h>

     uint32_t
     htonl(uint32_t hostlong);

     uint16_t
     htons(uint16_t hostshort);

     uint32_t
     ntohl(uint32_t netlong);

     uint16_t
     ntohs(uint16_t netshort);

DESCRIPTION
     These routines convert 16 and 32 bit quantities between network byte order and host byte order.  On machines which have a byte order which is the same as the network order, routines are defined as null
     macros.

     These routines are most often used in conjunction with Internet addresses and ports as returned by gethostbyname(3) and getservent(3).

SEE ALSO
     gethostbyname(3), getservent(3)

STANDARDS
     The byteorder functions are expected to conform with IEEE Std POSIX.1-200x (``POSIX.1'').

HISTORY
     The byteorder functions appeared in 4.2BSD.

BUGS
     On the VAX bytes are handled backwards from most everyone else in the world.  This is not expected to be fixed in the near future.

BSD                              June 4, 1993                              BSD
(END) 


Bill Royds



 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

References: 
 >OT? gethostbyname failure (From: email@hidden)

  • Prev by Date: OT? gethostbyname failure
  • Next by Date: GraphicsAppSupport.framework
  • Previous by thread: OT? gethostbyname failure
  • Next by thread: Re: OT? gethostbyname failure
  • Index(es):
    • Date
    • Thread