]> mj.ucw.cz Git - libucw.git/blobdiff - ucw/doc/config.txt
Fastbufs: Clean up exception handling
[libucw.git] / ucw / doc / config.txt
index 4672ee3d2c7eab52b42b2e854ecadcda02196a3f..7bf6369133dea6362e5d97e1b53ca80afc3754fa 100644 (file)
@@ -1,9 +1,11 @@
 Configuration files
 ===================
 
-This document describes run-time configuration of UCW using
-config files. For compile-time configuration, see doc/configure.
+This document describes run-time configuration of libucw-based
+programs using config files. For compile-time configuration,
+see <<configure:>>.
 
+[[terminology]]
 Terminology
 -----------
 
@@ -34,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.
 
+[[format]]
 Format of configuration files
 -----------------------------
 
@@ -64,6 +67,8 @@ assignment commands:
 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
@@ -105,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:
 
+[[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
@@ -114,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: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
@@ -122,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
-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
 ---------------------
 
@@ -133,6 +143,7 @@ To include another file, use the command
 
 (Beware that this command has to be the last one on the line.)
 
+[[command_line]]
 Command-line parameters
 -----------------------
 
@@ -153,19 +164,22 @@ items and exits.
 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
-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.
 
+[[caveats]]
 Caveats
 -------