dwww Home | Manual pages | Find package

getgrent(3)                Library Functions Manual                getgrent(3)

NOM
       getgrent,  setgrent,  endgrent - Lire les enregistrements du fichier de
       groupes

BIBLIOTHÈQUE
       Bibliothèque C standard (libc, -lc)

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

       struct group *getgrent(void);

       void setgrent(void);
       void endgrent(void);

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

       setgrent() :
           _XOPEN_SOURCE >= 500
               || /* glibc >= 2.19 : */ _DEFAULT_SOURCE
               || /* glibc <= 2.19 : */ _BSD_SOURCE || _SVID_SOURCE

       getgrent(), endgrent() :
           Depuis la glibc 2.22 :
               _XOPEN_SOURCE >= 500 || _DEFAULT_SOURCE
           glibc 2.21 et antérieures :
               _XOPEN_SOURCE >= 500
                   || /* Depuis la glibc 2.12 : */ _POSIX_C_SOURCE >= 200809L
                   || /* glibc <= 2.19 : */ _BSD_SOURCE || _SVID_SOURCE

DESCRIPTION
       La  fonction getgrent() renvoie un pointeur sur une structure contenant
       les champs d'un enregistrement de la base de données des  groupes  (par
       exemple,  le fichier de groupes local /etc/group, NIS ou LDAP). Au pre-
       mier appel, getgrent() renvoie  le  premier  enregistrement,  puis  les
       autres enregistrements lors des appels successifs.

       La  fonction  setgrent() ramène le pointeur au début de la base de don-
       nées de groupes pour permettre des balayages répétitifs.

       La fonction endgrent() est utilisée pour fermer la base de  données  de
       groupes après que toutes les actions ont été réalisées.

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

           struct group {
               char   *gr_name;        /* nom de groupe */
               char   *gr_passwd;      /* mot de passe de groupe */
               gid_t   gr_gid;         /* identifiant de groupe */
               char  **gr_mem;         /* tableau de pointeurs de nom des membres de groupe
                                          terminé par un pointeur NULL */
           };

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

VALEUR RENVOYÉE
       La fonction getgrent() renvoie un pointeur vers une structure group  ou
       un  pointeur NULL s'il n'y a plus d'enregistrement, ou si une erreur se
       produit.

       En cas d'erreur, errno peut être positionnée. Si vous  souhaitez  véri-
       fier  sa valeur, il est nécessaire de la positionner à zéro avant l'ap-
       pel.

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

ERREURS
       EAGAIN Le service était temporairement  indisponible ;  réessayez  plus
              tard.  Pour les services NSS dans la glibc, cela indique la sur-
              venue d'une erreur temporaire lors de la communication avec  ces
              services. L'erreur étant susceptible de se corriger d'elle-même,
              il est suggéré de réessayer plus tard.

       EINTR  Un signal a été intercepté ; consultez signal(7).

       EIO    Erreur d'entrée-sortie.

       EMFILE La limite du nombre de descripteurs de fichiers par processus  a
              été atteinte.

       ENFILE La  limite  du  nombre total de fichiers ouverts pour le système
              entier a été atteinte.

       ENOENT Un fichier d'entrée nécessaire n'a pas été trouvé. Pour les ser-
              vices  NSS  dans  la glibc, cela indique que le service concerné
              n'est pas configuré correctement.

       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 locale des groupes.

ATTRIBUTS
       Pour une explication des termes utilisés dans cette section,  consulter
       attributes(7).

       ┌────────────┬──────────────────────┬──────────────────────────────────┐
       │InterfaceAttributValeur                           │
       ├────────────┼──────────────────────┼──────────────────────────────────┤
       │getgrent()  │ Sécurité des threads │ MT-Unsafe race:grent             │
       │            │                      │ race:grentbuf locale             │
       ├────────────┼──────────────────────┼──────────────────────────────────┤
       │setgrent(), │ Sécurité des threads │ MT-Unsafe race:grent locale      │
       │endgrent()  │                      │                                  │
       └────────────┴──────────────────────┴──────────────────────────────────┘

       Dans  la table ci-dessus, grent dans race:grent signifie que si une des
       fonctions setgrent(), getgrent() ou endgrent() est utilisée  en  paral-
       lèle  dans différents threads d'un programme, une situation de compéti-
       tion de données pourrait se produire.

STANDARDS
       POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.

VOIR AUSSI
       fgetgrent(3), getgrent_r(3), getgrgid(3), getgrnam(3), getgrouplist(3),
       putgrent(3), group(5)

TRADUCTION
       La  traduction française de cette page de manuel a été créée par Chris-
       tophe Blaess <https://www.blaess.fr/christophe/>, Stéphan  Rafin  <ste-
       phan.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.cou-
       lon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>,  Thomas  Huriaux
       <thomas.huriaux@gmail.com>,  Nicolas François <nicolas.francois@centra-
       liens.net>, Florentin Duneau <fduneau@gmail.com>, Simon  Paillard  <si-
       mon.paillard@resel.enst-bretagne.fr>,    Denis   Barbier   <barbier@de-
       bian.org>, David  Prévot  <david@tilapin.org>  et  Lucien  Gentis  <lu-
       cien.gentis@waika9.com>

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

Pages du manuel de Linux 6.03   5 février 2023                     getgrent(3)

Generated by dwww version 1.15 on Sat Jun 29 00:39:57 CEST 2024.