Provided by: manpages-fr-dev_3.32d0.2p4-1_all bug

NOM

       getgrnam, getgrnam_r, getgrgid, getgrgid_r - Obtenir l'enregistrement d'un groupe

SYNOPSIS

       #include <sys/types.h>
       #include <grp.h>

       struct group *getgrnam(const char *name);

       struct group *getgrgid(gid_t gid);

       int getgrnam_r(const char *name, struct group *grp,
                 char *buf, size_t buflen, struct group **result);

       int getgrgid_r(gid_t gid, struct group *grp,
                 char *buf, size_t buflen, struct group **result);

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

       getgrnam_r(), getgrgid_r() :
           _POSIX_C_SOURCE >= 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE || _POSIX_SOURCE

DESCRIPTION

       La fonction getgrnam() renvoie un pointeur vers une  structure  contenant  les  champs  de
       l'enregistrement de la base de données de groupe (par exemple, le fichier de groupes local
       /etc/group, NIS, et LDAP) correspondant au nom name.

       La fonction getgrgid() renvoie un pointeur vers une  structure  contenant  les  champs  de
       l'enregistrement de la base de données de groupe correspondant au GID gid.

       La structure group est définie dans <grp.h> comme ceci :

           struct group {
               char   *gr_name;       /* nom du groupe */
               char   *gr_passwd;     /* mot de passe du groupe */
               gid_t   gr_gid;        /* ID du groupe */
               char  **gr_mem;        /* membres du groupe */
           };

       Pour plus d'informations à propos des champs de cette structure, consultez group(5).

       Les  fonctions getgrnam_r() et getgrgid_r() fournissent la même information que getgrnam()
       et getgrgid() mais enregistrent la structure group trouvée dans l'espace pointé  par  grp.
       Cette  structure  group  contient  des  pointeurs  vers des chaînes de caractères qui sont
       enregistrées dans le tampon buf de taille buflen. Un pointeur vers le résultat (en cas  de
       succès) ou NULL (au cas où aucune entrée n'ait été trouvée ou qu'une erreur soit survenue)
       est enregistré dans *result.

       La taille maximum nécessaire pour buf peut être récupérée par sysconf(3) avec le paramètre
       _SC_GETGR_R_SIZE_MAX.

VALEUR RENVOYÉE

       Les  fonctions getgrnam() et getgrgid() renvoient un pointeur vers une structure group, ou
       NULL s'il n'y a pas de correspondance, ou si une erreur se produit. Dans ce cas, errno est
       défini  en  conséquence.  Si  on  souhaite  vérifier  errno après l'appel, il devrait être
       positionné à zéro avant l'appel.

       La valeur de retour peut pointer sur une zone de mémoire statique et peut être écrasée par
       des  appels successifs à getgrent(3), getgrgid() ou getgrnam(). (Ne pas passer le pointeur
       renvoyé à free(3).)

       En cas de succès, getgrnam_r() et getgrgid_r() renvoient 0, et définissent *result à  grp.
       Si  aucun enregistrement de groupe de correspondance est trouvé, ces fonctions renvoient 0
       et définissent *result à NULL. En cas d'erreur, un numéro d'erreur est renvoyé et  *result
       est défini à NULL.

ERREURS

       0 ou ENOENT ou ESRCH ou EBADF ou EPERM ou ...
              Le nom name ou l'identifiant gid n'ont pas été trouvés.

       EINTR  Un signal a été intercepté.

       EIO    Erreur d'entrée-sortie.

       EMFILE Le nombre maximal (OPEN_MAX) de fichiers ouverts par le processus est atteint.

       ENFILE Le nombre maximal de fichiers ouverts sur le système est atteint.

       ENOMEM Pas assez de mémoire pour allouer la structure group.

       ERANGE L'espace tampon fourni est insuffisant.

FICHIERS

       /etc/group
              Base de données des groupes locaux

CONFORMITÉ

       SVr4, BSD 4.3, POSIX.1-2001.

NOTES

       La  description  « VALEUR RENVOYÉE » ci-dessus provient de POSIX.1-2001. Elle ne considère
       pas le cas « non trouvé » comme une erreur et ne spécifie pas errno dans ce cas. Cela rend
       la détection d'erreur impossible. On peut dire que, d'après POSIX, errno est inchangé dans
       le cas où aucune entrée n'est trouvée. Des essais sur de nombreux systèmes UNIX  ont  fait
       apparaître  différentes  valeurs dans ce cas : 0, ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM
       et probablement d'autres.

VOIR AUSSI

       endgrent(3), fgetgrent(3), getgrent(3), getpwnam(3), setgrent(3), group(5)

COLOPHON

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

TRADUCTION

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

       Christophe  Blaess  <URL:http://www.blaess.fr/christophe/>   (1996-2003),   Alain   Portal
       <URL:http://manpagesfr.free.fr/>  (2003-2006). Florentin Duneau 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> ».

                                         21 octobre 2010                              GETGRNAM(3)