getgrent(3) Library Functions Manual getgrent(3) NOM getgrent, setgrent, endgrent - Lire les enregistrements du fichier de groupes BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS #include #include struct group *getgrent(void); void setgrent(void); void endgrent(void); Exigences de macros de test de fonctionnalites 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 anterieures : _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 donnees des groupes (par exemple, le fichier de groupes local /etc/group, NIS ou LDAP). Au premier appel, getgrent() renvoie le premier enregistrement, puis les autres enregistrements lors des appels successifs. La fonction setgrent() ramene le pointeur au debut de la base de donnees de groupes pour permettre des balayages repetitifs. La fonction endgrent() est utilisee pour fermer la base de donnees de groupes apres que toutes les actions ont ete realisees. La structure group est definie dans 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 termine par un pointeur NULL */ }; Pour plus d'informations a propos des champs de cette structure, consultez group(5). VALEUR RENVOYEE 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 etre positionnee. Si vous souhaitez verifier sa valeur, il est necessaire de la positionner a zero avant l'appel. La valeur de retour peut pointer sur une zone de memoire statique et peut etre ecrasee par des appels successifs a getgrent(), getgrgid(3) ou getgrnam(3) (ne pas passer le pointeur renvoye a free(3)). ERREURS EAGAIN Le service etait temporairement indisponible ; reessayez plus tard. Pour les services NSS dans la glibc, cela indique la survenue d'une erreur temporaire lors de la communication avec ces services. L'erreur etant susceptible de se corriger d'elle-meme, il est suggere de reessayer plus tard. EINTR Un signal a ete intercepte ; consultez signal(7). EIO Erreur d'entree-sortie. EMFILE La limite du nombre de descripteurs de fichiers par processus a ete atteinte. ENFILE La limite du nombre total de fichiers ouverts pour le systeme entier a ete atteinte. ENOENT Un fichier d'entree necessaire n'a pas ete trouve. Pour les services NSS dans la glibc, cela indique que le service concerne n'est pas configure correctement. ENOMEM Pas assez de memoire pour allouer la structure group. ERANGE L'espace tampon fourni est insuffisant. FICHIERS /etc/group Base de donnees des groupes locaux ATTRIBUTS Pour une explication des termes utilises dans cette section, consulter attributes(7). +------------+--------------------------+------------------------------+ |Interface | Attribut | Valeur | +------------+--------------------------+------------------------------+ |getgrent() | Securite des threads | MT-Unsafe race:grent | | | | race:grentbuf locale | +------------+--------------------------+------------------------------+ |setgrent(), | Securite 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 utilisee en parallele dans differents threads d'un programme, une situation de competition de donnees pourrait se produire. STANDARDS POSIX.1-2008. HISTORIQUE POSIX.1-2001, SVr4, 4.3BSD. VOIR AUSSI fgetgrent(3), getgrent_r(3), getgrgid(3), getgrnam(3), getgrouplist(3), putgrent(3), group(5) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot et Lucien Gentis Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 getgrent(3)