Previous section.

Networking Services (XNS) Issue 5
Copyright © 1997 The Open Group

NAME

netdb.h - definitions for network database operations

SYNOPSIS

#include <netdb.h>

DESCRIPTION

The <netdb.h> header may make available the type in_port_t and the type in_addr_t as defined in the description of <netinet/in.h>.

The <netdb.h> header defines the hostent structure that includes at least the following members:

char  *h_name      Official name of the host.
char **h_aliases   A pointer to an array of pointers to alternative host names,
                   terminated by a null pointer.
int    h_addrtype  Address type.
int    h_length    The length, in bytes, of the address.
char **h_addr_list A pointer to an array of pointers to network addresses (in
                   network byte order) for the host, terminated by a null pointer.

The <netdb.h> header defines the netent structure that includes at least the following members:
char  *n_name      Official, fully-qualified (including the domain) name of the host.
char **n_aliases   A pointer to an array of pointers to alternative network names,
                   terminated by a null pointer.
int    n_addrtype  The address type of the network.
uint32_t n_net     The network number, in host byte order.

The uint_32_t type is made available by inclusion of <<inttypes.h>> (see referenced document XSH).

The <netdb.h> header defines the protoent structure that includes at least the following members:

char  *p_name      Official name of the protocol.
char **p_aliases   A pointer to an array of pointers to alternative protocol names,
                   terminated by a null pointer.
int    p_proto     The protocol number.

The <netdb.h> header defines the servent structure that includes at least the following members:
char  *s_name      Official name of the service.
char **s_aliases   A pointer to an array of pointers to alternative service names,
                   terminated by a null pointer.
int    s_port      The port number at which the service resides, in network byte order.
char  *s_proto     The name of the protocol to use when contacting the service.

The <netdb.h> header defines the macro IPPORT_RESERVED with the value of the highest reserved Internet port number.

The <netdb.h> header provides a declaration of h_errno as a modifiable l-value of type int. For example:

extern int h_errno;

The <netdb.h> header defines the following macros for use as error values for gethostbyaddr() and gethostbyname():

HOST_NOT_FOUND

NO_DATA

NO_RECOVERY

TRY_AGAIN

The following are declared as functions, and may also be defined as macros:

void             endhostent(void);
void             endnetent(void);
void             endprotoent(void);
void             endservent(void);
struct hostent  *gethostbyaddr(const void *addr, size_t len, int type);
struct hostent  *gethostbyname(const char *name);
struct hostent  *gethostent(void);
struct netent   *getnetbyaddr(uint32_t net, int type);
struct netent   *getnetbyname(const char *name);
struct netent   *getnetent(void);
struct protoent *getprotobyname(const char *name);
struct protoent *getprotobynumber(int proto);
struct protoent *getprotoent(void);
struct servent  *getservbyname(const char *name, const char *proto);
struct servent  *getservbyport(int port, const char *proto);
struct servent  *getservent(void);
void             sethostent(int stayopen);
void             setnetent(int stayopen);
void             setprotoent(int stayopen);
void             setservent(int stayopen);

Inclusion of the <netdb.h> header may also make visible all symbols from <netinet/in.h> and <inttypes.h>.

SEE ALSO

endhostent(), endnetent(), endprotoent(), endservent().

CHANGE HISTORY

First released in Issue 4.

Why not acquire a nicely bound hard copy?
Click here to return to the publication details or order a copy of this publication.

Contents Next section Index