netdb.h - definitions for network database operations
#include <netdb.h>
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:
The <netdb.h> header defines the netent 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.
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:
The <netdb.h> header defines the servent 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 macro IPPORT_RESERVED with the value of the highest reserved Internet port number.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 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:
Inclusion of the <netdb.h> header may also make visible all symbols from <netinet/in.h> and <inttypes.h>.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);
endhostent(), endnetent(), endprotoent(), endservent().