efun: lwobject_info


SYNOPSIS:

        #include <lwobject_info.h>

        mixed lwobject_info(lwobject lwob, int what)

DESCRIPTION:

        Returns some internal information about the lightweight
        object <lwob>. The  Argument <what> determines which
        information is returned.

        It can be either a configuration option as given to
        configure_object() or one of the following options:



        Lightweight Object Information:

        <what> == LI_LWOBJECT_REFS:
           The number of references to <lwob>.

        <what> == LI_DATA_SIZE:
           The total size of the values held in the object's variables,
           scaled down according to the extend of data sharing.

        <what> == LI_DATA_SIZE_TOTAL:
           The unmodified total size of the values held in the
           object's variables



        Program Flags:

        <what> == LI_NO_INHERIT:
           1 if the program can't be inherited.

        <what> == LI_NO_CLONE:
           1 if the program/blueprint can't be cloned.

        <what> == LI_SHARE_VARIABLES:
           1 if lightweight objects of this program share their
           initial variable values with the blueprint.



        Program Statistics:

        <what> == LI_PROG_REFS:
           The number of references to <lwob>'s program.

        <what> == LI_NUM_FUNCTIONS:
           The number of functions in the program.

        <what> == LI_NUM_VARIABLES:
           The number of variables in the program.

        <what> == LI_NUM_STRINGS:
           The number of strings in the program.

        <what> == LI_NUM_INHERITED:
           The number of explicitely inherited programs.

        <what> == LI_NUM_INCLUDED:
           The number of included files in the program.

        <what> == LI_SIZE_FUNCTIONS:
           The size needed for the function structures.
           Note that this does not include size of the function code.

        <what> == LI_SIZE_VARIABLES:
           The size needed for the variable structures.
           Note that this does not include size of the variable data,
           See LI_DATA_SIZE/LI_DATA_SIZE_TOTAL for that.

        <what> == LI_SIZE_STRINGS:
           The size needed for the string pointers.

        <what> == LI_SIZE_STRINGS_DATA:
           The size needed for the string values,
           scaled down according to the extend of data sharing.

        <what> == LI_SIZE_STRINGS_DATA_TOTAL:
           The unmodified size needed for the string values.

        <what> == LI_SIZE_INHERITED:
           The size needed for the inherit structures.

        <what> == LI_SIZE_INCLUDED:
           The size needed for the include structures.

        <what> == LI_PROG_SIZE:
           The size of the program structure.

        <what> == LI_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), interactive_info(E), driver_info(E)

UNItopia (mudadm@UNItopia.de)