Updated: April 19, 2023 |
Get a service entry, given a port
#include <netdb.h> struct servent * getservbyport( int port, const char * proto );
The getservbyport() function gets the entry for the given port from the services database, /etc/services. This function returns a pointer to a structure 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 getservbyport() function sequentially searches 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.