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)