| 
 |  | 
#include <netdb.h>struct servent * getservent ( )
struct servent * getservbyname (name, proto) const char *name, *proto;
struct servent * getservbyport (port, proto) int port; const char *proto;
int setservent (stayopen) int stayopen;
int endservent ( )
   struct	servent {
   	char	*s_name;      /* official name of service */
   	char	**s_aliases;  /* alias list */
   	int	s_port;       /* port service resides at */
   	char	*s_proto;     /* protocol to use */
   };
The members of this structure are:
s_names_aliasess_ports_protogetservent reads the next line of the file, opening the file if necessary.
setservent opens and rewinds the file. If the stayopen flag is non-zero, the network data base will not be closed after each call to getservent (either directly, or indirectly through one of the other `getserv' calls).
endservent closes the file.
getservbyname and getservbyport sequentially search from the beginning of the file until a matching protocol name or port number is found, or until EOF is encountered. If a protocol name is also supplied (non-NULL), searches must also match the protocol.