Added public files
Roughly added all public files. Probably missed some, though.
diff --git a/doc/efun/previous_object b/doc/efun/previous_object
new file mode 100644
index 0000000..6a712ad
--- /dev/null
+++ b/doc/efun/previous_object
@@ -0,0 +1,50 @@
+SYNOPSIS
+ object previous_object();
+ object previous_object(int i);
+
+BESCHREIBUNG
+ Liefert einen Pointer auf das letzte Objekt, das einen Aufruf (mittels
+ call_other(), funcall() etc.) auf das aktuelle Objekt this_object()
+ gemacht hat. Wenn dieses aufrufende Objekt inzwischen zerstoert wurde,
+ liefert previous_object() 0.
+ Bei einem Aufruf einer eigenen Funktion durch ein Objekt bleibt das
+ bisherige previous_object() unveraendert.
+
+ Wird das Argument <i> angegeben, so verfolgt previous_object() den
+ Aufruf <i> Stufen zurueck. Zum Beispiel liefert previous_object(1) das
+ aufrufende Objekt des aufrufenden Objekts. Fuer <i> muss gelten:
+ 0 <= i < call_stack_depth(). Ein Wert <i> < 0 liefert das erste
+ aufrufende Object zurueck.
+
+ Es gibt einen wichtigen Spezialfall: in Funktionen, die vom Gamedriver
+ auf Grund eines externen Ereignises aufgerufen wurden (zum Beispiel
+ Kommandi, die mit add_action() definiert wurden), liefert
+ previous_object() this_object(), previous_object(0) hingegen 0.
+
+BEISPIEL
+ int sicherheitscheck()
+ {
+ object prev;
+ if(!(prev=previous_object()));
+ else if(getuid(prev)!=getuid(this_object()));
+ else if(geteuid(prev)!=geteuid(this_object()));
+ else return 1;
+ return 0;
+ }
+ void sensible_funktion()
+ {
+ if(!sicherheitscheck())
+ return;
+ ...
+ }
+
+ Diese Funktion zeigt, wie man ueberpruefen kann, ob der letzte Aufruf
+ einer Funktion im aktuellen Objekt sicher war, oder ob die
+ Verarbeitung abgebrochen werden sollte.
+
+FEHLER
+ Werte von <i> < 0 werden wie <i> == 0 behandelt - dies ist historisch.
+
+SIEHE AUCH
+ call_other(E), this_object(E), this_player(E)
+ caller_stack(E), caller_stack_depth(E), extern_call(E)
\ No newline at end of file