Added public files
Roughly added all public files. Probably missed some, though.
diff --git a/doc/efun/include_list b/doc/efun/include_list
new file mode 100644
index 0000000..cc44fa9
--- /dev/null
+++ b/doc/efun/include_list
@@ -0,0 +1,80 @@
+SYNOPSIS
+ #include <sys/include_list.h>
+
+ string *include_list();
+ string *include_list(object ob);
+ string *include_list(object ob, int flags);
+
+BESCHREIBUNG
+ Diese Funktion liefert Informationen ueber alle Dateien, die bei der
+ Kompilierung von <ob> in dieses Objekt eingebunden wurden, inklusive
+ den Programmnamen von <ob>. Wird <ob> nicht angegeben, wird
+ standardmaessig das aktuelle Objekt verwendet.
+
+ Im resultierenden Array besteht die Information zu einem Includefile
+ aus drei Elementen:
+ - string [i+0]: der Name des Includefiles, wie er im Programm
+ auftaucht, inklusive den Trennzeichen wie " " oder
+ < >.
+ - string [i+1]: der absolute Dateipfad des Includefiles.
+ - int [i+2]: die Tiefe der Inklusion (gewoehnlich 1, fuer
+ verschachtelte Includes auch groesser als 1)
+
+ Der erste Eintrag im Resultat ist der Name des Programmes selbst in
+ [i+0], die anderen beiden Elemente [i+1] und [i+2] sind 0.
+
+ <flag> bezeichnet die Struktur des Ergebnisses:
+ - <flag> = INCLIST_FLAT (0, Standard):
+ Das Resultat ist ein flaches Array. Der erste Eintrag bezeichnet
+ <ob> selbst, die restlichen Eintraege bezeichnen alle Includefiles
+ in der Reihenfolge, in der sie auftreten.
+ - <flag> = INCLIST_TREE (1):
+ Das Resultat ist ein Array, dessen erster Eintrag das Objekt <ob>
+ selbst bezeichnet. Alle folgenden Eintraege bezeichnen die
+ Includefiles von <ob>. Wenn ein Includefile von <ob> selbst keine
+ Includefiles hat, wird seine Information direkt im Array
+ gespeichert. Fuer verschachtelte Includefiles wird ein Untervektor
+ erzeugt und dann in diesem Untervektor abgespeichert (wiederum
+ in [i+0], [i+1] und [i+2] sind 0). Diese Untervektoren haben
+ die gleiche Struktur wie das Resultatarray.
+
+ Wenn ein Objekt, inklusive <ob>, einem replace_programm() unterworfen
+ war, spiegeln die gelieferten Dateinamen das effektiv aktive Programm
+ wider.
+
+ Die Includepfade, die geliefert werden, beginnen immer mit '/'
+ (absolute Pfade), auch wenn der Treiber im COMPAT Modus laeuft.
+ Trotzdem beginnt der tatsaechliche Dateiname nicht mit einem '/',
+ wenn der Treiber im COMPAT Modus laeuft.
+
+BEISPIEL
+ Dieser Code erzeugt (mit /sys als Includeverzeichnis des Systems):
+
+ a.c: #include "b.h"
+ #include <c.h>
+ b.h: #include "d.h"
+ c.h: #define BAR
+ d.h: #define FOO
+
+ Die Efun liefert drei Resultate:
+
+ include_list(a, INCLIST_FLAT)
+ -> ({ "a.c", 0, 0
+ , "\"b.h\"", "/.../b.h", 1
+ , "\"d.h\"", "/.../d.h", 2
+ , "<c.h>", "/sys/c.h", 1
+ })
+
+ include_list(a, INCLIST_TREE)
+ -> ({ "a.c", 0, 0
+ , ({ "\"b.h\"", "/.../b.h", 1
+ , "\"d.h\"", "/.../d.h", 2
+ }), 0, 0
+ , "<c.h>", "/sys/c.h", 1
+ })
+
+AENDERUNGEN
+ Eingefuehrt in LDMud 3.2.9, 3.3.128
+
+SIEHE AUCH
+ debug_info(E), inherit_list(E)