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