Dokumentations-Update
Change-Id: I302332f32e9a6e0e67a837a1feee7939feea3028
diff --git a/doc/lfun/HookCallback b/doc/lfun/HookCallback
new file mode 100644
index 0000000..b6204b6
--- /dev/null
+++ b/doc/lfun/HookCallback
@@ -0,0 +1,78 @@
+
+HookCallback()
+**************
+
+
+FUNKTION
+========
+
+ mixed HookCallback(object hooksource, int hookid, mixed hookdata)
+
+
+DEFINIERT IN
+============
+
+ Eigenen Objekten
+
+
+ARGUMENTE
+=========
+
+ * hooksource: Das Objekt, in dem das Ereignis ausgeloest wurde
+
+ * hookid: Hooktyp des ausgeloesten Hooks
+
+ * hookdata: Daten des ausgeloesten Hooks (S. Doku des jeweiligen
+ Hooks.)
+
+
+BESCHREIBUNG
+============
+
+ Standard-Callback-Methode fuer Hooks. Wird beim Registrieren ein
+ Objekt uebergeben, wird versucht, eine Closure auf HookCallback()
+ an diesem Objekt zu erstellen. Man kann die Funktion auch anders
+ benennen und direkt als Closure uebergeben. Dies ist insb. bei
+ mehreren Hooks im gleichen Objekt hilfreich, weil es den Code
+ uebersichtlicher macht. Die Argumente muessen jedoch immer die
+ gleichen wie bei HookCallback() sein.
+
+ Die Reihenfolge des Aufrufs der Konsumenten ist Surveyor, Hook-
+ Modifikator, Data-Modifikator, Listener. Innerhalb der Gruppen wird
+ nach Prioritaet abgearbeitet. Ein Surveyor-Hook kann verhindern,
+ dass Hooks bestimmte Aenderungen durchfuehren.
+
+
+RUECKGABEWERTE
+==============
+
+ ({<status>, <hookdata>})
+
+ * Status: Eine der folgenden Konstanten: - H_NO_MOD: keine
+ Veraenderung - H_ALTERED: Daten des Hooks geaendert -
+ H_CANCELLED: Die Ausfuehrung der Hook-Kette und das ausloesende
+
+ Ereignis werden abgebrochen
+
+ Nicht alle Hooks unterstuetzen jeden Status.
+
+ * hookdata: Die ggf. modifizierten Hookdaten. (S. Doku des
+ jeweiligen Hooks.)
+
+
+BEMERKUNGEN
+===========
+
+ Bitte nutzt in neuem code nicht mixed, sondern unions entsprechend
+ der Dokumentation der verwendeten Hooks.
+
+ Auch reine Listener-Objekte muesse nein Array zurueckgeben, dessen
+ erstes Element H_NO_MOD sein muss.
+
+
+SIEHE AUCH
+==========
+
+ HRegisterToHook(), HUnregisterFromHook(), unions
+
+Letzte Aenderung: 06.10.2022, Bugfix