Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/doc/efun/input_to b/doc/efun/input_to
new file mode 100644
index 0000000..11cbd97
--- /dev/null
+++ b/doc/efun/input_to
@@ -0,0 +1,146 @@
+SYNOPSIS
+        #include <sys/input_to.h>
+
+        void input_to(string|closure fun);
+        void input_to(string|closure fun, int flag, ...);
+        void input_to(string|closure fun, int flag, string|closure prompt, ...);
+
+BESCHREIBUNG
+        Die naechste Zeile, die der Spieler eintippt, wird als Argument an die
+        Funktion <fun> uebergeben. Ausnahme: wenn die naechste Zeile mit einem
+        '!' beginnt, wird sie als Kommando ausgewertet bzw. an das letzte
+        input_to() uebergeben, das das INPUT_IGNORE_BANG Flag gesetzt hat.
+        Die Funktion <fun> kann "static" deklariert sein, nicht aber "private"
+        (sonst wird sie nicht gefunden).
+
+        Der Aufruf von <fun> erfolgt nicht sofort, sondern erst, wenn der
+        Spieler die Entertaste drueckt.
+
+        Wenn input_to() mehr als einmal pro Funktion aufgerufen wird,
+        wird normalerweise nur das erste input_to() beruecksichtigt.
+        Diese Verhalten kann durch die Angabe von INPUT_APPEND
+        modifiziert werden: in diesem Fall wird das input_to() an die
+        Liste der bereits anhaengigen input_tos angehaengt (siehe
+        BEISPIELE).
+
+        Wird andererseits waehrend einem laufenden input_to() (mittels "!" am
+        Zeilenanfang) eine neue Funktion aufgerufen, die wiederum ein
+        input_to() enthaelt, wird das urspruengliche input_to() so lange
+        unterbrochen, bis das neue input_to() abgearbeitet wurde,
+        anschliessend wird es wieder aktiv.
+
+        Das optionale <flag> kann ein binaeres Oder (|) der folgenden
+        Werte sein:
+
+        INPUT_NOECHO (1):
+            Die vom Spieler eingegebene Zeile erzeugt kein Echo und wird auch
+            nicht erkannt, wenn der Spieler beobachtet wird.
+
+            Dieser Modus kann nur geaendert werden, wenn telnet enabled ist.
+
+        INPUT_CHARMODE (2):
+            Die Verbindung zum User wechselt von Zeilen- auf Zeichenmodus. So
+            wird nur ein einzelnes Zeichen (!) vom Spieler empfangen.
+
+            Ist telnet disabled, wird lediglich die Interpretation der
+            einkommenden Daten durch den Driver umgeschaltet - das
+            Clientprogramm des Spieler verbleibt im gerade aktiven Modus.
+
+            Nachdem die Funktion <fun> ausgefuehrt wurde, wechselt die
+            Verbindung zurueck in Zeilenmodus, ausser ein nachfolgendes
+            input_to( , 2) wurde gestartet.
+
+            Zeilenumbrueche werden je nach Client unterschiedlich empfangen,
+            entweder als "", als "\r" gefolgt von "" oder als "\r" (letzteres
+            kommt vor allem bei Windows Clients vor).
+
+            Das Frontend des Spielers kann dauernd im Zeilenmodus bleiben.
+            Auch wenn input_to() nur ein einzelnes Zeichen fordert, muss der
+            Spieler unter Umstaenden das Zeichen und einen Zeilenumbruch
+            druecken (und senden). Normalerweise erhaelt <fun> dann den
+            gesamten Input auf einmal.
+
+            Will man laenger im Zeichenmodus bleiben, kann der Overhead
+            reduziert werden, indem set_combine_charset() verwendet wird. So
+            koennen Zeichensequenzen als ein String anstelle von
+            Zeichen-fuer-Zeichen empfangen werden. In einem screenorientierten
+            Editor gilt dies fuer die meisten druckbaren Zeichen.
+
+        INPUT_PROMPT (4):
+            Das Argument nach dem <flag> wird als Prompt fuer die Eingabe
+            verwendet. Wenn dieses Argument nicht angegeben (und damit kein
+            Propmt definiert) ist, wird kein Prompt ausgegeben.
+
+        INPUT_NO_TELNET (8):
+            Modifiziert das INPUT_CHARMODE Argument: der Driver aendert
+            seine Behandlung von eingehenden Daten entsprechend dem _CHARMODE
+            Argument, sendet aber keine Telnetkommandos zur Anpassung
+            des Verhaltens des Clientprogrammes.
+
+        INPUT_APPEND (16):
+            Das input_to() wird an die Liste der bereits anhaengigen
+            input_tos angehaengt.
+
+        INPUT_IGNORE_BANG (128):
+            Eingaben, die mit ! beginnen, werden NICHT als Kommandi geparset,
+            sondern auch als Argument an die Funkion <fun> uebergeben. Die
+            Verwendung dieses Flags ist eingeschraenkt.
+
+        Alle nachfolgenden Argumente werden als zweites bzw. drittes usw.
+        Argument an <fun> uebergeben.
+
+BEISPIEL
+        void func()
+        {
+            ...
+            input_to("enter_name", INPUT_PROMPT, "Wie lautet dein Name?:");
+            /* Frueher erledigte man dies mit:
+             *   write("Wie lautet dein Name?:");
+             *   input_to("enter_name");
+             */
+             ...
+         }
+
+         enter_name(string str)
+         {
+            write("Heisst du wirklich '"+str+"'?? *kicher*\n");
+            ...
+        }
+
+        Bei der input_to() Anweisung fuehrt der Driver die Funktion
+        func() aus, erwartet aber gleichzeitig Input vom Spieler. Wenn
+        dieser etwas eingegeben UND DIE ENTERTASTE GEDRUECKT HAT, arbeitet
+        der Driver die Funktion enter_name() mit dem eingegebenen String
+        als Argument ab.
+
+
+        void func() {
+          ..
+          input_to("enter_firstname");
+          input_to("enter_lastname, INPUT_APPEND);
+          ...
+        }
+
+        Diese Sequenze erzeugt zwei input_tos: Eingaben gehen zuerst
+        an enter_firstname(); und wenn diese Funktion fertig ist
+        (einschliesslich etwaiger eigener non-INPUT_APPEND input_tos), geht
+        die naechste Eingabe an enter_lastname().
+
+AENDERUNGEN
+        Die Bedeutung von <flag> wurde in 3.2.1@93 erweitert.
+        Die Limitierung fuer das "stapeln" von input_to()s aus !-Kommandi
+            wurde in LDMud 3.2.8 implementiert.
+        Seit LDMud 3.2.8 kann <fun> in Form einer Closure angegeben werden.
+        LDMud 3.2.9 fuehrte das Flag INPUT_PROMPT samt zugehoerigem Argument
+            ein.
+        LDMud 3.2.11/3.3.593 fuehrte das INPUT_NO_TELNET Flag ein.
+        LDMud 3.2.11/3.3.637 fuehrte das INPUT_APPEND Flag ein.
+
+BUGS
+        Im Zeichenmodus sollten Zeilenumbrueche eigentlich als "\n" zurueck
+        gegeben werden. Dies allerdings kann existierenden Code zerstoeren.
+
+SIEHE AUCH
+        call_other(E), sscanf(E), privilege_violation(M),
+        set_combine_charset(E), query_input_pending(E), find_input_to(E),
+        input_to_info(E), remove_input_to(E), enable_telnet(E)