unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (4.2BSD)
Page:
Section:
Apropos / Subsearch:
optional field

GETSERVENT(3N)                                                  GETSERVENT(3N)



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

SYNOPSIS
       #include <&lt;netdb.h>&gt;

       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 */
                   long 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 neces-
       sary.

       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 getser-
       vent (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

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.



4th Berkeley Distribution       9 February 1983                 GETSERVENT(3N)