NOM
getgrent, setgrent, endgrent - Lire les enregistrements du fichier de
groupes
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 (voir
feature_test_macros(7)) :
getgrent(), setgrent(), endgrent() : _SVID_SOURCE || _BSD_SOURCE ||
_XOPEN_SOURCE >= 500
La fonction getgrent() renvoie un pointeur sur une structure contenant
les champs d’un enregistrement de la base de données de groupe (par
exemple, le fichier de groupe local /etc/group, NIS ou LDAP). Au
premier appel, elle 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
données de groupe pour permettre des balayages répétitifs.
La fonction endgrent() est utilisée pour fermer la base de données de
groupe après que toutes les actions aient été réalisées.
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 */
};
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érifier sa valeur, il est nécessaire de la positionner à 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(), getgrgid(3)
ou getgrnam(3). (Ne pas passer le pointeur renvoyé à free(3).)
ERREURS
EINTR Un signal a été intercepté.
EIO Erreur d’entrée-sortie.
EMFILE Le nombre maximal de fichiers ouverts pour 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.
VOIR AUSSI
fgetgrent(3), getgrent_r(3), getgrgid(3), getgrnam(3), getgrouplist(3),
putgrent(3)
COLOPHON
Cette page fait partie de la publication 3.23 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
Cette page de manuel a été traduite et mise à jour par Christophe
Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par
Alain Portal <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à
disposition sur http://manpagesfr.free.fr/.
Les mises à jour et corrections de la version présente dans Debian sont
directement gérées par Florentin Duneau <fduneau@gmail.com> et l’équipe
francophone de traduction de Debian.
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> ».
30 mars 2009