Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

Intro(3)

endhostent(3N)

endhostent(3XN)

endnetent(3N)

endnetent(3XN)

endprotoent(3N)

endprotoent(3XN)

endservent(3N)

endservent(3XN)

in(5)

standards(5)

netdb(5)

NAME

netdb − definitions for network database operations

SYNOPSIS

#include <netdb.h>

DESCRIPTION

The <netdb.h> header defines the type in_port_t and the type in_addr_t as described in in(5). 

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

char ∗h_name Official name of the net.
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 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.
in_addr_t n_net The network number, in host byte order.

The <netdb.h> header defines the protoent structure that includes 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 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 for h_errno:

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

Inclusion of the <netdb.h> header may also make visible all symbols from in(5). 

Default

For applications that do not require standard-conforming behavior (those that use the socket interfaces described in section 3N of the reference manual; see Intro(3) and standards(5)), the following are declared as functions, and may also be defined as macros:

int endhostent(void);
int endnetent(void);
int endprotoent(void);
int endservent(void);
struct hostent ∗gethostbyaddr(const void ∗addr, int len, int type);
struct hostent ∗gethostbyname(const char ∗name);
struct hostent ∗gethostent(void);
struct netent ∗getnetbyaddr(long 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);
int sethostent(int stayopen);
int setnetent(int stayopen);
int setprotoent(int stayopen);
int setservent(int stayopen);

Standard-conforming

For applications that require standard-conforming behavior (those that use the socket interfaces described in section 3XN of the reference manual; see Intro(3) and standards(5)), 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(in_addr_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);

SEE ALSO

Intro(3), endhostent(3N), endhostent(3XN), endnetent(3N), endnetent(3XN), endprotoent(3N), endprotoent(3XN), endservent(3N), endservent(3XN), in(5), standards(5)

SunOS 5.6  —  Last change: 8 May 1997

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026