Abfragen des Watchdog-Timerstatus
Der IOCTL LOMIOCDOGSTATE fragt den Status der Watchdog- und
Zurücksetzungsfunktion sowie den aktuellen Timer-Ablaufwert ab. Wenn vor dem
Aufruf dieses IOCTL nicht zunächst LOMIOCDOGSTATE aufgerufen wurde, um den
Timer-Ablaufwert einzustellen, ist die Watchdog-Hardware nicht aktiviert.
Bei dem Argument handelt es sich um einen Zeiger auf die Struktur
lom_dogstate_t (näher beschrieben in
Datenstrukturen" auf Seite
Status des Watchdog-Neustartschaltkreises und das aktuelle Watchdog-Zeitlimit auf.
Dabei handelt es sich nicht um die Restlaufzeit, bis die Watchdog-Funktion ausgelöst
wird.
Voraussetzung für den Aufruf des IOCTL LOMIOCDOGSTATE ist lediglich, dass
zuvor open() erfolgreich aufgerufen wurde. Anschließend kann dieser IOCTL
beliebig oft nach open() ausgeführt werden, ohne dass der Aufruf irgendwelcher
anderer DOG-IOCTLs erforderlich wäre.
Speicherort und Definition von Datenstrukturen
Alle Datenstrukturen und IOCTLs sind in der Datei lom_io.h, definiert, die Teil
des Pakets SUNWlomh ist.
Die Datenstrukturen für den Watchdog-Timer sind im Folgenden beschrieben:
Die Datenstruktur für den Status des Watchdog-Timers und der
■
Zurücksetzungsfunktion ist wie folgt definiert:
Datenstruktur für Status des Watchdog-Timers/der
CODE BEISPIEL A-1
Zurücksetzungsfunktion
typedef struct {
int reset_enable; /* reset enabled if non-zero */
int dog_enable; /* watchdog enabled if non-zero */
uint_t dog_timeout; /* Current watchdog timeout */
} lom_dogstate_t;
Die Steuerdatenstruktur für den Watchdog-Timer und die
■
Zurücksetzungsfunktion ist wie folgt definiert:
Steuerdatenstruktur für Watchdog-Timer/Zurücksetzungsfunktion
CODE BEISPIEL A-2
typedef struct {
„Speicherort und Definition von
99). Die Member der Struktur nehmen den aktuellen
Anhang A
Der Anwendungsmodus des Watchdog-Timers
99