timeradd(3) | Library Functions Manual | timeradd(3) |
timeradd, timersub, timercmp, timerclear, timerisset - Opération timeval
Bibliothèque C standard (libc, -lc)
#include <sys/time.h>
void timeradd(struct timeval *a, struct timeval *b, struct timeval *res); void timersub(struct timeval *a, struct timeval *b, struct timeval *res);
void timerclear(struct timeval *tvp); int timerisset(struct timeval *tvp);
int timercmp(struct timeval *a, struct timeval *b, CMP);
Pour toutes les fonctions ci-dessus :
Depuis la glibc 2.19 :
_DEFAULT_SOURCE
glibc 2.19 et antérieures :
_BSD_SOURCE
Les macros sont fournies pour agir sur des structures timeval, définie dans <sys/time.h> par :
struct timeval {
time_t tv_sec; /* secondes */
suseconds_t tv_usec; /* microsecondes */ };
timeradd() ajoute les valeurs des temps a et b et place le résultat dans la structure timeval pointé par res. Le résultat est normalisé de telle sorte que res->tv_usec ait une valeur comprise entre 0 et 999 999.
timersub() soustrait la valeur du temps b de la valeur du temps a et place le résultat dans la structure timeval pointée par res. Le résultat est normalisé de telle sorte que res->tv_usec ait une valeur comprise entre 0 et 999 999.
timerclear() met à zéro la structure timeval pointée par tvp de telle sorte qu'elle représente l'époque : 1er janvier 1970 à 00:00:00 (UTC).
timerisset() renvoie vrai (non nul) si un des champs de la structure timeval pointée par tvp contient une valeur non nulle.
timercmp() compare les valeurs de timer de a et b en utilisant l'opérateur de comparaison CMP et renvoie vrai (non nul) ou faux (0) en fonction du résultat de la comparaison. Certains systèmes (mais pas Linux avec la glibc), ont une mauvaise implémentation de timercmp(), avec laquelle les valeurs >=, <= et == de CMP ne marchent pas ; les applications portables peuvent utiliser à la place :
!timercmp(..., <) !timercmp(..., >) !timercmp(..., !=)
timerisset() et timercmp() renvoie vrai (non nul) ou faux (0).
Aucune erreur n'est définie.
Pas dans POSIX.1. Présentes dans la plupart des dérivées de BSD.
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org> et David Prévot <david@tilapin.org>
Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.
5 février 2023 | Pages du manuel de Linux 6.03 |