Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/doc/efun/configure_driver b/doc/efun/configure_driver
new file mode 100644
index 0000000..fa2407b
--- /dev/null
+++ b/doc/efun/configure_driver
@@ -0,0 +1,133 @@
+SYNOPSIS
+        #include <configuration.h>
+
+        void configure_driver(int what, mixed data)
+
+DESCRIPTION
+        This efun configures runtime adjustable bahviour of the driver.
+
+        Sets the option <what> to the value <data>.
+
+        This function always causes the privilege_violation
+        ("configure_driver", this_object(), what, data).
+
+        <what> == DC_MEMORY_LIMIT
+           Set new soft and hard memory limits for the driver.
+           <data> is expected to be an array with two elements, which have to
+           be integers giving the amount of memory in bytes.
+           ({<soft memory limit>, <hard memory limit>})
+
+        <what> == DC_ENABLE_HEART_BEATS
+           Globally enable the calling of Heartbeats, if <data> is 1,
+           globally disable them if <data> is 0.
+           If called during heartbeat processing, the change comes into effect
+           at the next backend cycle.
+
+        <what> == DC_LONG_EXEC_TIME
+           Set the time considered as (too) long for top-level executions. If
+           an execution exceeds this time, a stack trace will be written to
+           the debug log. The execution will continue at that point.
+           <data> is an integer and measured in microseconds.
+           A time of 0 disables the detection of long executions.
+
+        <what> == DC_DATA_CLEAN_TIME
+           Sets the average time between clean-ups of an objects data
+           structures. This is not to be confused with the standard cleanup
+           time which determines when H_CLEAN_UP is called. A long time for
+           data cleanup may lead to larger memory consumption and prevents
+           destructed objects being cleaned up. A too short time may lead to
+           high loads and lag on the machine. The actual time delay will be a
+           time between 0.9*DC_DATA_CLEAN_TIME and 1.1*DC_DATA_CLEAN_TIME.
+           Default at driver startup are 3600s.
+           <data> is an integer and measured in seconds.
+
+        <what> == DC_TLS_CERTIFICATE
+           Sets the current certificate used for new TLS sessions.
+           It can be one of the certificates in the key directory
+           (command line option --tls-keydirectory) or the main
+           certificate (given with --tls-certfile).
+           Default is the main certificate or else the first
+           certificate found in the directory. The chosen certificate at the
+           time of the tls_init_connection() call is used for that connection.
+           <data> is a string containing the SHA1 fingerprint
+           of the certificate with hexadecimal numbers,
+           it may contain colons or whitespaces (for example
+           "5A:FE:CA:57:1E:50:5E:1E:C7:ED:BA:11:AD:50:10:75:0F:7A:1E:50").
+           When loading certificates their fingerprints are printed
+           on stdout and into the logfile.
+
+        <what> == DC_TLS_DHE_PARAMETER
+           Sets new parameters for the Diffie-Hellman keyexchange for new TLS
+           sessions. The paramters must be given as a PEM encoded string
+           (e.g. the output of 'openssl dhparam -5 2048').
+           If <data> is 0, the built-in defaults will be restored.
+           If importing the new parameters fails (e.g. due to an incorrect
+           format), the driver tries to keep the old parameters 
+
+        <what> == DC_TLS_CIPHERLIST
+           Sets a new list of ciphers (OpenSSL) or priorities (GnuTLS) to use.
+           For the correct format, please refer to the help of 'openssl
+           ciphers' or documentation of priority strings in GnuTLS.
+           With GnuTLS a syntax error in the list causes an error.
+           With OpenSSL an error is only raised of none of the given ciphers
+           could be selected.
+           By default, the preferred ciphers of the driver take precedence
+           This can be changed in the priority strings for GnuTLS, but
+           currently not for OpenSSL.
+
+        <what> == DC_EXTRA_WIZINFO_SIZE
+           Indicate that the wizlist should contain an array of the given size
+           with extra info for each wizard. A negative value indicates
+           a non-array value.
+
+           The value is only used to allocate a proper empty 'extra' value
+           for newly created wizlist entries.
+
+        <what> == DC_DEFAULT_RUNTIME_LIMITS
+           Sets the default runtime limits, that will be used for each thread.
+           They will be in effect as the initial limits with the next thread.
+           The limits must be given as an array with the following entries:
+
+             int[LIMIT_EVAL]:         the max number of eval costs
+             int[LIMIT_ARRAY]:        the max number of array entries
+             int[LIMIT_MAPPING_SIZE]: the max number of mapping values
+             int[LIMIT_MAPPING_KEYS]: the max number of mapping entries
+             int[LIMIT_BYTE]:         the max number of bytes handled with
+                                      one read_bytes()/write_bytes() call.
+             int[LIMIT_FILE]:         the max number of bytes handled with
+                                      one read_file()/write_file() call.
+             int[LIMIT_CALLOUTS]:     the number of callouts at one time.
+             int[LIMIT_COST]:         how to account the current cost.
+             int[LIMIT_MEMROY]:       the max. number of bytes which can be 
+                                        _additionally_ allocated/used
+                                        _per top-level execution thread_.
+
+          The limit settings recognize three special values:
+
+            LIMIT_UNLIMITED:  the limit is deactivated
+            LIMIT_KEEP:       the former setting is kept
+            LIMIT_DEFAULT:    the 'global' default setting is used.
+
+          For LIMIT_COST, the special values have these meaning:
+            LIMIT_UNLIMITED:  at maximum 1 tick is accounted
+            LIMIT_KEEP:        LIMIT_COST is set to 0
+            LIMIT_DEFAULT:     LIMIT_COST is set to -100
+
+        <what> == DC_SWAP_COMPACT_MODE
+           Sets free swap space shall be reused immediately to keep
+           the swap file as small as possible.
+           (Same as the --swap-compact command line switch.)
+
+HISTORY
+        Introduced in LDMud 3.3.719.
+        DC_ENABLE_HEART_BEATS was added in 3.5.0.
+        DC_LONG_EXEC_TIME was added in 3.5.0.
+        DC_DATA_CLEAN_TIME was added in 3.5.0.
+        DC_EXTRA_WIZINFO_SIZE was added in 3.5.0.
+        DC_TLS_CERTIFICATE was added in 3.5.0.
+        DC_TLS_DHE_PARAMETER was added in 3.5.0.
+        DC_TLS_CIPHERLIST was added in 3.5.0.
+        DC_SWAP_COMPACT_MODE was added in 3.5.0.
+
+SEE ALSO
+        configure_interactive(E)