Updated: April 19, 2023 |
Get a service entry, given a name
#include <netdb.h> struct servent * getservbyname( const char * name, const char * proto );
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 you pass a nonzero stayopen argument to setservent(), the services database isn't 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.
A valid pointer to a servent structure, or NULL if an error occurs.
Safety: | |
---|---|
Cancellation point | Yes |
Interrupt handler | No |
Signal handler | No |
Thread | No |
This function uses static data; if you need the data for future use, copy it before any subsequent calls overwrite it.