hrtalarm(3C) hrtalarm(3C)
NAME
hrtalarm - Alarmfunktion für hochauflösenden Zeitgeber
SYNTAX
#include <sys/hrtcntl.h>
int hrtalarm(hrtcmdt *cmdp, int cmds);
BESCHREIBUNG
hrtalarm() liefert eine Schnittstelle für die Alarmfunktion hochauflö-
sender oder Intervallzeitgeber (high resolution timer). cmds bestimmt
die Anzahl der Kommandos für den Systemaufruf.
Die folgende Struktur hrtcmd ist in <sys/hrtcntl.h> definiert und wird
von hrtalarm() genutzt:
typedef struct hrtcmd {
int hrtccmd; /* Zeitgeber-Kommando */
int hrtcclk; /* Typ der Uhr */
hrtimet hrtcint; /* Zeitintervall */
hrtimet hrtctod; /* Tageszeit */
int hrtcflags; /* Verschiedene Flags */
int hrtcerror; /* Fehler-Code */
ecbt hrtcecb; /* Ereignis-Kontrollblock */
} hrtcmdt;
hrtccmd unterstützt die folgenden Kommandotypen:
HRTBSD
Startet einen Zeitgeber und sendet nach Ablauf der Zeit ein
Alarmsignal.
HRTRBSD
Sendet nach Ablauf der Zeit wiederholt ein Alarmsignal.
HRTBSDREP
Sendet nach Ablauf der Zeit abhängig vom Feld hrtctod wie-
derholt ein Alarmsignal.
HRTBSDPEND
Bestimmt die verbleibende Zeit bis zu einem Alarm.
HRTBSDCANCEL
Entfernt aus der Warteschlange einen Alarm.
hrtcclk bestimmt den Uhrtyp und das Signal, das bei den Kommandos
HRTBSD bzw. HRTRBSD gesendet wurde:
CLKSTD
Standard-Realzeit-Uhr. Nach Ablauf der Zeit wird das Signal
SIGALRM an den Prozeß gesendet.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
hrtalarm(3C) hrtalarm(3C)
CLKUSERVIRT
Uhr, die die virtuelle Prozeßzeit [Zeit des Prozesses im
Benutzermodus (user mode)] mißt. Nach Ablauf der Zeit wird
das Signal SIGVTALRM an den Prozeß gesendet.
CLKPROCVIRT
Uhr, die sowohl die virtuelle Prozeßzeit als auch die Real-
zeit [Zeit des Prozesses im Benutzer- und im Systemmodus
(user and sys mode)] mißt. Nach Ablauf der Zeit wird das
Signal SIGPROF an den Prozeß gesendet.
hrtcint bestimmt das Zeitintervall, die Zeitauflösung und den Sekun-
denbruchteil.
ERGEBNIS
hrtalarm() liefert die Anzahl erfolgreich ausgeführter Aufrufe zurück.
hrtcerror enthält für jedes ausgeführte Kommando die Fehlernummer
oder 0.
EINVAL cmds ist nicht positiv.
EINVAL Unbekanntes Zeitgeberkommando.
EINVAL Unzulässiger hrtcclk-Wert.
EFAULT cmdp zeigt außerhalb des allokierten Adreßraums des Prozes-
ses.
ENOPKG Das Zeitgeberkommando wird nicht unterstützt.
ERANGE Der Wert von hrtcint ist kleiner 0, oder das Intervall ist
zu klein.
EAGAIN Alle Zeitgeberstrukturen sind zur Zeit benutzt.
HINWEISE
Die Funktionen hrtsleep() und hrtcancel() werden nicht unterstützt und
liefern nur den Fehler ENOPKG.
SIEHE AUCH
signal(2), getitimer(3C), hrtcntl(3C).
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98