Provided by: manpages-fr-dev_3.65d1p1-1_all bug

NOM

       random_r, srandom_r, initstate_r, setstate_r - Générateur de nombres aléatoires réentrant

SYNOPSIS

       #include <stdlib.h>

       int random_r(struct random_data *buf, int32_t *result);

       int srandom_r(unsigned int seed, struct random_data *buf);

       int initstate_r(unsigned int seed, char *statebuf,
                       size_t statelen, struct random_data *buf);
       int setstate_r(char *statebuf, struct random_data *buf);

   Exigences de macros de test de fonctionnalités pour la glibc (consultez feature_test_macros(7)) :

       random_r(), srandom_r(), initstate_r(), setstate_r() :
           _SVID_SOURCE || _BSD_SOURCE

DESCRIPTION

       Ces  fonctions  sont  les  équivalents  réentrants  des  fonctions  décrites  dans  random(3). Elles sont
       appropriées à l'utilisation dans des programmes multithreadés où chaque thread doit pouvoir  obtenir  une
       séquence indépendante et reproductible de nombres aléatoires.

       La  fonction  random_r()  est  identique  à random(3), excepté qu'au lieu d'utiliser l'information d'état
       maintenue dans une variable globale, elle utilise l'information d'état située dans l'argument pointé  par
       buf. Le nombre aléatoire généré est renvoyé dans l'argument result.

       La fonction srandom_r() est identique à srandom(3), excepté qu'elle initialise la graine du générateur de
       nombre aléatoire dont l'état est maintenu dans l'objet pointé par buf, au lieu de la graine associée à la
       variable d'état globale.

       La  fonction  initstate_r()  est  identique à initstate(3) excepté qu'elle initialise l'état dans l'objet
       pointé par buf, plutôt que d'initialiser la variable d'état globale.

       La fonction setstate_r() est identique à setstate(3) excepté qu'elle modifie l'état dans  l'objet  pointé
       par buf, plutôt que de modifier la variable d'état globale.

VALEUR RENVOYÉE

       Toutes  ces  fonctions renvoient 0 en cas de succès. En cas d'erreur, -1 est renvoyé et errno contient le
       code de l'erreur.

ERREURS

       EINVAL Une table d'états de moins de 8 octets a été fournie à initstate_r().

       EINVAL Le paramètre statebuf ou buf de setstate_r() était NULL.

       EINVAL Le paramètre buf ou result de random_r() était NULL.

ATTRIBUTS

   Multithreading (voir pthreads(7))
       Les fonctions random_r(),  srandom_r(),  initstate_r()  et  setstate_r()  sont  sûres  dans  un  contexte
       multithread.

CONFORMITÉ

       Ces fonctions sont des extensions non standard de la glibc.

VOIR AUSSI

       drand48(3), rand(3), random(3)

COLOPHON

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

TRADUCTION

       Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par
       l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

       Nicolas François et l'équipe  francophone  de  traduction  de  Debian (2006-2009).  Nicolas  François  et
       l'équipe francophone de traduction de Debian (2006-2009).

       Veuillez  signaler  toute erreur de traduction en écrivant à <debian-l10n-french@lists.debian.org> ou par
       un rapport de bogue sur le paquet manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « man -L C
       <section> <page_de_man> ».

GNU                                               25 mars 2014                                       RANDOM_R(3)