getservent, getservbyname, getservbyport, setservent, endservent — get service entry
#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_nameThe official name of the service.
s_aliasesA zero terminated list of alternative names for the service.
s_portThe port number for the service given in network byte order.
s_protoThe 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.
getnetent(3), getprotoent(3), services(5)
|
|