Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/doc/efun/get_dir b/doc/efun/get_dir
new file mode 100644
index 0000000..b14288a
--- /dev/null
+++ b/doc/efun/get_dir
@@ -0,0 +1,113 @@
+SYNOPSIS
+        #include <files.h>
+
+        mixed *get_dir(string str)
+        mixed *get_dir(string str, int mask)
+
+BESCHREIBUNG
+        Benoetigt einen Pfad als erstes Argument und liefert ein Feld
+        (Array) mit Dateinamen bzw. Eigenschaften der gefundenen Dateien im
+        angegebenen Verzeichnis.
+
+        Liefert 0 zurueck, wenn es das Verzeichnis, in dem gesucht werden
+        soll, nicht gibt.
+
+        Der Dateinamen-Teil des Pfades darf "*" und "?" als Platzhalter
+        enthalten: jeder "*" steht fuer eine beliebige Anzahl Zeichen (oder
+        sich selber), "?" fuer ein beliebiges Zeichen. Entsprechend liefert
+        get_dir("/pfad/*") ein alphabetisch sortiertes Feld aller Dateien
+        im Verzeichnis "/pfad" oder ({ "/pfad/*" }), wenn es diese Datei
+        geben sollte.
+
+        Gibt man den Pfad eines Verzeichnisses mit abschliessendem "/" oder
+        "/." an (z. B. get_dir("/pfad/.")), so erhaelt man den Inhalt des
+        Verzeichnisses. Um Informationen ueber das Verzeichnis selber zu
+        erhalten, muss man den Pfad des Verzeichnisses angeben.
+
+        Das optionale zweite Argument ist eine Bitmaske, mit der man
+        angeben kann, welche Informationen man ueber die angegebenen
+        Dateien erhalten moechte.
+
+        GETDIR_EMPTY    (0x00)  get_dir() liefert ein leeres Feld (nicht
+                                wirklich sinnvoll)
+        GETDIR_NAMES    (0x01)  liefert die alphabetisch sortierten
+                                Dateinamen.
+        GETDIR_SIZES    (0x02)  liefert die unsortierten Dateigroessen
+                                (file_size()), Verzeichnisse haben die
+                                Dateigroesse FSIZE_DIR (-2).
+        GETDIR_DATES    (0x04)  liefert die unsortierten Zeiten der jeweils
+                                letzten Aenderung in Sekunden seit dem
+                                01.01.1970.
+        GETDIR_ACCESS   (0x40)  liefert die unsortierten Zeiten des jeweils
+                                letzten Zugriffes in Sekunden seit dem
+                                01.01.1970.
+        GETDIR_MODES    (0x80)  liefert die Filemode-Maske
+
+        GETDIR_ALL      (0xDF)  Liefert all Werte zurueck.
+
+        GETDIR_PATH     (0x10)  Dateinamen werden als volle Pfade geliefert.
+                                (ein ev. fehlendes GETDIR_NAMES wird als
+                                vorhanden angenommen).
+        GETDIR_UNSORTED (0x20)  Das Ergebnis wird nicht sortiert.
+
+        Wichtig: Man muss GETDIR_NAMES|GETDIR_UNSORTED verwenden, wenn man
+        die Eintraege in der selben Reihenfolge wie bei GETDIR_SIZES und
+        GETDIR_DATES haben moechte.
+
+        Die Eintraege in der Bitmaske koennen miteinander kombiniert
+        werden.
+
+BEISPIELE
+        Funktion                         Rueckgabewert
+        -------------------------------------------------------------------
+        get_dir("/obj/.")                Alle Dateien, die im Verzeichnis
+                                         /obj enthalten sind.
+        get_dir("/obj/")                 Wie get_dir("/obj/").
+
+        get_dir("/obj/fackel.c")        ({ "fackel.c" }), sofern
+                                         /obj/fackel.c existiert (als
+                                         Datei oder Verzeichnis), ansonsten
+                                         ({}), sofern /obj ein Verzeichnis
+                                         ist, ansonsten 0.
+
+        get_dir("/obj/*")                ({ "*" }), sofern * existiert.
+                                         Ansonsten und normalerweise ein
+                                         alphabetisch sortiertes Feld mit
+                                         den Namen aller Dateien und
+                                         Verzeichnisse in /obj, sofern /obj
+                                         ein Verzeichnis ist, ansonsten 0.
+
+        get_dir("/obj/fackel.c", GETDIR_SIZES)
+                                         ({ <Groesse von /obj/fackel.c> }),
+                                         sofern /obj/fackel.c existiert.
+        get_dir("/obj/.", GETDIR_NAMES)  Wie get_dir("/obj/.").
+        get_dir("/obj/.", GETDIR_SIZES)  Ein unsortiertes Feld mit den
+                                         Groessen der Dateien in /obj.
+        get_dir("/obj/.", GETDIR_NAMES|GETDIR_SIZES|GETDIR_DATES)
+            oder kuerzer
+        get_dir("/obj/.", GETDIR_ALL)    Ein eindimensionales und nach
+                                         Namen sortiertes Feld, das fuer
+                                         jede Datei in /obj den Namen, die
+                                         Groesse und den Zeitpunkt der
+                                         letzten Aenderung enthaelt, z.B.
+                                         ({
+                                             "axt.c"    ,  927, 994539583,
+                                             "fackel.c", 1283, 998153903,
+                                             }).
+
+        get_dir("/obj/fackel.c", GETDIR_NAMES|GETDIR_PATH)
+                                         ({ "/obj/fackel.c" }), sofern
+                                         vorhanden.
+        get_dir("/obj/fackel.c", GETDIR_PATH)  Kurzform dafuer.
+
+        transpose_array(({ get_dir(str, GETDIR_NAMES|GETDIR_UNSORTED)
+                         , get_dir(str, GETDIR_SIZES)
+                         , get_dir(str, GETDIR_DATES) }));
+        Liefert ein unsortiertes Feld mit Feldern, von denen ein jedes
+        Name, Groesse und Zeit einer Datei enthaelt, z. B.
+        ({
+            ({ "fackel.c", 1283, 998153903 }),
+            ({ "axt.c"    ,  927, 994539583 }),
+            }).
+SIEHE AUCH
+        cat(E), mkdir(E), rmdir(E), file_size(E)