<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE database SYSTEM "configuration.dtd" []>
<!-- $Id: configuration.xml,v 1.40 2006/01/22 13:36:43 ensc Exp $ -->

<database xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:noNamespaceSchemaLocation="file:configuration.xsd">

  <!-- Global configuration -->
  <collection name=".defaults" use="optional">
    <collection name="init" type="fixed">
      <data name="mtab">
	<description>Default mtab file</description>
      </data>
    </collection>

    <link name="vdirbase">
      <default>/vservers</default>
      <description>A link to the default vserver rootdirectory.</description>
    </link>

    <link name="cachebase">
      <default>/var/cache/vservers</default>
      <description>
A link to the directory which will hold cached information about
vservers.
      </description>
    </link>

    <boolean id="global-nonamespace" name="nonamespace">
      <description>
Disable namespace usage globally. It can be overridden for a single vserver
by setting the <optionref ref="global-namespace">namespace</optionref> flag
there.

In this mode the <directory>/vservers</directory> directory must have
the 'barrier' attribute. Else, common chroot(2) exploits are possible.
      </description>
    </boolean>

    <link name="run.rev">
      <description>
Path of the vserver run reverse directory. This directory contains
symlinks named with XID numbers which point back to the configuration
directory of vservers. Under kernel 2.4 this is required for the XID
to VSERVER mapping; Under kernel 2.6 it is unused.

NOTE: this link exists in 0.30.202+ only; in previous versions it was
a vserver specific setting.
      </description>
    </link>
    
    <collection name="apps">
      <collection name="pkgmgmt">
	<link name="base">
	  <default>/vservers/.pkg</default>
	</link> 
	<data name="apt.conf">
	  <description>The default apt.conf which is going to be used. It is overridden by
distribution specific configuration file.
          </description>
	</data>
      </collection>
      
      <collection name="debootstrap">
	<scalar name="mirror">
	  <description>
The Debian mirror to use with the <tool>debootstrap</tool> program
          </description>
	</scalar>
	<scalar name="uri">
	  <description>
When the <tool>debootstrap</tool> package is not installed; fetch it
from this uri and install it at a temporary place.
          </description>
	</scalar>
      </collection>

      <collection name="vshelper">
	<link name="logfile">
	  <description>
The file where output will be logged to when <tool>vshelper</tool>
is invoked from the kernel. This should point somewhere e.g. into
<directory>/var/log</directory>.
          </description>
	</link>

	<collection name="vshelper-methods">
	  <program name="handler" type="symbolic">
	    <description>
See vshelper/action.
            </description>
	  </program>
	</collection>

	<boolean name="disabled">
	  <description>
When existing, the vshelper functionality will be disabled for all
vservers.
          </description>
	</boolean>

	<boolean name="debug">
	  <description>
When existing, the vshelper execution will be traced.
          </description>
	</boolean>
	
	<boolean name="warning-disabled">
	  <description>
When existing, sanity checks for the vshelper functionality will be
skipped.
          </description>
	</boolean>

      </collection>
      
      <collection name="vprocunhide">
	<list name="files">
	  <description>
A list of files which will be made visibly by vprocunhide. Wildcards are
allowed and anything ending in '/' will be processed recursively. When this file exists,
it overrides the defaults in SYSDEFAULTDIR/vprocunhide-files. The entries there must be
absolute filenames inclusive the leading '/proc'.
          </description>
	</list>
      </collection>
      
      <collection name="init">
	<link name="tty">
	  <description>
A symlink to the TTY device where input/output will be redirected from/to
at startup via initscript.
          </description>
	</link>
      </collection>
      
      <collection name="vunify">
	<list name="exclude">
	  <description>Static list of excluded files.</description>
	</list>

	<collection name="hash" since="0.30.205">
	  <description>
A directory which will be used as the storage place for the
<tool>vhashify</tool> command.
          </description>
	  <link name="id" type="symbolic">
	    <description>
Points to a directory within the filesystems which are used for the
vservers. There must be not more than one of such a directory per
filesystem.
            </description>
	  </link>

	  <scalar name="method" since="0.30.299">
	    <default>SHA1</default>
	    <description>The used hash method.</description>
	  </scalar>
	</collection>

	<boolean name="pkgmgmt-ignore" default="off" since="0.30.205">
	  <description>
