Added public files
Roughly added all public files. Probably missed some, though.
diff --git a/doc/efun/limited b/doc/efun/limited
new file mode 100644
index 0000000..c967812
--- /dev/null
+++ b/doc/efun/limited
@@ -0,0 +1,64 @@
+VORLAEUFIG, GESCHUETZT
+SYNOPSIS
+ #include <sys/rtlimits.h>
+
+ mixed limited(closure fun);
+ mixed limited(closure fun, int tag, int value, ...);
+ mixed limited(closure fun, int *limits [, mixed *args]);
+
+BESCHREIBUNG
+ limited() ruft die Funktion <fun> mit den bezeichneten Argumenten
+ <args> auf und fuehrt sie mit den gegebenen Laufzeitlimiten aus.
+
+ Beim Ende der Funktion <fun> werden die momentan aktiven
+ Laufzeitlimiten wiederhergestellt. limited() liefert den
+ Rueckgabewert der Closure <fun> zurueck.
+
+ Die Laufzeitlimiten koennen in zwei Formen angegeben werden: als
+ Array (wie es von query_limits() geliefert wird) oder als Liste von
+ Werten mit Tags. Wird limited() ohne Angabe von Limits aufgerufen,
+ gelten die Laufzeitlimiten als 'unlimitiert'.
+
+ Die Limiteneinstellung kennt drei spezielle Werte aus <rtlimits.h>:
+ LIMIT_UNLIMITED: es gibt kein Limit
+ LIMIT_KEEP: das zuletzt gesetzte Limit wird beibehalten
+ LIMIT_DEFAULT: die 'globalen' Limiten werden verwendet
+
+ Fuer LIMIT_COST, die Spezialwerte haben diese Bedeutung:
+ LIMIT_UNLIMITED: die Ausfuehrung kosten lediglich einen Tick
+ LIMIT_KEEP: LIMIT_COST wird auf 0 gesetzt
+ LIMIT_DEFAULT: LIMIT_COST wird auf -100 gesetzt
+
+ limited() erzeugt eine Schutzverletzung ("limited", current_object,
+ fun, limits-array).
+
+BEMERKUNGEN:
+ Diese Funktion kann bei uns mudlibweit genutzt werden. Allerdings wird
+ nur die _Reduktion_ von LIMIT_EVAL zugelassen, alle anderen Limits
+ duerfen _nicht_ veraendert werden. Hierbei ist zu beachten, dass das
+ Limit fuer LIMIT_EVAL um min. 1000 Ticks unter den noch verfuegbaren
+ Ticks liegen muss (get_eval_cost()).
+ Fuer LIMIT_COST sind nur 0 und -100 zugelassen.
+
+BEISPIELE
+ limited(#'function)
+ --> fuehrt die Funktion ohne Limiten aus.
+
+ limited(#'function, ({ 200000 }), "foo")
+ --> fuehrt die Funktion mit einem Eval-Kosten Limit von 200000 Ticks
+ aus. Die Funktion wird als 'function("foo")' aufgerufen.
+
+ limited(lambda(0, ({#'function, "foo"})), LIMIT_EVAL, 200000)
+ --> fuehrt die Funktion mit einem Eval-Kosten Limit von 200000 Ticks
+ aus. Die Funktion wird als 'function("foo")' aufgerufen.
+
+AENDERUNGEN
+ Eingefuehrt in LDMud 3.2.7.
+ LDMud 3.3.563 fuehrte LIMIT_COST ein.
+
+SIEHE AUCH
+ query_limits(E), set_limits(E)
+ get_eval_cost(E)
+
+16.05.2007, Zesstra
+