blob: 46f2cba7942c688cee7eac566be21acc2fafe6eb [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001GESCHUETZT
2SYNOPSIS
3 #include <sys/functionlist.h>
4 #include <sys/lpctypes.h>
5
6 mixed *functionlist(object ob, int flags = RETURN_FUNCTION_NAME)
7
8BESCHREIBUNG
9 Liefert ein Array mit Informationen zu den Lfuns von <ob>. Fuer jede
10 Funktion werden 1 bis 4 Werte (abhaengig von <flags>) in das Ergebnis
11 eingetragen, und zwar in folgender Reihenfolge:
12 - der Name der Funktion
13 - die Flags der Funktion (vergleiche weiter unten)
14 - den Rueckgabetyp (aufgelistet in mudlib/sys/lpctypes.h)
15 - die Anzahl Argumente, die die Funktion akzeptiert.
16
17 <ob> kann als echtes Objekt oder als Objektname uebergeben werden. Im
18 zweiten Fall versucht die Efun nicht, das Objekt vorher zu laden.
19
20 <flags> bestimmt sowohl, welche Informationen im Ergebnis gesammelt
21 werden, als auch, fuer welche Funktionen die Pruefung durchgefuehrt
22 wird. Der Wert von <flags> wird durch binaere Veroderung folgender
23 Konstanten aus mudlib/sys/functionlist.h festgelegt:
24
25 Festlegen der gesammelten Information:
26 RETURN_FUNCTION_NAME liefert den Funktionsnamen
27 RETURN_FUNCTION_FLAGS liefert die Flas der Funktion
28 RETURN_FUNCTION_TYPE liefert den Rueckgabetyp der Funktion
29 RETURN_FUNCTION_NUMARG liefert die Anzahl moeglicher
30 Argumente.
31
32 RETURN_FUNCTION_ARGTYPE ist definiert, aber nicht
33 implementiert.
34
35 Festlegen der geprueften Funktionen:
36 NAME_INHERITED geerbte Funktionen nicht beachten
37 TYPE_MOD_STATIC static deklarierte Funktion nicht beachten
38 TYPE_MOD_PRIVATE private deklarierte Funktionen nicht beachten
39 TYPE_MOD_PROTECTED protected deklarierte Funktionen nicht
40 beachten
41 NAME_HIDDEN nur beachten, wenn sichtbar durch Vererbung
42
43 <flags> besteht aus der binaeren Veroderung der oben genannten Flags,
44 zusammen mit den folgenden:
45 TYPE_MOD_VARARGS die Funktion ist varargs deklariert
46 NAME_UNDEFINED die Funktion ist noch nicht definiert, aber
47 referenziert
48 NAME_CROSS_DEFINED die Funktion ist definiert, um in einem
49 anderen Programm verwendet zu werden
50 TYPE_MOD_NOMASK die Funktion ist nomask deklariert
51 TYPE_MOD_PUBLIC die Funktion ist public deklariert
52
53SIEHE AUCH
54 inherit_list(E), function_exists(E), variable_list(E),
55 call_resolved(E)