Originální popis anglicky:
getservent, getservbyname, getservbyport, setservent, endservent - get service
entry
Návod, kniha: Linux Programmer's Manual
#include <netdb.h>
struct servent *getservent(void);
struct servent *getservbyname(const char *name, const char *proto);
struct servent *getservbyport(int port, const char *proto);
void setservent(int stayopen);
void endservent(void);
The
getservent() function reads the next line from the file
/etc/services and returns a structure
servent containing the
broken out fields from the line. The
/etc/services file is opened if
necessary.
The
getservbyname() function returns a
servent structure for the
line from
/etc/services that matches the service
name using
protocol
proto. If
proto is NULL, any protocol will be matched.
The
getservbyport() function returns a
servent structure for the
line that matches the port
port given in network byte order using
protocol
proto. If
proto is NULL, any protocol will be matched.
The
setservent() function opens and rewinds the
/etc/services
file. If
stayopen is true (1), then the file will not be closed between
calls to
getservbyname() and
getservbyport().
The
endservent() function closes
/etc/services.
The
servent structure is defined in
<netdb.h> as follows:
struct servent {
char *s_name; /* official service name */
char **s_aliases; /* alias list */
int s_port; /* port number */
char *s_proto; /* protocol to use */
}
The members of the
servent structure are:
- s_name
- The official name of the service.
- s_aliases
- A zero terminated list of alternative names for the
service.
- s_port
- The port number for the service given in network byte
order.
- s_proto
- The name of the protocol to use with this service.
The
getservent(),
getservbyname() and
getservbyport()
functions return the
servent structure, or a NULL pointer if an error
occurs or the end of the file is reached.
- /etc/services
- services database file
BSD 4.3
getnetent(3),
getprotoent(3),
services(5)