getservent(3)getservent(3)NAME
getservent, getservent_r - Get a services file entry from the /etc/ser‐
vices file.
SYNOPSIS
#include <netdb.h>
struct servent *getservent(
void );
[Tru64 UNIX] The following obsolete function is supported only for
backward compatibility reasons. You should not use it in new designs.
int getservent_r(
struct servent *serv,
struct servent_data *serv_data );
LIBRARY
Standard C Library (libc)
STANDARDS
Interfaces documented on this reference page conform to industry stan‐
dards as follows:
getservent(): XNS4.0, XNS5.0
Refer to the standards(5) reference page for more information about
industry standards and associated tags.
PARAMETERS
[Tru64 UNIX] For getservent_r() only, this points to the servent
structure. The netdb.h header file defines the servent structure.
[Tru64 UNIX] For getservent_r() only, this points to the servent_data
structure. The netdb.h header file defines the servent_data structure.
DESCRIPTION
The getservent() (get service entry) function opens and reads the next
line of either the local /etc/services file or the NIS distributed ser‐
vices file for the requested information. To determine which file or
files to search, and in which order, the system uses the switches in
the /etc/svc.conf file.
An application program can use the getservent() function to retrieve
information about network services and the protocol ports they use.
The getservent() function returns a pointer to a servent structure,
which contains fields for a line of information from the network ser‐
vices database file. The servent structure is defined in the netdb.h
header file as follows:
struct servent {
char *s_name; /* official service name */
char **s_aliases; /* alias list */
int s_port; /* port # */
char *s_proto; /* protocol to use */ };
The network services database file remains open after a call by the
getservent() function. Use the endservent() function to close the net‐
work services database file. Use the setservent() function to rewind.
NOTES
The getservent() function returns a pointer to thread-specific data.
Subsequent calls to this or a related function from the same thread
overwrite this data.
[Tru64 UNIX] The getservent_r() function is an obsolete reentrant ver‐
sion of the getservent() function and should not be used in new
designs. Note that you must zero-fill the servent_data structure before
its first access by the getservent_r() function.
RETURN VALUES
Upon successful completion, the getservent() function returns a pointer
to a servent structure. If it fails or reaches the end of the network
services database file, it returns a null pointer.
[Tru64 UNIX] Upon successful completion, the getservent_r() function
stores the servent structure in the location pointed to by serv, and
returns a value of 0 (zero). Upon failure, it returns a value of -1.
ERRORS
Current industry standards do not define error values for the getser‐
vent() function.
[Tru64 UNIX] If any of the following conditions occurs, the getser‐
vent_r() function sets errno to the corresponding value: The serv or
serv_data parameter is invalid. The search failed.
[Tru64 UNIX] In addition, if the function fails to open the file, it
sets errno to indicate the cause of the failure.
FILES
The Internet network service name database file. Each record in the
file occupies a single line and has four fields: the official service
name, the port number, the protocol name, and aliases. The database
service selection configuration file.
SEE ALSO
Functions: getservbyport(3), getservbyname(3), endservent(3), setser‐
vent(3)
Files: services(4), svc.conf(4)
Networks: nis_intro(7)
Standards: standards(5)
Network Programmer's Guide
getservent(3)