When existing, information from packagemanagement will not be used to
create dynamic exclude-lists.
          </description>
	</boolean>

	<boolean name="pgkmgmt-force" default="off" since="0.30.205">
	  <description>
When existing, information from packagemanagement will be used to
create dynamic exclude-lists. This option requires that (a known)
packagemanagement is configured for the vserver; else the requested
operation will fail. Most tools assume 'on' as the default value.
          </description>
	</boolean>

      </collection>
    </collection>
  </collection>
    
  <collection name=".distributions" use="optional">
    <collection name="dist" type="symbolic">
      <scalar name="dev">
	<description></description>
      </scalar>
      <collection name="yum">
	<description>
The default, yum-related content of the <directory>/etc</directory>
directory.
        </description>
	<scalar name="yum.conf">
	  <description>
The master yum configuration file. It supports the @YUMETCDIR@,
@YUMCACHEDIR@ and @YUMLOGDIR@ placeholder which will be replaced at
<command>vserver ... build</command> time.
          </description>
	</scalar>
      </collection>
      <collection name="yum.repos.d">
	<description>A directory with yum repositories.</description>
      </collection>
      <data name="apt.conf">
	<description>
The default apt.conf which is going to be used. It overrides the
apt.conf from CONFDIR/.defaults/apps/pkgmgmt.
        </description>
      </data>
      <program name="initpre">
	<description>
Script which will be executed before packages will be installed.
          </description>
	<parameterList>
	  <parameter name="confdir">
	    <description>
The configuration directory of the vserver which is going to be set up.
            </description>
	  </parameter>
	  <parameter name="vserver">
	    <description>
The pathname of the vserver binary.
            </description>
	  </parameter>
	</parameterList>
      </program>
      <program name="initpost">
	<description>
Script which will be executed after packages are installed.
          </description>
	<parameterList>
	  <parameter name="confdir">
	    <description>
The configuration directory of the vserver which is going to be set up.
            </description>
	  </parameter>
	  <parameter name="vserver">
	    <description>
The pathname of the vserver binary.
            </description>
	  </parameter>
	</parameterList>
      </program>
      
      <collection name="pkgs">
	<description>
Contains files with packagenames.
        </description>
	<list name="list">
	  <description>
File which contains the name of packages. On top of file the special
keywords '--reinstall' and '--can-fail' are possible.
          </description>
	</list>
      </collection>
      
      <collection name="pubkeys">
	<description>
Directory with GPG pubkeys which are used to sign the packages of this
distribution.
        </description>
      </collection>
      
      <collection name="apt">
	<description>
Default content of the <directory>/etc/apt/</directory> directory.
        </description>
      </collection>
      
      <collection name="rpm">
	<description>
Default content of the <directory>/etc/rpm</directory> directory.
        </description>
      </collection>
      
      <link name="rpmlib">
	<description>
Directory which overrides <directory>/usr/lib/rpm</directory>.
        </description>
      </link>
      <link name="execdir">
	<description>
Directory with all executables and libraries which are required for
this distribution.
        </description>
      </link>
    </collection>
  </collection>
  
  <!-- Vserver configuration -->
  <collection name="vserver-name" type="symbolic">
    <description>
The configuration directory for the vserver vserver-name.
    </description>

    <link name="cache">
      <default>../.defaults/cachebase/VSERVERNAME</default>
      <description>
Path of the storage area for cached information about this vserver.
      </description>
    </link>
    
    <link name="vdir">
      <default>../.defaults/vdirbase/VSERVERNAME</default>
      <description>
Path of the vserver root directory
      </description>
    </link>

    <link name="run">
      <description>
Points to a file which will contain the XID of the running vserver. When
the vserver is stopped, this can be a dangling symlink.
      </description>
    </link>

    <list id="bcapabilities" name="bcapabilities">
      <description>
