Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/doc/efun/m_allocate b/doc/efun/m_allocate
new file mode 100644
index 0000000..255f3b9
--- /dev/null
+++ b/doc/efun/m_allocate
@@ -0,0 +1,46 @@
+SYNOPSIS
+        mapping m_allocate(int size)
+        mapping m_allocate(int size, int width)
+
+BESCHREIBUNG
+        Die Funktion reserviert Speicher fuer ein Mapping. <size> ist die
+        Anzahl Eintraege (d.h. die Anzahl Keys), <width> ist die Anzahl
+        Dateneintraege pro Key. Wird <width> nicht angegeben, werden Keys
+        mit einem Datenelement erzeugt.
+
+        Die Funktion ist nur sinnvoll, wenn man ein Mapping erzeugt, dessen
+        ungefaehre Groesse von vornherein bekannt ist, um so den Overhead
+        von wiederholten Speicherallokation zu minimieren. Wenn nicht alle
+        allozierten Datenelemente mit Daten bestueckt werden, werden die
+        Ueberbleibsel einige Zeit spaeter bei Gelegenheit wieder freigegeben
+        (s. Bemerkungen).
+        m_allocate() ist auch nuetzlich, wenn ein Mapping bestimmter Breite
+        erzeugt werden soll, ohne bereits die Daten zu den Keys bereit zu
+        stellen.
+
+        Wenn bloss ein leeres Mapping bestimmter Breite erzeugt werden soll,
+        so kann folgende Notation verwendet werden:
+
+        ([ ]) : erzeugt ein leeres Mapping mit Breite 1.
+        ([:<width>]) : erzeugt ein leeres Mapping der Breite <width>,
+            wobei <width> eine beliebige Anweisung sein kann, die eine
+            Integerzahl zurueck liefert. Tatsaechlich wird diese Notation
+            als 'm_allocate(0, <width>)' kompiliert.
+
+BEISPIELE
+        m_allocate(3,7) -> erzeugt ein Mapping mit 7 Werten pro Key und Platz
+           fuer 3 Eintraege.
+       ([:2*3]) -> entspricht m_allocate(0,6).
+
+BEMERKUNGEN
+        Ungenutzer Speicher des allozierten Mappins wird waehrend des sog.
+        Kompaktierens des Mappings freigegeben. Dies passiert waehrend eines
+        "data cleanups" oder einer "garbage collection". Die Zeit zwischen
+        "data cleanups" ist mit configure_driver() konfigurierbar.
+
+GESCHICHTE
+        Umbenannt von allocate_mapping() in LDMud 3.2.6.
+        Die ([:<width>]) Notation wurde in 3.2.9 eingefuehrt.
+
+SIEHE AUCH
+        mappings(LPC), walk_mapping(E), get_type_info(E), m_reallocate(E)