NAME
        efun

BESCHREIBUNG
        Dieses Directory enthaelt die Beschreibungen fuer die Efuns in
        LDMud 3.3.

        Diese Funktionen werden vom Driver zur Verfuegung gestellt und koennen
        von jedem LPC-Objekt verwendet werden.

        Spezielle Arten dieser Efuns sind:

         - 'Optional'

           Es steht dem Mud-Betreiber frei, diese Efuns zu deaktivieren.

             assoc()
             break_point()
             db_*()
             insert_alist()
             intersect_alist()
             parse_command()
             process_string()
             rusage()
             set_is_wizard()
             transfer()
             tls_available()
             tls_check_certificate()
             tls_deinit_connection()
             tls_error()
             tls_init_connection()
             tls_query_connection_info()
             tls_query_connection_state()
             tls_refresh_certs()
             xml_generate()
             xml_parse()

         - 'Vorlaeufig'

           Das Verhalten dieser Efuns kann sich in spaeteren Driverversionene
           aendern.

             tls_*()
             xml_*()

         - 'Obsolet' bzw. 'Veraltet'

             make_shared_string()
             md5()
             sha1()

           Diese Efuns sollten nicht weiter verwendet werden. Sie stehen
           lediglich aus Kompatibilitaetsgruenden zur Verfuegung, und
           werden in einer spaeteren Drivervariante entfernt werden.

SIEHE AUCH
        efuns(LPC), applied(A), master(M), lpc(LPC), concepts(C), driver(D)
