next up previous contents
Next: Processor Group Up: GET-Funktionen Previous: Storage Group

Device Group

Die Device Group wird durch die Module 'processor.c', 'devices.c', 'filesystem.c' und 'printer.c' implementiert.

Beim Start des Subagenten werden alle angeschlossenen SCSI Devices (disk, tape, CD-ROM), alle Floppy Laufwerke, alle auf Festplatten definierten Partitionen, alle installierten Drucker sowie alle Druckerwarteschlangen gelesen und in globale Variablen geschrieben. Dies wird durch die Funktionen get_devices(), get_disks(), get_partitions(), get_printer() sowie get_queues() realisiert.

Diese Informationen müssen zur Laufzeit des Subagenten im Speicher gehalten werden, da ein schneller Zugriff auf diese Informationen (z.B während des Browsens der MIB) ansonsten nicht gewährleistet ist und zu einem Timeout führen würde.

Die Funktion get_devices() liefert als Ergebnis die Anzahl aller angeschlossenen SCSI-Devices (disk, tape, CD-ROM) sowie Floppy-Laufwerke. Da unter SunOS 4.1.x kein geeigneter Systemaufruf existiert und auch der Zugriff auf diverse Kernelvariablen nicht das gewünschte Ergebnis lieferte, mußten wir dazu übergehen den Output des betriebssystemeigenen Tools 'devinfo' zu parsen, um an die entsprechenden Informationen zu gelangen. Die Namen der Devices werden in der globalen Variablen 'Devices' abgelegt.
Als Nebeneffekt wird die Hardwarebezeichnung der Maschine in der globalen Variablen 'sysHardware' abgelegt. Hierauf wird mit der Funktion get_sysHardware() aus dem Modul 'system.c' zugegriffen.

Die Funktion get_disks() liefert als Ergebnis die Anzahl aller lokalen Festplatten, Floppylaufwerke und CD-ROM Laufwerke. Die Bezeichnung dieser Devices wird dabei in der globalen Variablen 'Disks' abgelegt.

Die Funktion get_partitions() liefert als Ergebnis die Anzahl aller (möglichen) Partitionen. Dabei ergibt sich die Anzahl der Partitionen aus: ('Anzahl der Festplatten' * 8).

Die Funktion get_printers() liefert als Ergebnis die Anzahl aller lokalen Drucker. Es wird dazu auf die Datei /etc/printcap zugegriffen, die alle Informationen zu lokalen bzw. remote Druckern enthält. Die Namen der Drucker werden in der globalen Variablen 'Printers' abgelegt.

Die Funktion get_queues() liefert als Ergebnis die Anzahl aller definierten Druckerwarteschlangen. Unter SunOS 4.1.x (BSD Print-System) ist zu jedem Drucker, egal ob lokal oder remote, eine Queue gleichen Namens definiert. Hierzu wird ebenso wie bei der Funktion get_printers() die Datei /etc/printcap geparst. Die Namen der Queues werden in der globalen Variablen 'Queues' gespeichert. Weiterhin wird in dieser Variablen der zugehörige Druckername vermerkt, und ob es sich bei dem zugehörigen Drucker um einen lokalen oder remote Drucker handelt. Ebenso wird dort das Spool Directory der jeweiligen Queue gespeichert.


next up previous contents
Next: Processor Group Up: GET-Funktionen Previous: Storage Group
Copyright Munich Network Management Team