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:

POSIX 1003.1

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.

Last modified: 2013-12-23

comments powered by Disqus