Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ getservbyport.(3N) — A/UX 0.7

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

getprotoent(3N)

services(4N)



     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()

          cc ... -lnet

     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 */
             long s_port;      /* port service resides at */
             char *s_proto;    /* 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
                     service.

          sport     The port number at  which  the  service  resides.
                     Port numbers are returned in network 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 and rewinds the file.  If the stayopen flag



     Page 1                                        (last mod. 1/14/87)





     getservent(3N)                                     getservent(3N)



          is non-zero, the net data base will not be closed after each
          call to getservent (either directly, or  indirectly  through
          one of the other ``getserv'' calls).

          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

     LINKING
          This library is accessed by specifying  -lnet  as  the  last
          argument to the compile line, e.g.:

            cc -o prog prog.c -lnet

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

     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.
























     Page 2                                        (last mod. 1/14/87)



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