Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ getservent(3N) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

byteorder(3N)

inet(3N)

gethostent(3N)

getprotoent(3N)

ypserv(1M)

services(4)






       getservent(3N)                                        getservent(3N)


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

       SYNOPSIS
             cc [options] files -lsocket -lnsl
             #include <netdb.h>
             struct servent *getservent(void);
             struct servent *getservbyname(char *name, char *proto);
             struct servent *getservbyport(int port, 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 data
             base, /etc/services.

             The servent structure includes the following members:
                   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 short 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 getservent (either directly, or indirectly through one


                           Copyright 1994 Novell, Inc.               Page 1













      getservent(3N)                                        getservent(3N)


            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
            /var/yp/{domainname}/services.byname

         Return Values
            A NULL pointer is returned on EOF or error.

      REFERENCES
            byteorder(3N), inet(3N), gethostent(3N), getprotoent(3N),
            ypserv(1M), services(4)

      NOTICES
            All information is contained in a static area so it must be
            copied if it is to be saved.  For multi-threaded applications,
            this must be done on a per-thread basis.

            Functions that provide successive entries in files on
            successive calls must be called from a single thread.

            Expecting port numbers to fit in a 32-bit quantity is probably
            naive.

            The Network Information Service (NIS) will be used to obtain
            service entires when its installed and running.  Otherwise,
            entries will be read from /etc/services.













                          Copyright 1994 Novell, Inc.               Page 2








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