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.

             break_point()
             db_*()
             pg_*()
             sl_*()
             parse_command()
             process_string()
             rusage()
             swap()
             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()
             json_serialize()
             json_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)
