#
# `node_data/etc/daemons/README
# Suitable for DOMAIN/OS versions SR10.0, 10.1, 10.2, 10.3 or 10.4
# Modified by Paul Szabo, 14 Feb 94

# This file lists the names of the files that should be created
# in the /etc/daemons (link to `node_data/etc/daemons) directory
# to enable invocation of the corresponding daemons by /etc/rc.
# For each daemon started a file enable_name will be created.

# Most of these files are stub files. For these only their existence,
# not the contents, matter (can be created by /bin/touch or /com/crf).
#
# Most other files must contain command-line options for the daemon.
# As these files are scanned, leading blanks/tabs are removed, comment
# lines (beginning with "#") or empty lines are ignored (but embedded
# blanks/tabs and # characters are preserved). Remaining line(s) are
# used as options to the command. Mostly, it is an error to not have
# any option line(s) in the file, while some daemons are then started
# with default options.
#
# Thus generally there is no need to edit the /etc/rc file.

# Since /etc/rc runs as root.wheel.none, all daemons started from it
# will also run as root.wheel.none unless they are setuid, setgid.
# In particular, no daemon needs to be setuid root. It is also a good
# idea to protect these daemons from execution by ordinary users.

# Files listed in order of invocation by /etc/rc.

# (Note that /usr/adm is normally a link to `node_data/system_logs,
# and /etc/daemons is normally a link to `node_data/etc/daemons.)


# Messy bits:

preserve    # Preserve vi (and similar) editor files (stub)
            # If this file exists, both bsd4.3 and sys5.3 preserve commands will be
            # executed: /bsd4.3/usr/lib/ex3.7preserve, and /sys5.3/usr/lib/expreserve or
            # /sys5.3/usr/lib/ex5.3apreserve. (Any other names we need to know about?
            # Is it right to run both SYSTYPE preserve commands?)
            # Arguments for preserving:
            #   It is nice to remind users about crashed editing sessions.
            # Arguments against preserving:
            #   Most users use a real editor, not a toy.
            #   Most crashed editing sessions are not wanted (results of ctrl-C).
            #   It may be inappropriate to send mail to users (as preserve does):
            #     Some of our users cannot send/receive mail.
            #     In some installations sendmail works only after TCP/IP has been started;
            #       sendmail will crash and attempt to send mail about the problem...
            #       (Maybe we could preserve, and clear /tmp, after TCP/IP is started.)

lprotect    # Local protection.
            # BEWARE: at node boot time, the default protection is
            # 'lprotect -rmtroot all [-protect owners]'. While tighter protection
            # may be useful, relying on it would be foolish. In particular, make
            # sure the `node_data/node_owners file is correct!
            # First (non-comment) line is options to /etc/lprotect
            # (e.g. '-rmtroot readonly -protect unix')


# Domain networking:

netsvc      # Network availability.
            # Apollo recommend (?) that you limit remote paging activity (option
            # '-p 101': why exactly 101?) if the node is a diskless node boot
            # partner and a registry site, and create multiple network servers
            # (option '-s 3') if the node is being used heavily as a file server.
            # Output (timestamp and error messages) go to /usr/adm/netsvc.log.
            # First (non-comment) line is options to /etc/netsvc
            # (e.g. '-p 101 -s 3')

rtsvc       # Domain internet routing.
            # Output (timestamp and error messages) go to /usr/adm/rtsvc.log.
            # Each (non-comment) line are options to /etc/rtsvc
            # (e.g. '-dev <device_name> -ne <network_number> -r')

ritr        # Turn source routing off for IBM token ring 802.5 (SR10.2 or later).
            # For the IBM token ring 802.5, source routing extensions are supported at
            # SR10.2. To use source routing, all nodes must run SR10.2 and have source
            # routing turned on. By default, the source routing service is enabled. To
            # disable it (because, for example, the network consists of only one ring),
            # use options like '-d <unit> -o'.
            # Output (timestamp and error messages) go to /usr/adm/ritr.log.
            # Each (non-comment) line are options to /etc/ritr
            # (e.g. '-d <unit> -o')


