Scroll to navigation

GETGRENT(3) Manuel du programmeur Linux GETGRENT(3)

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

DESCRIPTION

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

Un signal a été intercepté.
Erreur d'entrée-sortie.
Le nombre maximal de fichiers ouverts pour le processus est atteint.
Le nombre maximal de fichiers ouverts sur le système est atteint.
Pas assez de mémoire pour allouer la structure group.
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 <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://alioth.debian.org/projects/perkamon/>.

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 à <perkamon-l10n-fr@lists.alioth.debian.org>.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».

30 mars 2009