gettimer, settimer, restimer, stime ou time Sous-routine
Objectif
Extrait ou définit la valeur en cours du temporisateur système spécifié.
Bibliothèque
Bibliothèque C standard (libc.a)
Syntaxe
#include <sys/time.h>
#include <sys/types.h>
#include <sys/timers.h>
#include <sys/types.h>
int TimerType;
struct timestruc_t *Resolution, *MaximumValue;
long *Tp;
#include <sys/types.h> time_t time(Tp)
time_t *Tp; Descriptif
La sous-routine settimer est utilisée pour définir la valeur actuelle du paramètre TimePointer pour le temporisateur à l'échelle du système, spécifié par le paramètre TimerType .
Lorsque la sous-routine gettimer est utilisée avec le prototype de fonction dans sys/timers.h, à l'exception des paramètres, la sous-routine gettimer est identique à la sous-routine getinterval . L'utilisation de la sous-routine getinterval est recommandée, sauf si la sous-routine gettimer est requise pour une application conforme aux normes. La description et la sémantique de la sous-routine gettimer sont susceptibles de changer d'une édition à l'autre, en attente de modifications dans le projet de norme sur lequel repose la description de la sous-routine gettimer en cours.
Lorsque la sous-routine gettimer est utilisée avec le prototype de fonction dans /sys/timers.h, la sous-routine gettimer renvoie une structure itimerspec au pointeur spécifié par le paramètre Valeur . Le membre it_value de la structure itimerspec représente la durée de l'intervalle en cours avant l'expiration du temporisateur (spécifié par le paramètre TimerType ) ou un intervalle de zéro si le temporisateur est désactivé. Les membres du pointeur spécifié par le paramètre Valeur sont soumis à la résolution du temporisateur.
Lorsque la sous-routine gettimer est utilisée avec le prototype de fonction dans sys/time.h, la sous-routine gettimer renvoie une structure timestruc au pointeur spécifié par le paramètre Valeur . Cette structure contient la valeur en cours du temporisateur à l'échelle du système spécifié par le paramètre Valeur .
La résolution de n'importe quel temporisateur peut être obtenue par la sous-routine restimer . Le paramètre Résolution représente la résolution du temporisateur spécifié. Le paramètre MaximumValue représente la valeur maximale possible du temporisateur. La valeur de ces paramètres correspond à la résolution acceptée par la sous-routine settimer .
La sous-routine time renvoie le temps en secondes depuis l'époque (c'est-à-dire 00:00:00 GMT, 1er janvier 1970). Le paramètre Tp pointe vers une zone où la valeur de retour est également stockée. Si le paramètre Tp est un pointeur null, aucune valeur n'est stockée.
La sous-routine stime est mise en œuvre pour assurer la compatibilité avec les anciens systèmes AIX, AT&T System V et BSD. Il appelle la sous-routine settimer à l'aide du temporisateur TIMEOFDAY .
Paramètres
| Article | Descriptif |
|---|---|
| Valeur | Pointe vers une structure de type itimerspec. |
| TimerType | Indique le temporisateur à l'échelle du système:
|
| TimePointer | Pointe vers une structure de type struct timestruc_t. |
| Résolution | Résolution d'un temporisateur spécifié. |
| MaximumValue | Valeur maximale du temporisateur possible. |
| Tp | Pointe vers une structure contenant le temps en secondes. |
Valeurs renvoyées
Les sous-routines gettimer, settimer, restimeret stime renvoient la valeur 0 (zéro) si l'appel aboutit. Une valeur de retour de -1 indique qu'une erreur s'est produite, et errno est défini.
La sous-routine time renvoie la valeur de temps en secondes depuis Epoch. Sinon, la valeur ((time_t)-1) est renvoyée et la variable globale errno est définie pour indiquer l'erreur.
Codes d'erreur
Si une erreur se produit dans la sous-routine gettimer, settimer, restimerou stime , une valeur de retour de-1 est reçue et la variable globale errno est définie sur l'un des codes d'erreur suivants:
| Article | Descriptif |
|---|---|
| EINVAL | Le paramètre TimerType ne spécifie pas de temporisateur connu à l'échelle du système, ou le paramètre TimePointer de la sous-routine settimer est en dehors de la plage pour le temporisateur spécifié à l'échelle du système. |
| EFAULT | Une mémoire référencée par une adresse de paramètre n'était pas valide. |
| EIO | Une erreur s'est produite lors de l'accès à l'unité de temporisation. |
| EPERM | Le processus demandeur ne dispose pas des droits appropriés pour définir le temporisateur spécifié. |
Si la sous-routine de temps échoue, la valeur de retour est -1 et la variable globale errno prend la valeur suivante :
| Article | Descriptif |
|---|---|
| EFAULT | Une mémoire référencée par une adresse de paramètre n'était pas valide. |