[experimental; name is subject of possible change] Contains the system capabilities. See
<ulink url="http://savannah.nongnu.org/cgi-bin/viewcvs/util-vserver/util-vserver/lib/bcaps-v13.c?rev=HEAD">lib/bcaps-v13.c</ulink>
for possible values.
      </description>
    </list>
    <list name="ccapabilities">
      <description>
[experimental; name is subject of possible change] Contains the
context capabilities. See <ulink
url="http://savannah.nongnu.org/cgi-bin/viewcvs/util-vserver/util-vserver/lib/ccaps-v13.c?rev=HEAD">lib/ccaps-v13.c</ulink>
for possible values.
      </description>
    </list>

    <boolean id="global-namespace" name="namespace">
      <description>
Overrides the global <optionref ref="global-nonamespace">nonamespace</optionref> flag and enables
namespace usage for the current vserver.
      </description>
    </boolean>

    <boolean name="nonamespace">
      <description>
Disables namespace usage for the current vserver.

In this mode the <directory>/vservers</directory> directory must have
the 'barrier' attribute. Else, common chroot(2) exploits are possible.
      </description>
    </boolean>

    <hash name="schedule">
      <description>
[experimental; name is subject of possible change] Contains the
scheduler parameters, one per line.

The Hard CPU limit uses a mechanism called a Token Bucket.  the
concept is simple: you have a bucket of a certain size which is
filled with a specified amount R of tokens each interval T until the
maximum is reached (excess tokens are spilled). At each timer tick,
a running process consumes one token from the bucket, unless the
bucket is empty. If the bucket is empty the process is put in the
hold queue. When the bucket has been refilled to at least M tokens,
all on hold processes are rescheduled.

See the <ulink url="http://linux-vserver.org/Scheduler+Parameters">Linux
VServer Wiki</ulink> for more information about this file.
      </description>
      <keys>
	<key id="fill_rate" name="fill-rate">
	  <description>
Amount of tokens append to the bucket each interval.
            </description>
	</key>
	<key name="interval">
	  <description>
The intervall between refills of amount <optionref>fill_rate</optionref>. This
value is express in ticks.
          </description>
	</key>
	<key name="tokens">
	  <description>
Initial bucket contents.
          </description>
	</key>
	<key name="tokens-min">
	  <description>
The minimum amount of tokens required to unhold processes
          </description>
	</key>
	<key name="tokens-max">
	  <description>
The bucket size.
          </description>
	</key>
	<key name="priority-bias">
	  <description>
???
          </description>
	</key>
      </keys>
    </hash>
    <scalar name="name">
      <description>
Contains the name of the vserver. When not given, the basename of the directory
will be assumed as this name.
      </description>
    </scalar>
    <scalar name="nice">
      <description>
The nice-level on which the vserver will be started.
      </description>
    </scalar>
    <list name="capabilities">
      <description>
Contains per line a capability. This file is used for the 2.4 kernel
only; for 2.6 use <optionref>bcapabilities</optionref>.
      </description>
    </list>
    <scalar name="shell">
      <description>
Contains the pathname of the shell which will be used by the "vserver
... enter" command.
      </description>
    </scalar>
    <list name="personality">
      <description>
Used to set the personality of the vserver. First line in the file
is the personality-type followed by flags (one item per line). See
<filename>/usr/include/linux/personality.h</filename> for possible
values.
      </description>
    </list>
    <list name="flags">
      <description>
Contains per line a flag. See <ulink
url="http://savannah.nongnu.org/cgi-bin/viewcvs/util-vserver/util-vserver/lib/cflags-v13.c?rev=HEAD">lib/cflags-v13.c</ulink>
for possible values.
      </description>
      <!--
      <elements>
	<element name="fakeinit">
	  <description>
The new process will believe it is process number 1. Useful to run a
real /sbin/init in a vserver. Warning: this flag should not be used
unless you know what you are doing. Often, it is better to use the
'plain' initstyle.
          </description>
	</element>
	<element name="lock">
	  <description>
The new process is trapped and can't use chcontext anymore.
          </description>
	</element>
	<element name="sched">
	  <description>
The new process and its children will share a common
          </description>
	</element>
	<element name="nproc">
	  <description>
