getservbyname()

get a service entry, given a name

Synopsis:

#include <netdb.h>

struct servent *getservbyname (const char *name,
                               const char *proto );

Description:

The getservbyname() function gets the entry for the given name and protocol from the network services database, /etc/services. This function returns a pointer of type servent, which contains the broken-out fields of a line in the network services database.

The setservent() function opens and rewinds the file. If the stayopen flag is nonzero, the net database won't be closed after each call to getservbyname() or getservbyport().

The getservbyname() and getservbyport() functions 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.

Returns:

A valid pointer to a servent structure, or NULL if an error occurs.

Files:

/etc/services
Network services database file.

Classification:

POSIX 1003.1g (draft)

Safety:
Interrupt handler No
Signal handler No
Thread No

Caveats:

This function uses static data; if the data is needed for future use, it should be copied before any subsequent calls overwrite it.

See also:

endservent(), getprotoent(), getservbyport(), getservent(), servent, setservent()

/etc/services in the TCP/IP User's Guide