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)