Limit the number of process in the vserver according to
ulimit setting. Normally, ulimit is a per user thing.
With this flag, it becomes a per vserver thing.  
          </description>
	</element>
	<element name="private">
	  <description>
No one can join this security context once created.
          </description>
	</element>
	<element name="ulimit">
	  <description>
Apply the current ulimit to the whole context
          </description>
	</element>
      </elements>
      -->
    </list>
    <scalar name="context">
      <description>
Contains the context which shall be used for the vserver.
        </description>
    </scalar>
    <data id="fstab" name="fstab">
      <description>
The fstab file for the vserver. Entries in this file will be mounted
within the network context of the host. Use the
<optionref>fstab.remote</optionref> file when you want that the
mounting happens in the network context of the vserver. In most cases
the 'fstab' file should be used.
      </description>
    </data>
    <data id="fstab.remote" name="fstab.remote">
      <description>
The fstab file for the vserver. Entries in this file will be mounted
within the network context of the host; this means that mount will be
called as <command>chbind &lt;options&gt; mount ...</command>. See
<optionref>fstab</optionref> also.
      </description>
    </data>
    
    <collection name="apps">
      <collection name="init">
	<data name="mtab">
	  <description>
The initial-mtab which will be used for the vserver.
          </description>
	</data>
	
	<scalar name="style">
	  <description>
Contains the init-style.
          </description>
	  <restriction>
	    <enumeration value="sysv"/>
	    <enumeration value="plain"/>
	    <enumeration value="minit"/>
	    <enumeration value="gento"/>
	  </restriction>
	</scalar>
	
	<scalar name="runlevel">
	  <description>The start runlevel.</description>
	</scalar>
	
	<scalar name="runlevel.start">
	  <description>The start runlevel.</description>
	</scalar>
	
	<scalar name="runlevel.stop">
	  <description>The stop runlevel.</description>
	</scalar>
	
	<scalar name="killseq">
	  <description>
Contains the 'signal [wait signal]*' sequence which is used to stop
the vserver.
          </description>
	</scalar>
	
	<list name="cmd.start">
	  <description>
The command which is used to start the vserver. Each option must be on
a separate line.
          </description>
	</list>
	
	<list name="cmd.start-sync">
	  <description>
The command which is used to wait on the vserver after it has been
started. Each option must be on a separate line. This file will be
ignored when the <optionref>sync</optionref> flag does not exist and the
'--sync' option was not used.
	  </description>
	</list>
	
	<list name="cmd.stop">
	  <description>
The command which is used to stop the vserver. Each option must be on
a separate line.
          </description>
	</list>
	
	<list name="cmd.stop-sync">
	  <description>
The command which is used to wait on the vserver after it has been
stopped. Each option must be on a separate line. This file will be
ignored when the <optionref>sync</optionref> flag does not exist and the
'--sync' option was not used.
          </description>
	</list>
	
	<list name="cmd.prepare">
	  <description>
The command which is used to setup the init-system (e.g. to set the
runlevel in the utmp-file). Each option must be on a separate line.
 	  </description>
	</list>
	
	<boolean id="sync" name="sync">
	  <description>
If this file is not present, all 'cmd.*-sync files will be ignored.
	    </description>
	</boolean>
	
	<link name="tty">
	  <description>
A symlink to the TTY device where input/output will be redirected
from/to at startup via initscript.
	  </description>
	</link>
	
	<scalar name="mark">
	  <description>
This file is used to mark group of vservers which shall be started/stopped
together by the initscript. Content is a simple string like 'default'.
	  </description>
	</scalar>
	
	<list name="depends">
	  <description>
This file is used to configure vservers which must be running before
the current vserver can be started. At shutdown, the current vserver
will be stopped before its dependencies. Content of this file are
vserver ids (one name per line).
          </description>
	</list>
      </collection>
      
      <collection name="vshelper">
	<scalar name="sync-timeout">
	  <default>30</default>
	  <description>
The timeout in seconds which is used when synchronising vserver
startup/shutdown with the vshelper. When no set, 30 seconds will be
assumed.
	  </description>
	</scalar>
	
	<scalar name="action">
	  <default>restart</default>
	  <description>