# Streams:

streamd     # System V STREAMS (stub)

strerr      # System V STREAMS error logging (requires streamd) (stub)

stackd      # System V STREAMS stack builder (requires streamd) (stub)


# /etc/rc.technet executed here. How to incorporate rc.technet into rc?


update      # Disk updating daemon, to run sync() every 30 seconds.
            # Ensures that the file system is fairly up to date
            # in case of a crash (stub)


# TCP services:
#
# Generalities
#
# ARP    = Address Resolution Protocol
# DARPA  = Defense Advanced Research Projects Agency
# MAC    = Media Access Control
# NIC    = Network Information Center
# RIP    = Routing Information Protocol
# TCP/IP = Transmission Control Protocol / Internet Protocol
#
# You need only make sure that the /etc/hosts file contains an entry for this
# node name, create files tcpd and routed (this last contains options), and
# TCP/IP will come up with the following defaults:
#
#   one interface (Domain Ring, Ethernet, or IBM Token Ring) plus
#     the loopback interface (lo0 127.0.0.1)
#   broadcast address <net>.255.255 (all 1's form)
#   subnet mask taken from defaultmask in /etc/hosts
#   ethernet trailers not enabled (or are they? SR10.2 says they are)
#   loopback interface not enabled
#
# For nodes with more than one network interface, you must provide the explicit
# interface names and internet addresses through ifconfig. If the node has only
# one network interface, then you can enable it using the pseudo-interface
# 'net0'. If the node has more than one network interface, or more than one
# internet address, then you must enable each interface using its explicit
# interface name (eth0, dr0, ...) and its numeric IP address.
# If the node is running in a subnetted environment, you must supply 'netmask
# <subnetmask>' to ifconfig. By default, the node enables interface 'net0' with
# the subnet mask assigned to the pseudo host name 'defaultmask' in /etc/hosts.
# If the name defaultmask is not in /etc/hosts, then subnets are not enabled for
# the interface. You can use the form 'netmask icmp-request' to indicate you
# wish the host to obtain the subnet mask from local gateways.
# If the node must interoperate with certain older TCP implementations, then add
# 'broadcast 0' to the ifconfig command line, to use the '0-form' broadcast
# address, which is the one recognized by bsd4.2 and some other older tcp's.
# NOTE: If you do use ifconfig, you need to enable both the 'main' interface
# and the loopback interface yourself.
#
# Refer to "Configuring and Managing TCP/IP" (order no. 008543).
#
# BUG ALERT: subnets are not properly supported.
# From file /install/doc/apollo/os.v.10.3__notes:
#    4.2.3  Miscellaneous TCP/IP Cautions
#                                                 ... we do not support
#    configurations with multiple logical networks on a single physical
#    network. All nodes on the same physical network must have the same
#    network address.  If your network is subnetted, all nodes must also
#    have the same subnet number.

nmconfig    # Name manager configuration (SR10.2 or later).
            # Configure the hostname/address resolution method.
            # If nmconfig is not executed then /etc/hosts will be used,
            # so nmconfig is not needed in most cases.
            # If you want to use named for hostname/address resolution, use the
            # '-h hostent_bind' option. In this case make sure you have
            # /etc/resolv.conf set up properly.
            # If you want to use YP, use the '-h hostent_yp', '-n netent_yp',
            # '-p protoent_yp' and '-s servent_yp' options; it also helps
            # if you have NFS installed and running.
            # Each (non-comment) line are options to /etc/nmconfig
            # (e.g. '-h hostent_bind')

snmpd       # SNMP network management daemon (stub)

hostname    # Name of host node. Generally it is recommended to let this default
            # to the DOMAIN name set with ctnode (so hostname is not needed).
            # First (non-comment) line is options (i.e. name) to /etc/hostname

