GETSERVENT(3N) UNIX Programmer's Manual GETSERVENT(3N) NAME getservent, getservbyport, getservbyname, setservent, endservent - get service entry SYNOPSIS #include struct servent *getservent() struct servent *getservbyname(name, proto) char *name, *proto; struct servent *getservbyport(port, proto) int port; char *proto; setservent(stayopen) int stayopen endservent() DESCRIPTION _G_e_t_s_e_r_v_e_n_t, _g_e_t_s_e_r_v_b_y_n_a_m_e, and _g_e_t_s_e_r_v_b_y_p_o_r_t each return a pointer to an object with the following structure containing the broken-out fields of a line in the network services data base, /_e_t_c/_s_e_r_v_i_c_e_s. 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_name The official name of the service. s_aliases A zero terminated list of alternate names for the service. s_port The port number at which the service resides. Port numbers are returned in network byte order. s_proto The name of the protocol to use when contacting the service. _G_e_t_s_e_r_v_e_n_t reads the next line of the file, opening the file if necessary. _S_e_t_s_e_r_v_e_n_t opens and rewinds the file. If the _s_t_a_y_o_p_e_n flag is non-zero, the net data base will not be closed after each call to _g_e_t_s_e_r_v_b_y_n_a_m_e or .IR getservbyport . Printed 11/26/99 May 19, 1986 1 GETSERVENT(3N) UNIX Programmer's Manual GETSERVENT(3N) _E_n_d_s_e_r_v_e_n_t closes the file. _G_e_t_s_e_r_v_b_y_n_a_m_e and _g_e_t_s_e_r_v_b_y_p_o_r_t 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. FILES /etc/services SEE ALSO getprotoent(3N), services(5) DIAGNOSTICS Null pointer (0) returned on EOF or error. BUGS All information is contained in a static area so it must be copied if it is to be saved. Expecting port numbers to fit in a 32 bit quantity is probably naive. Printed 11/26/99 May 19, 1986 2