]> mj.ucw.cz Git - libucw.git/blobdiff - ucw/doc/config.txt
hashtable: Updated docs.
[libucw.git] / ucw / doc / config.txt
index f53b49bf414f893782c32264fc3d49a5641daa3e..7bf6369133dea6362e5d97e1b53ca80afc3754fa 100644 (file)
@@ -3,8 +3,9 @@ Configuration files
 
 This document describes run-time configuration of libucw-based
 programs using config files. For compile-time configuration,
 
 This document describes run-time configuration of libucw-based
 programs using config files. For compile-time configuration,
-see <<configure>>.
+see <<configure:>>.
 
 
+[[terminology]]
 Terminology
 -----------
 
 Terminology
 -----------
 
@@ -35,6 +36,7 @@ type.  The basic types supported by the configuration mechanism are:
 Program modules can define their own special types (such as network
 masks or attribute names) and decide how are they parsed.
 
 Program modules can define their own special types (such as network
 masks or attribute names) and decide how are they parsed.
 
+[[format]]
 Format of configuration files
 -----------------------------
 
 Format of configuration files
 -----------------------------
 
@@ -65,6 +67,8 @@ assignment commands:
 Numerical values can be succeeded by a unit.  The following units are
 supported:
 
 Numerical values can be succeeded by a unit.  The following units are
 supported:
 
+[[units]]
+
        d=86400         k=1000          K=1024
        h=3600          m=1000000       M=1048576
        %=0.01          g=1000000000    G=1073741824
        d=86400         k=1000          K=1024
        h=3600          m=1000000       M=1048576
        %=0.01          g=1000000000    G=1073741824
@@ -106,6 +110,8 @@ Lists support several operations besides adding a new node.  You just
 have to write a colon immediately after the attribute name, followed by
 the name of the operation.  The following operations are supported:
 
 have to write a colon immediately after the attribute name, followed by
 the name of the operation.  The following operations are supported:
 
+[[operations]]
+
   List:clear                           # removes all nodes
   List:append { attr1=value1; ... }    # adds a new node at the end
   List:prepend { attr1=value1; ... }   # adds a new node at the beginning
   List:clear                           # removes all nodes
   List:append { attr1=value1; ... }    # adds a new node at the end
   List:prepend { attr1=value1; ... }   # adds a new node at the beginning
@@ -115,6 +121,7 @@ the name of the operation.  The following operations are supported:
   List:after { attr1=search1 } { ... } # insert a node after a found node
   List:before { attr1=search1 } { ... }        # insert a node before a found node
   List:copy { attr1=search1 } { ... }  # duplicate a node and edit the copy
   List:after { attr1=search1 } { ... } # insert a node after a found node
   List:before { attr1=search1 } { ... }        # insert a node before a found node
   List:copy { attr1=search1 } { ... }  # duplicate a node and edit the copy
+  List:reset { attr=value1; ... }      # equivalent to :clear and :append
 
 You can specify several attributes in the search condition and the nodes
 are tested for equality in all these attributes.  In the editing
 
 You can specify several attributes in the search condition and the nodes
 are tested for equality in all these attributes.  In the editing
@@ -123,8 +130,10 @@ or specify the new values using the shorter one-line syntax.
 
 The commands :clear, :append, and :prepend are also supported by var-length
 arrays.  The command :clear can also be used on string values.  The following
 
 The commands :clear, :append, and :prepend are also supported by var-length
 arrays.  The command :clear can also be used on string values.  The following
-operations can be used on bitmaps: :set, :remove, :clear, and :all.
+operations can be used on bitmaps: :set (which is equal to :append and :prepend),
+:remove, :clear, and :all (set all bits).
 
 
+[[include]]
 Including other files
 ---------------------
 
 Including other files
 ---------------------
 
@@ -134,6 +143,7 @@ To include another file, use the command
 
 (Beware that this command has to be the last one on the line.)
 
 
 (Beware that this command has to be the last one on the line.)
 
+[[command_line]]
 Command-line parameters
 -----------------------
 
 Command-line parameters
 -----------------------
 
@@ -154,19 +164,22 @@ items and exits.
 All these switches must be used before any other parameters of the
 program.
 
 All these switches must be used before any other parameters of the
 program.
 
+[[preprocess]]
 Preprocessing
 -------------
 
 During compilation, all configuration files are pre-processed by a simple
 C-like preprocessor, which supports `#ifdef`, `#ifndef`, `#if`,
 `#elsif`, `#else` and `#endif` directives referring to compile-time
 Preprocessing
 -------------
 
 During compilation, all configuration files are pre-processed by a simple
 C-like preprocessor, which supports `#ifdef`, `#ifndef`, `#if`,
 `#elsif`, `#else` and `#endif` directives referring to compile-time
-configuration variables. `#if` and `#elsif` can contain any Perl expression
-where each `CONFIG_xyz` configuration variable is substituted to 0 or 1
-depending on its value.
+configuration variables (the ones detected by `configure` script, you
+can see list of them in `obj/autoconf.h`). `#if` and `#elsif` can contain
+any Perl expression where each `CONFIG_xyz` configuration variable is
+substituted to 0 or 1 depending on its value.
 
 The preprocessor also substitutes `@VARIABLE@` by the value of the variable,
 which must be defined.
 
 
 The preprocessor also substitutes `@VARIABLE@` by the value of the variable,
 which must be defined.
 
+[[caveats]]
 Caveats
 -------
 
 Caveats
 -------