Next: Änderung in der Datei
Up: 4 Details der Implementierung
Previous: Änderung in der Datei
Die Datei snmp_vars.c enthält Funktionen für die Verwaltung der
MIB-Variablen des UCD-Agenten, besonders die Funktion getStatPtr
für den Zugriff auf die MIB-Variablen. Sie ist ein wichtiges Werkzeug
der Funktionen aus dem vorigen Abschnitt. Diese Funktion wird von der
Funktion mnm_getStatPtr ersetzt, welche zusätzlich noch auf
die MIB-Variablen der Subagenten zugreifen kann. Sie und die Funktion
getStatPtr
stehen in der Datei
snmp_vars_in.c. getStatPtr wird verwendet, wenn
intern im Hauptagenten auf MIB-Variablen zugegriffen werden muß.
Da intern nur GET-Anfragen durchgeführt werden dürfen,
stellt sie eine Einschränkung von mnm_getStatPtr dar.
An folgender Stelle wird nun die Datei mit diesen Funktionen eingefügt:
...
#ifdef USING_VIEW_VARS_MODULE
extern int in_view __P((oid *, int, int));
#endif
int subtree_old_size() {
return (sizeof(subtrees_old)/ sizeof(struct subtree));
}
...
Dies ergibt sich zu folgendem Progammcode:
...
#ifdef USING_VIEW_VARS_MODULE
extern int in_view __P((oid *, int, int));
#endif
#include "snmp_vars_in.c"
int subtree_old_size() {
return (sizeof(subtrees_old)/ sizeof(struct subtree));
}
...
Analog zum vorigen Abschnitt wird die alte Funktion beseitigt.
u_char *
getStatPtr(name, namelen, type, len, acl, exact, write_method, pi,
noSuchObject)
wird zu
u_char *
old_getStatPtr(name, namelen, type, len, acl, exact, write_method, pi,
noSuchObject)
Copyright Munich Network Management Team