Update doc/efun/ aus Driversourcen.

Manpages der efuns aktualisiert, neue Manpages hinzugefuegt.

Change-Id: I7cc91684269ff56d1aef47d5c5e7c87f7fd531dc
diff --git a/doc/efun/object_info b/doc/efun/object_info
index 89263f0..12f2df9 100644
--- a/doc/efun/object_info
+++ b/doc/efun/object_info
@@ -1,126 +1,203 @@
-GESCHUETZT
 SYNOPSIS
-        #include <objectinfo.h>
+        #include <object_info.h>
 
-        mixed * object_info(object ob, int what)
-        mixed * object_info(object ob, int what, int index)
+        mixed object_info(object ob, int what)
 
-BESCHREIBUNG
-        Liefert einige interne Informationen ueber das Objekt <ob> in Form
-        eines Arrays. Das Argument <what> gibt an, welche Informationen
-        geliefert werden.
+DESCRIPTION
+        Returns some internal information about object <ob>. The
+        Argument <what> determines which information is returned.
 
-        Das Resultat ist normalerweise ein Array. Wird jedoch <index>
-        spezifiziert, wird nur der Wert geliefert, der im Array an der
-        Position <index> stehen wuerde.
-
-        Die moeglichen Werte fuer <what> und die Indizes des gelieferten
-        Arrays sind in <objectinfo.h> definiert und muessen eingebunden
-        werden. Diese Definitionen koennen sich in zukuenftigen Versionen
-        des Drivers aendern!
-
-        <what> == OINFO_BASIC:
-
-        Dieser Aufruf liefert grundlegende Informationen ueber <ob>:
-        int [OIB_HEART_BEAT]:       1, wenn <ob> einen heart_beat() hat,
-                                    sonst 0.
-        int [OIB_IS_WIZARD]:        1, wenn <ob> ein Gott ist (das
-                                    Wizard Flag gesetzt hat), sonst 0. Der
-                                    Eintrag ist immer 0, wenn set_is_wizard()
-                                    nicht verfuegbar ist.
-        int [OIB_ENABLE_COMMANDS]:  1, wenn <ob> Kommandos geben darf, sonst 0.
-        int [OIB_CLONE]:            1, wenn <ob> ein Clon ist, sonst 0.
-        int [OIB_DESTRUCTED]:       1, wenn <ob> zerstoert wurde, sonst 0.
-        int [OIB_SWAPPED]:          1, wenn <ob> geswapt wurde, sonst 0.
-        int [OIB_ONCE_INTERACTIVE]: 1, wenn <ob> einmal interaktiv war,
-                                    sonst 0.
-        int [OIB_RESET_STATE]:      1, wenn <ob> im gleichen Zustand wie nach
-                                    einem reset() ist, sonst 0.
-        int [OIB_WILL_CLEAN_UP]:    1, wenn <ob> clean_up() aufruft, sonst 0.
-        int [OIB_LAMBDA_REFERENCED]:1, wenn <ob> Lambdas beinhaltet, sonst 0.
-        int [OIB_SHADOW]:           1, wenn <ob> ein Schatten uebergeworfen
-                                    wurde, sonst 0.
-        int [OIB_REPLACED]:         1, wenn das Programm von <ob> ersetzt
-                                    wurde (mit replace_program()), sonst 0.
-        int [OIB_NEXT_RESET]:       Zeit bis zum naechsten Reset.
-        int [OIB_TIME_OF_REF]:      Zeit des letzen Aufrufs von <ob>.
-        int [OIB_REF]:              Anzahl Aufrufe von <ob>.
-        int [OIB_GIGATICKS]:        GIGATICKS und TICKS liefern die summierten
-        int [OIB_TICKS]:            Evalkosten von <ob>.
-        int [OIB_SWAP_NUM]:         Die Swap-Nummer von <ob>s Programm, oder
-                                    -1, wenn <ob> nicht geswapt wurde.
-        int [OIB_PROG_SWAPPED]:     1, wenn <ob>'s Programm geswapt wurde,
-                                    sonst 0.
-        int [OIB_VAR_SWAPPED]:      1, wenn <ob>'s Variablen geswapt wurden,
-                                    sonst 0.
-        int [OIB_NAME]:             der Objektname von <ob>.
-        object [OIB_NEXT_ALL]:      das naechste Objekt in der Objektliste.
-        object [OIB_PREV_ALL]:      das vorherige Objekt in der Objektliste.
-
-        <what> == OINFO_POSITION:
-
-        Dieser Aufruf liefert Informationen ueber die Position von <ob> in der
-        globalen Objektliste:
-
-        object [OIP_NEXT]:          naechstes Objekt in der Objektliste.
-        object [OIP_PREV]:          vorheriges Objekt in der Objektliste.
-        int [OIP_POS]:              die Position von <ob> in der Objektliste,
-                                    beginnend von 0 aufwaerts.
-
-        Dieser Aufruf kann aufwendig an Rechenzeit sein.
-
-        <what> == OINFO_MEMORY:
-
-        Dieser Aufruf liefert Informationen ueber Speichernutzung von <ob>.
-
-        int [OIM_REF]:                Anzahl Referenzierungen von <ob>.
-        string [OIM_NAME]:            Name von <ob>.
-        int [OIM_PROG_SIZE]:          Programmgroesse.
-        int [OIM_NUM_FUNCTIONS]:      Anzahl Funktionen in <ob>.
-        int [OIM_SIZE_FUNCTIONS]:     Speicherbedarf der Funktionen
-        int [OIM_NUM_VARIABLES]:      Anzahl Variablen im Programm.
-        int [OIM_SIZE_VARIABLES]:     Speicherbedarf der Variablen.
-        int [OIM_NUM_STRINGS]:        Anzahl Strings im Programm.
-        int [OIM_SIZE_STRINGS]:       Speicherbedarf der String-Pointer.
-        int [OIM_SIZE_STRINGS_DATA]:  Speicherbedarf der String-Daten,
-                                      korrigiert um das Ausmass des Daten-
-                                      Sharing.
-        int [OIM_SIZE_STRINGS_TOTAL]: unkorrigierter Speicherbedarf der
-                                      String-Daten.
-        int [OIM_NUM_INCLUDES]:       Anzahl Includefiles im Programm.
-        int [OIM_NUM_INHERITED]:      Anzahl inheriter Programme.
-        int [OIM_SIZE_INHERITED]:     Speicherbedarf der Inherits.
-        int [OIM_TOTAL_SIZE]:         Gesamter Speicherbedarf des Programms.
-        int [OIM_DATA_SIZE]:          Gesamte Speicherbedarf der Variablenwerte
-                                      des Objekts <ob>, korrigiert um das
-                                      Ausmass des Daten-Sharings.
-        int [OIM_DATA_SIZE_TOTAL]:    unkorrigierter Gesamter Speicherbedarf
-                                      der Variablenwerte des Objekts.
-        int [OIM_NO_INHERIT]:         1, wenn das Programm nicht inheritet
-                                      werden kann.
-        int [OIM_NO_CLONE]:           1, wenn das Programm / der Blueprint
-                                      nicht geclont werden kann.
-        int [OIM_NO_SHADOW]:          1, wenn dem Objekt kein Shadow
-                                      uebergeworfen werden darf.
-
-        Dieser Aufruf holt das Programm aus dem Swap, falls notwendig.
-        Die OIM_SIZE_xxx-Eintraege zeigen nur den Speicherbedarf der
-        Strukturen / Pointer an, nicht aber den Speicherbedarf von
-        Variablenwerten, Funktionscode oder der Strings selbst.
+        It can be either a configuration option as given to
+        configure_object() or one of the following options:
 
 
-GESCHICHTE
-        Eingefuehrt in LDMud 3.2.6.
-        Aenderungen in LDMud 3.2.7:
-          - neues Kriterium OIB_REPLACED.
-          - das Kriterium OIB_IS_WIZARD ist immer 0, wenn set_is_wizard()
-            nicht verfuegbar ist.
-          - das Kriterium OIB_APPROVED wurde entfernt.
-        LDMud 3.2.8 fuehrte neu OIM_DATA_SIZE im Resultat von OINFO_MEMORY ein.
-        LDMud 3.2.9 erweiterte OINFO_MEMORY um den Index Mechanismus,
-            OIM_NUM_INCLUDES, OIM_NO_INHERIT, OIM_NO_SHADOW, OIM_NO_CLONE,
-            OIM_SIZE_STRINGS_DATA, OIM_SIZE_STRINGS_TOTAL, und
-            OIM_DATA_SIZE_TOTAL
 