hostid      # Unique host ID. Generally it is recommended to let this default
            # to the Internet address (so hostid is not needed, as it will then
            # be started as "/etc/hostid `/etc/hostname`").
            # First (non-comment) line is options (i.e. name or ID) to /etc/hostid

tcpd        # TCP/IP daemon. Enables all TCP/IP or UDP/IP based services,
            # including nfs, the internet utilities (telnet, rsh, rlogin, ftp),
            # and X-windows. If you start tcpd, start routed too.
            # Before the tcpd daemon is started, /etc/hostid will also be
            # executed (/etc/hostid `/etc/hostame`).
            # First (non-comment) line may be options to /etc/tcpd (e.g. -c,
            # for use at SR10.3 for compatibility with pre-SR10.3 systems),
            # or it may be started without any options.

ifconfig    # Create non-standard interfaces. If you do not use ifconfig (but you
            # do have tcpd) than the two standard interfaces will be enabled:
            # 'net0 `/etc/hostname` netmask defaultmask' and 'lo0 127.0.0.1'.
            # If you do use ifconfig, you need to enable all interfaces yourself,
            # including these two standard ones.
            # Each (non-comment) line are options to /etc/ifconfig (e.g.
            # 'lo0 localhost', '<interface> <ip-addr>' or 'sl0 <ip-addr> <dst-addr>')

syslogd     # Error logging.
            # First (non-comment) line may be options to /etc/syslogd (e.g.
            # '-m5'), or it may be started without any options.

routed      # Dynamic IP routing. Requires tcpd to be running.
            # Options include -s: be a routing supplier, -q: be quiet,
            # -t: trace rip traffic, -f: flush routing tables, and
            # -h: exit on hosts when routing tables stabilizes.
            # First (non-comment) line is options to /etc/routed (e.g. '-h -f')

route       # Create additional static routes.
            # Using 'addp' causes the static route to take precedence over
            # dynamic routes added by routed.
            # Each (non-comment) line are options to /etc/route (e.g.
            # 'add  <dst-ip-addr> <gate-ip-addr> <metric>' or
            # 'addp <dst-ip-addr> <gate-ip-addr> <metric>')

gated       # Public-domain routing daemon to use instead of routed (and route),
            # available from SR10.2 in /domain_examples/tcp/gated.
            # Uses the configuration file /etc/gated.conf.
            # First (non-comment) line may be options to /etc/gated (e.g.
            # '-ti /usr/adm/gated.log'), or it may be started without any options.

arp         # IP-to-MAC mappings for remote hosts that do not implement ARP.
            # Each (non-comment) line are options to /etc/arp (e.g.
            # '-s <ip_addr> <eth_addr>' or '-f /etc/arp.conf')

inetd       # Internet super daemon. Enables incoming telnet, rlogin, rsh, rexec,
            # ftp, tftp, talk, biff, and others. DO NOT create files in /etc/daemons
            # for these services, or invoke their daemons directly, but edit
            # /etc/inetd.conf [see inetd.conf(5)]. Requires tcpd (stub)

named       # Berkeley Internet Name server. Associate names and IP addresses
            # (replacing /etc/hosts) [see hosts(5)].
            # First (non-comment) line may be options to /etc/named
            # (e.g. '<bootfile>'), or it may be started without any options.
            # Requires tcpd.

rwhod       # System status (rwho and ruptime). Requires tcpd.
            # Use option -w to force writes to /usr/spool/rwho.
            # The default is to write the directory, but not
            # if it is a link to a directory on another node.
            # Only one node per LAN, usually the TCP ADMIN node,
            # needs to write to a shared /usr/spool/rwho directory.
            # First (non-comment) line may be options to /etc/rwhod
            # (e.g. '-w'), or it may be started without any options.

timed       # Berkeley time server daemon (SR10.2 or later).
            # First (non-comment) line may be options to /etc/timed
            # (e.g. '-M'), or it may be started without any options.

nfs         # Network File System. Enables all NFS related stuff with
            # default options (except for existence or otherwise of ypserv,
            # see below). Requires tcpd (stub)

