Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/doc/efun/interactive_info b/doc/efun/interactive_info
new file mode 100644
index 0000000..f7c2877
--- /dev/null
+++ b/doc/efun/interactive_info
@@ -0,0 +1,106 @@
+SYNOPSIS
+        #include <interactive_info.h>
+
+        mixed interactive_info(object ob, int what)
+
+DESCRIPTION
+        Returns some internal information about the interactive user <ob>.
+        The argument <what> determines which information is returned.
+
+        It can be either a configuration option as given to
+        configure_interactive() or one of the following options:
+
+
+
+        Connection Information:
+
+        <what> == II_IP_NAME:
+          The hostname of <ob>. The hostname will asynchronously
+          looked up by the ERQ daemon and might therefore not be
+          available at the time of the first connection.
+          If no name is available the address will be returned.
+
+        <what> == II_IP_NUMBER:
+          The IP address of <ob> given as a string.
+
+        <what> == II_IP_PORT:
+          The client port number of <ob>.
+
+        <what> == II_IP_ADDRESS:
+          The full socket address structure given as an array of bytes.
+
+          For IPv4 (sockaddr_in):
+              array[0.. 1]: sin_family
+              array[2.. 3]: sin_port
+              array[4.. 7]: sin_addr
+              array[8..15]: undefined.
+
+          For IPv6 (sockaddr_in6):
+              array[ 0.. 1]: sin6_family
+              array[ 2.. 3]: sin6_port
+              array[ 4.. 7]: sin6_flowinfo
+              array[ 8..23]: sin6_addr
+              array[24..27]: sin6_scope_id
+
+        <what> == II_MUD_PORT:
+          The server port number that <ob> connected to.
+
+
+
+        Telnet Related Information:
+
+        <what> == II_MCCP_STATS:
+          Statistics about the current compression of <ob> given
+          as an array ({ uncompressed bytes, compressed bytes }).
+
+          If the connection is not compressed, 0 is returned.
+
+          Available only if the driver is compiled with MCCP enabled;
+          __MCCP__ is defined in that case.
+
+
+
+        Input Handling:
+
+        <what> == II_INPUT_PENDING:
+          If <ob> has an input_to() pending, the object that has called
+          the input_to() is returned, else 0.
+
+        <what> == II_EDITING:
+          If <ob> is currently editing with ed() and ed() was called with
+          an exit function, then the object that has called ed()
+          will be returned, 0 otherwise.
+
+        <what> == II_IDLE:
+          The number of seconds that the interactive object <ob> has been
+          idle.
+
+
+
+        Output Handling:
+
+        <what> == II_SNOOP_NEXT:
+          Returns the user who is currently snooping <ob>.
+          The calling object must be privileged by the master object
+          via valid_query_snoop().
+
+        <what> == II_SNOOP_PREV:
+          Returns the victim who is currently snooped by <ob>.
+          The calling object must be privileged by the master object
+          via valid_query_snoop().
+
+        <what> == II_SNOOP_ALL:
+          Returns all objects who are currently snooping <ob>.
+          Only one object can snoop <ob> directly, but that user might
+          be snooped, too, and so building a chain that is returned
+          as an array.
+
+          The calling object must be privileged by the master object
+          via valid_query_snoop().
+
+
+HISTORY
+        Introduced in LDMud 3.5.0.
+
+SEE ALSO
+        configure_interactive(E), object_info(E), driver_info(E)