The action which is going to be executed when a vshelper event
occurs. The default value is 'restart', but there can be defined own
methods by placing scripts into the
<optionref>vshelper-methods</optionref> directories. These scripts are
fed with the same arguments as the <tool>vshelper</tool> script.
          </description>
	</scalar>
	
	<program name="event" type="symbolic">
	  <description>
When existing, these scripts will be executed *instead* of the default
handler defined in 'action'. Their name must match the event which caused
the execution of <tool>vshelper</tool>; e.g. 'restart' or 'poweroff'. See
the vs_reboot() function in the kernel for more details.
          </description>
	  <parameterList>
	    <parameter name="xid">
	      <description>
The xid of the context calling the vshelper
              </description>
	    </parameter>
	    <parameter name="event">
	      <description>
The reboot-event.
              </description>
	    </parameter>
	  </parameterList>
	</program>
	
	<boolean name="disabled">
	  <description>
When existing, the vshelper functionality will be disabled for this
vserver.
          </description>
	</boolean>

	<boolean name="debug">
	  <description>
When existing, the vshelper execution will be traced for this vserver.
          </description>
	</boolean>
	
	<boolean name="warning-disabled">
	  <description>
When existing, sanity checks for the vshelper functionality will be
skipped.
          </description>
	</boolean>
	
      </collection>
      
      <collection id="vshelper-methods" name="vshelper-methods">
	<program name="handler" type="symbolic">
	  <description>
See vshelper/action.
          </description>
	</program>
      </collection>
      
      <collection name="vunify">
	<description>
This directory contains configuration data required for vserver
unification.
        </description>
	
	<list name="exclude">
	  <description>
<p>Static list of files which are excluded for unification. This list
supports an rsync-like syntax: when a file is prefixed by '+', it is a
candidate for unification; when there is no prefix or a '-' or a '~' it
will be excluded. Shell-wildcards are allowed for the filenames.</p>
<p>When used with <tool>vcopy</tool>, the '~' prefix prevents copying
of the file entirely (e.g. for keyfiles). With this tool, the file will
be copied instead of hardlinked when the '-' prefix is used.</p>
          </description>
	</list>
	
	<link name="refserver.X" type="symbolic">
	  <description>
These are symlinks to the configuration directory
(e.g. CONFDIR/vservers/&lt;id&gt;) of a refserver. There may be
multiple such symlinks but they must be prefixed by 'refserver.' and
will be processed in alphanumerical order.
          </description>
	</link>

	<collection name="hash" since="0.30.205">
	  <description>
A directory which will be used as the storage place for the
<tool>vhashify</tool> command.
          </description>
	  <link name="id" type="symbolic">
	    <description>
Points to a directory within the filesystems which are used for the
vservers. There must be not more than one of such a directory per
filesystem.
            </description>
	  </link>

	  <scalar name="method"  since="0.30.299">
	    <default>SHA1</default>
	    <description>The used hash method.</description>
	  </scalar>
	</collection>

	<boolean name="pkgmgmt-ignore" default="off" since="0.30.205">
	  <description>
When existing, information from packagemanagement will not be used to
create dynamic exclude-lists.
          </description>
	</boolean>

	<boolean name="pgkmgmt-force" default="off" since="0.30.205">
	  <description>
When existing, information from packagemanagement will be used to
create dynamic exclude-lists. This option requires that (a known)
packagemanagement is configured for the vserver; else the requested
operation will fail. Most tools assume 'on' as the default value.
          </description>
	</boolean>
	
      </collection>
    </collection>
    
    <collection name="scripts">
      <description>
A directory for scripts. By default, when one of these scripts will be
executed, the execution of defaultscripts (within .../.defaults/scripts)
will be skipped. To execute them nevertheless, the $DONT_SKIP_DEFAULTS
environment variable must be set by one of the in-shellcontext scripts
(the non-executable ones).
      </description>
      
      <program name="prepre-start">
	<description>
The scriptlet which will be executed before the network-interfaces are
enabled and the directories are mounted. Before executing the script,
the configuration directory will be made the working directory.
        </description>
	<parameterList>
	  <parameter name="vserver-dir">
	    <description>
