SRV(8)                                                     SRV(8)

     NAME
          srv - start services

     SYNOPSIS
          lib/srv [ -n nsfile ] [ -v ] [ -s ]

     DESCRIPTION
          Srv starts listeners for local network services.  It binds
          #I to /net and starts the connection server cs(8) if neces-
          sary.  If the file /services/namespace exists, srv builds a
          new name space using newns(2). The -n option may be used to
          supply a different file.  Srv then starts a listener for
          each service configured in /services/server/config.

          The configuration file is a text file.  Empty lines and
          lines beginning # are comments, and ignored.  Each non-
          comment line has at least four fields: the server type, the
          service name, the network name on which to announce the ser-
          vice (typically tcp or udp), and the path name of the ser-
          vice command (module).  Any further arguments are passed as
          arguments to that command.

          Normally the server type field contains the letter S, and
          srv announces the service on the network itself, listens for
          incoming calls, and on each call invokes the command with
          any arguments given.  The standard input and output of the
          command are set to refer to the network connection.  If the
          server type field contains the letter M, however, srv starts
          the given command once during its own initialisation, and
          leaves the server to announce and manage its incoming calls.
          This is typically used to start self-contained services such
          as bootp and tftpd.  The diagnostics from all servers will
          appear on the standard error of srv itself.

          For example, the default configuration file includes the
          following lines:

          S infsigner       tcp /dis/lib/signer.dis
          S infcsigner      tcp /dis/lib/countersigner.dis
          S inflogin        tcp /dis/lib/logind.dis
          S styx            tcp /dis/lib/styxd.dis none clear sha md5 rc4 sha/rc4 md5/rc4
          S rstyx           tcp /dis/lib/rstyxd.dis none clear sha md5 rc4 sha/rc4 md5/rc4
          S infdb           tcp /dis/lib/dbsrv.dis  none clear sha md5 rc4 sha/rc4 md5/rc4
          S virgil          udp /dis/lib/virgild.dis
          #M 67              udp /dis/lib/bootp.dis
          #M 69              udp /dis/lib/tftpd.dis

          The arguments to rstyxd and stxyd (see rstyxd(8)), and
          dbsrv(7) should list the security algorithms supported by
          the server's ssl(3).

     Page 1                       Plan 9            (printed 11/17/24)

     SRV(8)                                                     SRV(8)

     FILES
          /services/namespace
          /services/server/config

     SOURCE
          /appl/lib/srv.b

     SEE ALSO
          services(6), cs(8), dbsrv(7), rstyxd(8)

     BUGS
          Each service should arguably start in a minimal name space.

     Page 2                       Plan 9            (printed 11/17/24)