-SIEHE AUCH
-        debug_info(E)
+        Object Flags:
+
+        <what> == OI_ONCE_INTERACTIVE:
+           1 if <ob> was once (or still is) interactive, 0 else.
+
+        <what> == OI_RESET_STATE:
+           1 if <ob> is (still) reset, 0 else.
+
+        <what> == OI_WILL_CLEAN_UP:
+           1 if <ob>'s clean_up() will be called, 0 else.
+
+        <what> == OI_LAMBDA_REFERENCED:
+           1 if <ob> has lambdas (and there replace_program()
+           is not allowed anymore), 0 else.
+
+        <what> == OI_REPLACED:
+           1 if the program for <ob> was replaced, 0 else.
+
+
+
+        Program Flags:
+
+        <what> == OI_NO_INHERIT:
+           1 if the program can't be inherited.
+
+        <what> == OI_NO_CLONE:
+           1 if the program/blueprint can't be cloned.
+
+        <what> == OI_NO_SHADOW:
+           1 if the program's functions can't be shadowed.
+
+        <what> == OI_SHARE_VARIABLES:
+           1 if clones of this program share their initial
+           variable values with the blueprint.
+
+
+
+        Swapping Information:
+
+        <what> == OI_SWAPPED:
+           1 if <ob> is swapped, 0 else.
+
+        <what> == OI_PROG_SWAPPED:
+           1 if <ob>'s program is swapped, 0 else.
+
+        <what> == OI_VAR_SWAPPED:
+           1 if <ob>'s variables are swapped, 0 else.
+
+        <what> == OI_SWAP_NUM:
+           The swap number for <ob>s program, or -1 if not swapped.
+
+
+
+        Time Information:
+
+        <what> == OI_NEXT_RESET_TIME:
+            Time of the next reset.
+
+        <what> == OI_NEXT_CLEANUP_TIME:
+            Time of the next data cleanup.
+
+        <what> == OI_LAST_REF_TIME:
+            Time of the last call to <ob>.
+
+
+
+        Object List:
+
+        <what> == OI_OBJECT_NEXT:
+           The next object in the global object list.
+
+        <what> == OI_OBJECT_PREV:
+           The previous object in the global object list.
+
+        <what> == OI_OBJECT_POS:
+           The position of <ob> in the global object list,
+           counting from 0 up. This can be expensive to compute.
+
+
+
+        Shadows:
+
+        <what> == OI_SHADOW_NEXT:
+           The next object in the shadow list, i.e. the object
+           that is shadowing <ob>, or 0 if <ob> is not shadowed.
+
+        <what> == OI_SHADOW_PREV:
+           The previous object in the shadow list, i.e. the object
+           that <ob> is currently shadowing, or 0 if <ob> is not a shadow.
+
+        <what> == OI_SHADOW_ALL:
+           Returns an array of all objects that are currently
+           shadowing <ob>, or an empty array if <ob> is not shadowed.
+
+
+
+        Object Statistics:
+
+        <what> == OI_OBJECT_REFS:
+           The number of references to <ob>.
+
+        <what> == OI_TICKS:
+           The accumulated evaluation cost spend in <ob> modulo 1000000000.
+
+        <what> == OI_GIGATICKS:
+           The accumulated evaluation cost spend in <ob> divided by 1000000000.
+
+        <what> == OI_DATA_SIZE:
+           The total size of the values held in the object's variables,
+           scaled down according to the extend of data sharing.
+
+        <what> == OI_DATA_SIZE_TOTAL:
+           The unmodified total size of the values held in the
+           object's variables
+
+
+
+        Program Statistics:
+
+        <what> == OI_PROG_REFS:
+           The number of references to <ob>'s program.
+
+        <what> == OI_NUM_FUNCTIONS:
+           The number of functions in the program.
+
+        <what> == OI_NUM_VARIABLES:
+           The number of variables in the program.
+
+        <what> == OI_NUM_STRINGS:
+           The number of strings in the program.
+
+        <what> == OI_NUM_INHERITED:
+           The number of explicitely inherited programs.
+
+        <what> == OI_NUM_INCLUDED:
+           The number of included files in the program.
+
+        <what> == OI_SIZE_FUNCTIONS:
+           The size needed for the function structures.
+           Note that this does not include size of the function code.
+
+        <what> == OI_SIZE_VARIABLES:
+           The size needed for the variable structures.
+           Note that this does not include size of the variable data,
+           See OI_DATA_SIZE/OI_DATA_SIZE_TOTAL for that.
+
+        <what> == OI_SIZE_STRINGS:
+           The size needed for the string pointers.
+
+        <what> == OI_SIZE_STRINGS_DATA:
+           The size needed for the string values,
+           scaled down according to the extend of data sharing.
+
+        <what> == OI_SIZE_STRINGS_DATA_TOTAL:
+           The unmodified size needed for the string values.
+
+        <what> == OI_SIZE_INHERITED:
+           The size needed for the inherit structures.
+
+        <what> == OI_SIZE_INCLUDED:
+           The size needed for the include structures.
+
+        <what> == OI_PROG_SIZE:
+           The size of the program structure.
+
+        <what> == OI_PROG_SIZE_TOTAL:
+           The total size of the program.
+
+
+HISTORY
+        Introduced in LDMud 3.2.6.
+        Changes in LDMud 3.2.7:
+          - new basic result OIB_REPLACED.
+          - basic result OIB_IS_WIZARD is always 0 if set_is_wizard()
+              is not available.
+          - basic result OIB_APPROVED is gone.
+        LDMud 3.2.8 added OIM_DATA_SIZE to the result of OINFO_MEMORY.
+        LDMud 3.2.9 added the index mechanism, OIM_NUM_INCLUDES,
+          OIM_NO_INHERIT, OIM_NO_SHADOW, OIM_NO_CLONE, OIM_SIZE_STRINGS_DATA,
+          OIM_SIZE_STRINGS_TOTAL, and OIM_DATA_SIZE_TOTAL to the result
+          of OINFO_MEMORY.
+        LDMud 3.3.378 added the OIM_SHARE_VARIABLES to the result
+          of OINFO_MEMORY.
+        LDMud 3.3.654 added the OIB_NEXT_CLEANUP to the result of OINFO_BASIC.
+        LDMud 3.5.0 redesigned the whole efun.
+
+SEE ALSO
+        configure_object(E), lwobject_info(E), interactive_info(E),
+        driver_info(E)