The configuration directory of the current vserver.
            </description>
	  </parameter>
	  <parameter name="vserver-name">
	    <description>
The name of the current vserver.
            </description>
	  </parameter>
	  <parameter name="action">
	    <description>
The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
            </description>
	  </parameter>
	</parameterList>
      </program>
      <collection name="prepre-start.d">
	<description>
Repository of prepre-start like scripts.  Before executing the script,
the configuration directory will be made the working directory.
        </description>                                                                                                                 
	<program name="script" type="symbolic">
	  <description>See prepre-start.</description>
	  <parameterList>
	    <parameter name="vserver-dir">
	      <description>
The configuration directory of the current vserver.
              </description>
	    </parameter>
	    <parameter name="vserver-name">
	      <description>
The name of the current vserver.
              </description>
	    </parameter>
	    <parameter name="action">
	      <description>
The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
              </description>
	    </parameter>
	  </parameterList>
	</program>
      </collection>
      
      <program name="pre-start">
	<description>
The scriptlet which will be executed after network-interfaces were
enabled and the directories mounted, but before the vserver itself has
been started.  Before executing the script, the vserver root directory
will be made the working directory.
        </description>
	<parameterList>
	  <parameter name="vserver-dir">
	    <description>
The configuration directory of the current vserver.
            </description>
	  </parameter>
	  <parameter name="vserver-name">
	    <description>
The name of the current vserver.
            </description>
	  </parameter>
	  <parameter name="action">
	    <description>
The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
            </description>
	  </parameter>
	</parameterList>
      </program>
      <collection name="pre-start.d">
	<description>
Repository of pre-start like scripts. Before executing these scripts,
the vserver root directory will be made the working directory.
        </description>                                                                                                                 
	<program name="script" type="symbolic">
	  <description>See pre-start.</description>
	  <parameterList>
	    <parameter name="vserver-dir">
	      <description>
The configuration directory of the current vserver.
              </description>
	    </parameter>
	    <parameter name="vserver-name">
	      <description>The name of the current vserver.</description>
	    </parameter>
	    <parameter name="action">
	      <description>
The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
              </description>
	    </parameter>
	  </parameterList>
	</program>
      </collection>
      

      <program name="post-start">
	<description>
The scriptlet which will be executed after the vserver has been
started. Before executing the script, the vserver root directory
will be made the working directory.
        </description>
	<parameterList>
	  <parameter name="vserver-dir">
	    <description>The configuration directory of the current vserver.</description>
	  </parameter>
	  <parameter name="vserver-name">
	    <description>The name of the current vserver.</description>
	  </parameter>
	  <parameter name="action">
	    <description>
The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
            </description>
	  </parameter>
	</parameterList>
      </program>
      <collection name="post-start.d">
	<description>
Repository of post-start like scripts. Before executing these scripts,
the vserver root directory will be made the working directory.
        </description>
	<program name="script" type="symbolic">
	  <description>See post-start.</description>
	  <parameterList>
	    <parameter name="vserver-dir">
	      <description>The configuration directory of the current vserver.</description>
	    </parameter>
	    <parameter name="vserver-name">
	      <description>The name of the current vserver.</description>
	    </parameter>
	    <parameter name="action">
	      <description>
The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
              </description>
	    </parameter>
	  </parameterList>
	</program>
      </collection>


      <program name="pre-stop">
	<description>
The scriptlet which will be executed before the vserver will be
stopped. Before executing the script, the vserver root directory
will be made the working directory.
        </description>
	<parameterList>
	  <parameter name="vserver-dir">
	    <description>The configuration directory of the current vserver.</description>
	  </parameter>
	  <parameter name="vserver-name">
	    <description>The name of the current vserver.</description>
	  </parameter>
	  <parameter name="action">
	    <description>
The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
            </description>
	  </parameter>
	</parameterList>
      </program>
      <collection name="pre-stop.d">
	<description>
Repository of pre-stop like scripts. Before executing the script, the
vserver root directory will be made the working directory.
        </description>                                                                                                                 
	<program name="script" type="symbolic">
	  <description>See pre-stop.</description>
	  <parameterList>
	    <parameter name="vserver-dir">
	      <description>The configuration directory of the current vserver.</description>
	    </parameter>
	    <parameter name="vserver-name">
	      <description>The name of the current vserver.</description>
	    </parameter>
	    <parameter name="action">
	      <description>
