Provided by: manpages-fr-dev_4.19.0-7_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.

BIBLIOTHÈQUE

       Bibliothèque C standard (libc, -lc)

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() date de la glibc 2.16
       et __ppc_get_timebase_freq() est disponible depuis la glibc 2.17.

STANDARDS

       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;

           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)

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