Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/doc/efun/program_name b/doc/efun/program_name
new file mode 100644
index 0000000..44162d5
--- /dev/null
+++ b/doc/efun/program_name
@@ -0,0 +1,38 @@
+SYNOPSIS
+        string program_name()
+        string program_name(object obj)
+
+BESCHREIBUNG
+        Liefert den Name des Programms, aus dem <obj> kompiliert wurde.
+        Wenn <obj> nicht angegeben wird, wird standardmaessig this_object()
+        verwendet.
+
+        Der Name ist fuer Clones der Name des Files, aus dem der Blueprint
+        kompliert wurde. Der Name wechselt, wenn ein Objekt sein Programm
+        durch replace_program() aendert.
+
+        Fuer den Spezialfall, dass <obj> als 0 uebergeben wird, liefert
+        program_name() 0 zurueck.
+
+        Der Name endet immer mit '.c'. Er beginnt mit einem '/', wenn der
+        Driver sich nicht im Compat Modus befindet.
+
+BEISPIEL
+        object o;
+        o = clone_object("/std/dings");
+        write(program_name(o));
+
+        liefert:
+        --> "/std/dings.c", wenn der Driver nicht im Compat Modus laeuft.
+        --> "std/dings.c", wenn der Driver im Compat Modus laeuft.
+
+AENDERUNGEN
+        Eingefuehrt in LDMud 3.2.6.
+        Seit 3.2.9 ist das Argument 0 erlaubt.
+
+ANMERKUNG
+        Die Efun swapt zum Programm, wenn dieses geswapt ist.
+
+SIEHE AUCH
+        clone_object(E), clonep(E), load_name(E), load_object(E),
+        object_name(E), replace_program(E)