Provided by: manpages-fr-dev_4.15.0-9_all bug

NOM

       __ppc_get_timebase, __ppc_get_timebase_freq - Récupérer la valeur courante
        et la fréquence du Registre de Base Temporelle sur l'architecture Power.

SYNOPSIS

       #include <sys/platform/ppc.h>

       uint64_t __ppc_get_timebase(void);
       uint64_t __ppc_get_timebase_freq(void);

DESCRIPTION

       __ppc_get_timebase()  lit  et  renvoie  la  valeur courante du Registre de Base Temporelle
       alors que __ppc_get_timebase_freq() renvoie la fréquence à laquelle le  Registre  de  Base
       Temporelle est mis à jour.

       Le  Registre de Base Temporelle est un registre de 64 bits disponibles sur les processeurs
       d'architecture Power. Il stocke une valeur incrémentée de façon monotone et mise à jour  à
       une fréquence qui dépend du système et qui peut être différente de celle du processeur.

VALEUR RENVOYÉE

       __ppc_get_timebase()  renvoie  un  entier  non  signé  de 64 bits qui représente la valeur
       courante du Registre de Base Temporelle.

       __ppc_get_timebase_freq() renvoie un  entier  non  signé  de  64 bits  qui  représente  la
       fréquence à laquelle le Registre de Base Temporelle est mis à jour.

VERSIONS

       La   prise   en   charge   par   la  bibliothèque  GNU C  de  __ppc_get_timebase()  et  de
       __ppc_get_timebase_freq() date de la version 2.16 et 2.17 respectivement.

CONFORMITÉ

       Ces fonctions sont des extensions GNU non standard.

EXEMPLES

       Le programme suivant  calcule  le  temps  en  microsecondes  passé  entre  deux  appels  à
       __ppc_get_timebase().

   Source du programme

       #include <inttypes.h>
       #include <stdint.h>
       #include <stdio.h>
       #include <stdlib.h>
       #include <sys/platform/ppc.h>

       /* Valeur maximale du Registre de Base Temporelle : 2^60 - 1.
          Source: POWER ISA. */
       #define MAX_TB 0xFFFFFFFFFFFFFFF

       int
       main(void)
       {
           uint64_t tb1, tb2, diff;

           uint64_t freq = __ppc_get_timebase_freq();
           printf("Fréquence de la Base Temporelle = %"PRIu64" Hz\n", freq);

           tb1 = __ppc_get_timebase();

           // Faire quelque chose ...

           tb2 = __ppc_get_timebase();

           if (tb2 > tb1) {
               diff = tb2 - tb1;
           } else {
               /* Traiter le dépassement du Registre de Base Temporelle. */
               diff = (MAX_TB - tb2) + tb1;
           }

           printf("Temps écoulé = %1.2f usecs\n",
                   (double) diff * 1000000 / freq );

           exit(EXIT_SUCCESS);
       }

VOIR AUSSI

       time(2), usleep(3)

COLOPHON

       Cette  page  fait partie de la publication 5.13 du projet man-pages Linux. Une description
       du projet et des instructions pour signaler des anomalies et la dernière version de  cette
       page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION

       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>,  David  Prévot  <david@tilapin.org>   et   Grégoire   Scano
       <gregoire.scano@malloc.fr>

       Cette  traduction  est  une  documentation libre ; veuillez vous reporter à la GNU General
       Public  License  version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   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⟩.