Provided by: manpages-fr-dev_4.13-4_all bug

__PPC_GET_TIMEBASE(3)                      Manuel du programmeur Linux                     __PPC_GET_TIMEBASE(3)

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.10 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 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.

Bibliothèque GNU C                                 9 juin 2020                             __PPC_GET_TIMEBASE(3)