ypserv      # Yellow Pages server. (This is only looked at if nfs is to be
            # started.) If exists the node becomes a YP server, not otherwise.
            # Requires nfs (stub)


# NCS services:
#
# In NCS 1.5.1, local location services were provided by the local location
# broker daemon (llbd). In NCS 2.0, local location services are provided by
# the remote procedure call daemon (rpcd). For easier transition from 1.5.1
# to 2.0 on Domain/OS, there is a link "/etc/ncs/llbd" -> "rpcd". You can use
# rpcd from SR10.4 only; you may still use llbd but this is not recommended.

rpcd        # Remote procedure call daemon. Replaces llbd from SR10.4.
            # You may not use the '-listen' option; instead simply list
            # the protocol(s) you want to use: ncadg_ip_udp, ncadg_dds or
            # ncacn_ip_tcp.
            # First (non-comment) line may be options to /etc/ncs/rpcd
            # (e.g. 'ncadg_dds'), or it may be started without any options.

llbd        # Local location broker (needed on any NCS server node).
            # Version 011895-A01 of the manual 'Managing NCS Software' says
            # that the '-listen' option is available only on glbd, not on llbd;
            # but version 011895-A02 says that '-listen' is available.
            # First (non-comment) line may be options to /etc/ncs/llbd
            # (e.g. '-listen dds'), or it may be started without any options.

glbd        # Global location broker (at least one node per network,
            # but not needed on every node nor every NCS server).
            # First (non-comment) line may be options to /etc/ncs/glbd
            # (e.g. '-listen dds'), or it may be started without any options.
            # Requires llbd.

rgyd        # Registry server (registry sites only). Requires llbd (stub)

netlsd      # Network License Server. Requires llbd (stub)


# Miscellaneous UNIX daemons:

cron        # Time-based daemon (stub)

uucico      # uucp copy. (No daemon started, only /usr/spool/uucp/LCK.*
            # and /usr/spool/locks/LCK.* removed ??) (stub)

lpd         # bsd4.3 printer server for nodes with local /usr/spool/lpd only.
            # Requires llbd (stub)

lpsched     # sys5.3 printer server for nodes with local /usr/spool/lp only.
            # (Requires llbd ??) (stub)

accounting  # System accounting (/etc/accton /usr/adm/acct) (stub)

sendmail    # Sendmail daemon
            # First (non-comment) line is options to /usr/lib/sendmail
            # (e.g. '-bd -q1h')

portmap     # Portmapper daemon, to locate SUN-RPC services (stub)

mountd      # Mount daemon to receive remote mount requests. Requires portmap (stub)

nfsd        # NFS server daemon to receive remote mount requests. Requires
            # portmap and mountd (stub)


# Miscellaneous Domain daemons:

audit       # Run audit_daemon to support auditing (stub)

xpager      # External paging daemon. (From SR10.4 only; needed for cdfsd only.)
            # (We do not support /etc/daemons/xpager2, use option '-m 2' instead.)
            # First (non-comment) line may be options to /etc/xpager
            # (e.g. '-m 2'), or it may be started without any options.

cdfsd       # CDROM file system daemon to allow a CDROM file system 
            # to be mounted on this machine. Requires llbd (stub)

netman      # Diskless node boot server (stub)


# The following are from what used to be rc.user.
# All daemons should be setuid, setgid.
# NOTE that netman has been moved to the previous section since it needs to run as root.


spm         # Server process manager, enables crp's. DO NOT run on Domain Server
            # Processor nodes (will be started from /etc/dm_or_spm).
            # Will start mbx_helper automatically; mbx_helper does not need to be
            # setuid. (Is mbx_helper any use other than for spm? It is needed to
            # log out from the DM at SR10.3 or 10.4: we run spm on all nodes, so
            # have mbx_helper running. Note bug in 10.4 mbx_helper: dies unless
            # it can run as user.server.none. The 10.4 DM tries to start mbx_helper
            # at each login, but with our permissions it cannot.) (stub)