The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
              </description>
	    </parameter>
	  </parameterList>
	</program>
      </collection>

      <program name="post-stop">
	<description>
The scriptlet which will be executed after the vserver has been
stopped, but before the directories will be umounted and the the
interfaces disabled. Before executing the script, the vserver root
directory will be made the working directory.
        </description>
	<parameterList>
	  <parameter name="vserver-dir">
	    <description>The configuration directory of the current vserver.</description>
	  </parameter>
	  <parameter name="vserver-name">
	    <description>The name of the current vserver.</description>
	  </parameter>
	  <parameter name="action">
	    <description>
The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
            </description>
	  </parameter>
	</parameterList>
      </program>
      <collection name="post-stop.d">
	<description>
Repository of post-stop like scripts. Before executing the script, the
vserver root directory will be made the working directory.
        </description>
	<program name="script" type="symbolic">
	  <description>See post-stop.</description>
	  <parameterList>
	    <parameter name="vserver-dir">
	      <description>The configuration directory of the current vserver.</description>
	    </parameter>
	    <parameter name="vserver-name">
	      <description>The name of the current vserver.</description>
	    </parameter>
	    <parameter name="action">
	      <description>
The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
              </description>
	    </parameter>
	  </parameterList>
	</program>
      </collection>
      
      <program name="postpost-stop">
	<description>
The scriptlet which will be executed after the vserver has been stopped
completely. Before executing the script, the vserver root directory
will be made the working directory.
        </description>
	<parameterList>
	  <parameter name="vserver-dir">
	    <description>The configuration directory of the current vserver.</description>
	  </parameter>
	  <parameter name="vserver-name">
	    <description>The name of the current vserver.</description>
	  </parameter>
	  <parameter name="action">
	    <description>
The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
            </description>
	  </parameter>
	</parameterList>
      </program>
      <collection name="postpost-stop.d">
	<description>
Repository of postpost-stop like scripts. Before executing the script,
the vserver root directory will be made the working directory.
        </description>
	<program name="script" type="symbolic">
	  <description>See postpost-stop.</description>
	  <parameterList>
	    <parameter name="vserver-dir">
	      <description>The configuration directory of the current vserver.</description>
	    </parameter>
	    <parameter name="vserver-name">
	      <description>The name of the current vserver.</description>
	    </parameter>
	    <parameter name="action">
	      <description>
The fixed value of the current action (e.g. 'prepre-start', 'post-stop'...).
              </description>
	    </parameter>
	  </parameterList>
	</program>
      </collection>
    </collection>
    
    <collection name="interfaces">
      <scalar name="bcast">
	<description>The default broadcast address.</description>
      </scalar>
      <scalar name="dev">
	<description>The default network device.</description>
      </scalar>
      <scalar name="prefix">
	<description>The default network prefix-length.</description>
      </scalar>
      <scalar name="mask">
	<description>The default network mask.</description>
      </scalar>
      <scalar name="scope">
	<description>The default scope of the network interfaces.</description>
      </scalar>
      
      <collection name="iface" type="symbolic">
	<description>
'iface' is an arbitrary name for the interface; the value itself is
not important but may be interesting regarding interface-creation and
usage with <tool>chbind</tool>. Both happens in alphabetical order and
numbers like '00' are good names for these directories.
        </description>
	
	<boolean name="disabled">
	  <description>When this file exists, this interface will be ignored.</description>
	</boolean>
	
	<scalar name="ip">
	  <description>The ip which will be assigned to this interface.</description>
	</scalar>
	<scalar name="bcast">
	  <description>The broadcast address.</description>
	</scalar>
	<scalar name="dev">
	  <description>The network device.</description>
	</scalar>
	<scalar name="prefix">
	  <description>The network prefix-length.</description>
	</scalar>
	<scalar name="mask">
	  <description>The network mask.</description>
	</scalar>
	<scalar name="scope">
	  <description>The scope of the network interface.</description>
	</scalar>
	<scalar name="name">
	  <description>
