Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ getservent(3N) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

getprotoent(3N)

services(4)

getservent(3N)                                               getservent(3N)

NAME
     getservent, getservbyport, getservbyname, setservent, endservent - get
     service entry

SYNOPSIS
     #include <netdb.h>

     struct servent *getservent(void);

     struct servent *getservbyname(const char *name, const char *proto);

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

     int setservent(int stayopen);

     int endservent(void);

DESCRIPTION
     getservent(), getservbyname(), and getservbyport() each return a
     pointer to an object with the following structure containing the
     broken-out fields of a line in the network services file,
     /etc/inet/services.

     struct    servent {
          char *sname;        /* official name of service */
          char **saliases;    /* alias list */
          int  sport;         /* port service resides at */
          char *sproto;       /* protocol to use */
     };

     The members of this structure are:

     sname         The official name of the service.

     saliases      A zero terminated list of alternate names for the ser-
                    vice.

     sport         The port number at which the service resides. Port
                    numbers are returned in network short byte order.

     sproto        The name of the protocol to use when contacting the
                    service.

     getservent() reads the next line of the file, opening the file if
     necessary.

     setservent() opens the file and positions the read pointer at the
     beginning. If the stayopen flag is non-zero, the file will not be
     closed after each call to getservent() (either directly, or indirectly
     through one of the other "getserv" calls).

     endservent() closes the file.



Page 1                       Reliant UNIX 5.44                Printed 11/98

getservent(3N)                                               getservent(3N)

     getservbyname() and getservbyport() 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 sup-
     plied (non-NULL), searches must also match the protocol.

DIAGNOSTICS
     A NULL pointer is returned on EOF or error.

     All information is contained in a static area so it must be copied if
     it is to be saved. Expecting port numbers to fit in a 32 bit quantity
     is probably naive.

FILES
     /etc/inet/services

SEE ALSO
     getprotoent(3N), services(4).





































Page 2                       Reliant UNIX 5.44                Printed 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026