Provided by: manpages-fr-dev_3.57d1p1-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.

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.57 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> ».