Middleware, development tools, realtime operating system
software and services for superior embedded design


Home
QNX Community Resources
Developer Support
QNX Documentation Library
QNX Developer Support

QNX Developer Support

QNX Software Systems
Developer Resources
Blogs
Board support packages
Foundry27 projects
Forums
Hardware support listing
Online video tutorials
Product documentation
Technical Articles

[Previous] [Contents] [Index] [Next]

gethostbyname_r()

Get a network host entry by name

Synopsis:

#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>

struct hostent *gethostbyname_r(
                   const char * name,
                   struct hostent * result,
                   char * buffer,
                   int bufflen,
                   int * h_errnop );

Arguments:

name
The name of the Internet host whose entry you want to find.
result
A pointer to a struct hostent where the function can store the host entry.
buffer
A pointer to a buffer that the function can use during the operation to store host database entries; buffer should be large enough to hold all of the data associated with the host entry. A 2K buffer is usually more than enough; a 256-byte buffer is safe in most cases.
buflen
The length of the area pointed to by buffer.
h_errnop
A pointer to a location where the function can store an herrno value if an error occurs.

Library:

libsocket

Use the -l socket option to qcc to link against this library.

Description:

The gethostbyname_r() function is a thread-safe version of gethostbyname(). This function gets the network host entry for the host specified by name, and stores the entry in the struct hostent pointed to by result.

Returns:

A pointer to result, or NULL if an error occurs.

Errors:

If an error occurs, the int pointed to by h_errnop is set to:

ERANGE
The supplied buffer isn't large enough to store the result.
HOST_NOT_FOUND
Authoritative answer: Unknown host.
NO_ADDRESS
No address associated with name; look for an MX record.
NO_DATA
Valid name, but no data record of the requested type. The name is known to the name server, but has no IP address associated with it -- this isn't a temporary error. Another type of request to the name server using this domain name will result in an answer (e.g. a mail-forwarder may be registered for this domain).
NO_RECOVERY
Unknown server error. An unexpected server failure was encountered. This is a nonrecoverable network error.
TRY_AGAIN
Nonauthoritative answer: Host name lookup failure. This is usually a temporary error and means that the local server didn't receive a response from an authoritative server. A retry at some later time may succeed.

Files:

/etc/hosts
Local host database file.
/etc/resolv.conf
Resolver configuration file.

For information about these files, see the Utilities Reference.

Classification:

Unix

Safety:
Cancellation point Yes
Interrupt handler No
Signal handler No
Thread Yes

See also:

gethostbyaddr(), gethostbyaddr_r(), gethostbyname()

/etc/hosts, /etc/resolv.conf in the Utilities Reference


[Previous] [Contents] [Index] [Next]