GETPWENT

Section : Manuel du programmeur Linux (3)
Mise à jour de la version anglaise : 26 juillet 2007
Index Menu principal  

NOM

getpwent, setpwent, endpwent - Lire un enregistrement du fichier des mots de passe  

SYNOPSIS

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

struct passwd *getpwent(void);

void setpwent(void);

void endpwent(void);

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

getpwent(), setpwent(), endpwent() : _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE > = 500  

DESCRIPTION

La fonction getpwent() renvoie un pointeur sur une structure contenant les divers champs d'un enregistrement de la base de données des mots de passe (par exemple, le fichier local des mots de passe /etc/passwd, NIS ou LDAP). Au premier appel, elle renvoie le premier enregistrement, puis les enregistrements suivants lors des appels successifs.

La fonction setpwent() ramène le pointeur de fichier au début de la base de données des mots de passe.

La fonction endpwent() est utilisée pour fermer la base de données des mots de passe lorsque tous les traitements ont été effectués.

La structure passwd est définie dans <pwd.h> ainsi :

struct passwd {
    char   *pw_name;   /* Nom d'utilisateur */
    char   *pw_passwd; /* Mot de passe de l'utilisateur */
    uid_t   pw_uid;    /* Identifiant de l'utilisateur */
    gid_t   pw_gid;    /* Identifiant du groupe */
    char   *pw_gecos;  /* Nom réel */
    char   *pw_dir;    /* Répertoire personnel */
    char   *pw_shell;  /* Interpréteur de commande */
};
 

VALEUR RENVOYÉE

La fonction getpwent() renvoie un pointeur vers une structure passwd ou un pointeur NULL s'il n'y a plus d'enregistrements, ou si une erreur se produit. Si une erreur se produit, errno est renseignée en conséquence. Si vous voulez vérifier errno après l'appel, vous devez la remplir avec zéro avant l'appel.  

ERREURS

EINTR
Un signal a été intercepté.
EIO
Erreur d'entrée-sortie.
EMFILE
Le nombre maximum (OPEN_MAX) de fichiers ouverts par le processus appelant a été atteint.
ENFILE
Le nombre maximum de fichiers ouverts sur le système a été atteint.
ENOMEM
Pas assez de mémoire pour allouer la structure passwd.
ERANGE
Espace tampon fourni insuffisant.
 

FICHIERS

/etc/passwd
Fichier local base de données locale des mots de passe.
 

CONFORMITÉ

SVr4, BSD 4.3, POSIX.1-2001.  

VOIR AUSSI

fgetpwent(3), getpw(3), getpwent_r(3), getpwnam(3), getpwuid(3), putpwent(3), passwd(5)  

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 3 novembre 1996 et révisée le 17 juillet 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 getpwent ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.

 

Index

NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
FICHIERS
CONFORMITÉ
VOIR AUSSI
TRADUCTION

Dernière mise à jour : 17 juillet 2008