d3m_server  # (stub)

ns_helper   # Naming server (stub)

sf_helper   # Store and forward (stub)

prmgr       # Domain print manager. Requires llbd. This is the config file for prmgr.
            # Output goes to /usr/adm/prmgr.log.

prsvr1      # Domain print server. Requires llbd. This is the config file for prsvr.
prsvr2      # Each node may have several prsvr processes, one for each serial line
prsvr3      # and one for the parallel line. (No check that prsvr1 really goes to sio1.)
prsvrp      # Output goes to /usr/adm/prsvr{1,2,3,p}.log.

pre10q      # Printing in mixed SR10-SR9 environment.
            # First (non-comment) line is options to /sys/hardcopy/pre10q (e.g.
            # '-site spool_node_name -n pre10q', name of spool node must include
            # double slashes up front)

bitpad      # Summagraphic bitpad support.
            # First (non-comment) line is options to /sys/dm/sbp1
            # (e.g. '/dev/sio2 L')

dial_server # Dial server for the dial_server_request command (stub)

netmain_srvr# Network maintenance server. Collects network statistics (stub)

writed      # For the write(1) program (both bsd4.3 and sys5.3) (stub)

dpci        # DPCI (Domain/PC Interconnect) server for ring and/or tty-line
            # Each (non-comment) line are options to /sys/dpci/dpci
            # (e.g. '-netbios dpci1 -line 1 -baud 9600')

dpciring    # PC-on-TR server (obsolescence) (stub)

dpci1       # PC-on-tty-line server (obsolescence)
            # Each (non-comment) line are options to /sys/dpci1/session
            # (e.g. '-line 1')

MHSnet      # Piers Lauder's MHSnet software. Requires TCP/IP (stub)
            # Output goes to /usr/adm/MHSnet.log.

ingres      # ingres database. Requires (at least minimal) TCP/IP.
            # This is started in quite a messy way, mainly because it needs
            # to run as user ingres, but is started from a shell script (so
            # cannot be setuid) (stub)

httpd       # WorldWideWeb/Gopher server. Requires TCP/IP.
            # This is started in quite a messy way, mainly because it needs
            # to run as user httpd, but uses perl scripts (so cannot be setuid)
            # (stub)

lm_matlab   # MATLAB licence manager, /y/sfw/matlab/etc/apollo/lmgrd (which will
            # then also start lm_matlab). Requires TCP/IP (on all clients too).
            # Output goes to /usr/adm/lm_matlab.log.


# Window system(s):
#
# Only the X Server is started here. The DM is started from init as a tty (see
# /etc/ttys).
#
# You can start the Domain/X11 server using /etc/Xapollo.
# Use option '-D1 s+r-' to start the server in share mode with DM owns root.
# (Option '-D1 s+r+' for share mode with X owns root.)
# Another useful option is '-K /usr/X11/lib/keyboard/keyboard.config'.
# The nice command should be used to set scheduling priority.
# (We do not support /etc/daemons/X: use appropriate options for Xapollo instead.)
#
# Alternatively you can use xdm to start X servers. Be sure to configure
# your /usr/X11/lib/xdm/Xservers and /etc/ttys before attempting this.
#
# Alternatively you can use vue to start vuelogin.
#
# Do not attempt to specify more than one of Xapollo, xdm or vue.
#
# It also helps if you add the following two lines to /etc/sys.conf:
#   lib xtlib
#   lib xawlib
#
# If TCP/IP is not running then UDS (Unix Domain Socket) is used
# for communication between X clients and the server. This means that the
# environment variable DISPLAY must have its default value ":0".

vue         # VUE login /etc/vuerc (stub)

xdm         # X-window management /etc/xdm: configure /usr/X11/lib/xdm/Xservers
            # first (stub)

Xapollo     # X-window management
            # First (non-comment) line is options to /etc/Xapollo (e.g. '-D1 s+r+')


# /etc/rc.x25 is executed here. How to incorporate rc.x25 into rc?

