[Previous] [Contents] [Index] [Next]

getservbyport()

Get a service entry, given a port

Synopsis:

#include <netdb.h>

struct servent * getservbyport( int port,
                                const char * proto );

Library:

socket3r.lib, socket3s.lib

Description:

The getservbyport() function gets the entry for the given port from the services database, /etc/services. It 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 the stayopen flag is nonzero, the net database won't be 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.

Returns:

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

Files:

/etc/services
Network services database file.

Classification:

Standard Unix, 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(), getservbyname(), getservent(), servent, setservent()

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


[Previous] [Contents] [Index] [Next]