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)