Die Benutzer-API
Der ntwdt-Treiber stellt über IOCTLs eine Schnittstelle für die
Anwendungsprogrammierung bereit. Sie müssen den Geräteknoten /dev/ntwdt
öffnen, bevor Sie die Watchdog-IOCTLs ausgeben können.
Hinweis – Auf /dev/ntwdt ist nur eine einzige open()-Instanz zulässig; wird
versucht, mehrere open()-Instanzen auszuführen, so hat dies die folgende
Fehlermeldung zur Folge: EAGAIN – The driver is busy, try again.
Zur Arbeit mit dem Watchdog-Timer stehen die folgenden IOCTLs zur Verfügung:
■
LOMIOCDOGTIME
LOMIOCDOGCTL
■
■
LOMIOCDOGPAT
LOMIOCDOGSTATE
■
■
LOMIOCALCTL
LOMIOCALSTATE
■
Arbeiten mit dem Watchdog-Timer
Einstellen des Timer-Ablaufwerts
Mit dem IOCTL LOMIOCDOGTIME wird der Ablaufwert des Watchdog-Timers
eingestellt. Der IOCTL programmiert die Watchdog-Hardware mit der angegebenen
Zeitspanne. Sie müssen diese Einstellung (LOMIOCDOGTIME) vornehmen, bevor Sie
den Watchdog-Timer mit LOMIOCDOGCTL aktivieren können.
Bei dem Argument handelt es sich um einen Zeiger auf einen Integerwert ohne
Vorzeichen. Dieser Integerwert muss den neuen Watchdog-Ablaufwert in Sekunden
enthalten. Sie können einen beliebigen Ablaufwert von 1 Sekunde bis 180 Minuten
einstellen.
Wenn die Watchdog-Funktion zum Zeitpunkt dieser Einstellung bereits aktiv ist,
so wird der Ablaufwert zurückgesetzt, damit der neue Wert übernommen werden
kann. Werte von weniger als 1 Sekunde oder mehr als 180 Minuten führen zu einem
Fehler (EINVAL).
Anhang B
Der Anwendungsmodus des Watchdog-Timers
117