 |
Index for Section 3 |
|
 |
Alphabetical listing for G |
|
getservent(3)
NAME
getservent, getservent_r - Get a services file entry from the /etc/services
file.
LIBRARY
Standard C Library (libc.so, libc.a)
SYNOPSIS
#include <netdb.h>
struct servent *getservent(void);
[Digital] The following obsolete function is supported in order to
maintain backward compatibility with previous versions of the operating
system. You should not use it in new designs.
int getservent_r(
struct servent *serv,
struct servent_data *serv_data);
STANDARDS
Interfaces documented on this reference page conform to industry standards
as follows:
getservent(): XPG4-UNIX
Refer to the standards(5) reference page for more information about
industry standards and associated tags.
PARAMETERS
serv [Digital] For getservent_r() only, this points to the servent
structure. The netdb.h header file defines the servent
structure.
serv_data [Digital] 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 services 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 services
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 network
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.
[Digital] The getservent_r() function is an obsolete reentrant version of
the getservent() function. It is supported in order to maintain backward
compatibility with previous versions of the operating system 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.
[Digital] 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 getservent()
function.
[Digital] If any of the following conditions occurs, the getservent_r()
function sets errno to the corresponding value:
[EINVAL] The serv or serv_data parameter is invalid.
[ESRCH] The search failed.
[Digital] In addition, if the function fails to open the file, it sets
errno to indicate the cause of the failure.
FILES
/etc/services
The DARPA 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.
/etc/svc.conf
The database service selection configuration file.
RELATED INFORMATION
Functions: getservbyport(3), getservbyname(3), endservent(3),
setservent(3).
Files: services(4), svc.conf(4).
Networks: nis_intro(7).
Standards: standards(5).