When this file exists, the interface will be named with the text in
this file. Without such an entry, the IP will not be shown by
<tool>ifconfig</tool> but by <command>ip addr ls</command> only.  Such
a labeled interface is known as an "alias" also (e.g. 'eth0:foo').
          </description>
	</scalar>
	<boolean name="nodev">
	  <description>
When this file exists, the interface will be assumed to exist
already. This can be used to assign primary interfaces which are
created by the host or another vserver.
	  </description>
	</boolean>
	<boolean name="novlandev">
	  <description>
When this file exists, the steps which setup and destroy a VLAN
interface will be skipped. This flag should be set when a VLAN
interface is used by multiple vservers or by the host.
	  </description>
	</boolean>
      </collection>
    </collection>
    
    <collection name="ulimits">
      <description>
A directory with ulimits. Possible resources are cpu, data, fsize,
locks, memlock, nofile, nproc, rss and/or stack. This configuration
will be honored for kernel 2.4 only.
      </description>                                                                                                                 
      <scalar name="resource" type="symbolic">
	<description>
A file which contains the hard- and soft-limit of the given resource
in the first line. The special keyword 'inf' is recognized.
	</description>
      </scalar>                                                                            
      <scalar name="resource.hard" type="symbolic">
	<description>
A file which contains the hard- of the given resource in the first
line. The special keyword 'inf' is recognized.
	</description>
      </scalar>                                                                                             
      <scalar name="resource.soft" type="symbolic">
	<description>
A file which contains the soft- of the given resource in the first
line. The special keyword 'inf' is recognized.
	</description>
      </scalar>
    </collection>
    
    <collection name="rlimits">
      <description>
A directory with resource limits. Possible resources are cpu, fsize,
data, stack, core, rss, nproc, nofile, memlock, as and locks. This
configuration will be honored for kernel 2.6 only.
      </description>                                                                                                                 
      <scalar name="resource" type="symbolic">
	<description>
A file which contains the hard- and soft-limit of the given resource
in the first line. The special keyword 'inf' is recognized.
	</description>
      </scalar>                                                                            
      <scalar name="resource.hard" type="symbolic">
	<description>
A file which contains the hard- of the given resource in the first
line. The special keyword 'inf' is recognized.
	</description>
      </scalar>                                                                                             
      <scalar name="resource.soft" type="symbolic">
	<description>
A file which contains the soft- of the given resource in the first
line. The special keyword 'inf' is recognized.
	</description>
      </scalar>
      <scalar name="resource.min" type="symbolic">
	<description>
A file which contains the guaranted minimum of the given resource in
the first line. The special keyword 'inf' is recognized.
        </description>
      </scalar>
    </collection>
    
    <collection name="uts">
      <scalar name="context">
	<description>
The context-name of the vserver. This file is listed for completeness
only; the 'context' name is used and set internally by the util-vserver
tools and can *not* be modified.
	</description>
      </scalar>
      <scalar name="sysname">
	<description>The sysname of the vserver</description>
      </scalar>
      <scalar name="nodename">
	<description>The node-/hostname of the vserver</description>
      </scalar>
      <scalar name="release">
	<description>The OS-release of the vserver</description>
      </scalar>
      <scalar name="version">
	<description>The OS-version of the vserver</description>
      </scalar>
      <scalar name="machine">
	<description>The machine-type of the vserver</description>
      </scalar>
      <scalar name="domainname">
	<description>The NIS domainname of the vserver</description>
      </scalar>
    </collection>

    <collection name="dlimits">
      <collection name="dlimit" type="symbolic">
        <scalar name="directory">
          <description>The directory to which the limit should be applied</description>
        </scalar>
        <scalar name="inodes_total">
          <description>The amount of inodes this vserver should be limited to</description>
        </scalar>
        <scalar name="space_total">
          <description>The amount of space this vserver should be limited to (measured in blocks of 1024 bytes)</description>
        </scalar>
        <scalar name="reserved">
          <description>How much space (percentage-wise) should be reserved for the root user</description>
        </scalar>
      </collection>
    </collection>
  </collection>
  </database>
