Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ getserven(3n) — 4D1 2.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

getprotoent(3N)

services(5)



     GETSERVENT(3N)                                     GETSERVENT(3N)



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

     SYNOPSIS
          #include <netdb.h>

          struct servent *getservent()

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

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

          setservent(stayopen)
          int stayopen

          endservent()

     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 data
          base, /etc/services.

               struct    servent {
                    char *s_name;  /* official name of service */
                    char **s_aliases;   /* alias list */
                    int  s_port;        /* port service resides at */
                    char *s_proto; /* protocol to use */
               };

          The members of this structure are:

          s_name     The official name of the service.

          s_aliases  A zero terminated list of alternate names for the
                     service.

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

          s_proto    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 and rewinds the file.  If the stayopen flag
          is non-zero, the net data base will not be closed after each
          call to getservbyname or getservbyport.



     Page 1                                        (last mod. 8/20/87)





     GETSERVENT(3N)                                     GETSERVENT(3N)



          Endservent closes the file.

          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 supplied (non-NULL), searches must also match
          the protocol.

     FILES
          /etc/services

     SEE ALSO
          getprotoent(3N), services(5)

     DIAGNOSTICS
          Null pointer (0) returned on EOF or error.

     BUGS
          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.

     NOTE
          There are two versions of the primitives documented in  this
          manual entry:  a vanilla version and a Yellow Pages version.
          The programmatic interface of both  versions  is  identical.
          The  vanilla version gets its information from an ASCII file
          in /etc.  The Yellow Pages version knows about Sun's  Yellow
          Pages  distributed  lookup  service.  If you want the Yellow
          Pages  version,  link   the   program   according   to   the
          instructions  for  (3Y) primitives as described in intro(3).
          Refer to ypserv(1M)  and  the  NFS  User's  Guide  for  more
          information about the Yellow Pages.

     ORIGIN
          4.3 BSD



















     Page 2                                        (last mod. 8/20/87)



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