getservbyname()
Get a service entry, given a name
Synopsis:
#include <netdb.h> struct servent * getservbyname( const char * name, const char * proto );
Arguments:
- name
- The name of the service whose entry you want to find.
- proto
- NULL, or the protocol for the service.
Library:
libsocket
Use the -l socket option to qcc to link against this library.
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 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.
Returns:
A valid pointer to a servent structure, or NULL if an error occurs.
Files:
- /etc/services
- Network services database file.
Classification:
Safety: | |
---|---|
Cancellation point | Yes |
Interrupt handler | No |
Signal handler | No |
Thread | No |
Caveats:
This function uses static data; if you need the data for future use, copy it before any subsequent calls overwrite it.