GETGRNAM

Section: Manuel du programmeur Linux (3)
Updated: 21 juillet 2003
Index


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

NOM

getgrnam, getgrgid - Obtenir l'enregistrement d'un goupe.

SYNOPSIS

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

struct group *getgrnam (const char *name);

struct group *getgrgid (gid_t gid);

DESCRIPTION

La fonction getgrnam() renvoie un pointeur sur structure contenant l'enregistrement issus de /etc/group pour le groupe correspondant au nom name.
La fonction getgrgid() renvoie un pointeur sur structure contenant l'enregistrement issus de /etc/group pour le groupe correspondant a l'ID gid.
La structure group est définie dans <grp.h> ainsi :

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

Les fonctions getgrnam() et getgrgid() renvoient un pointeur sur la structure du groupe, ou NULL s'il n'y a pas de groupe correspondant aux données, ou si une erreur se produit. Dans ce cas, errno est rempli.
La valeur de retour peut pointer sur une zone de mémoire statique, et peut être écrasée par des appels ultérieurs.

ERREURS

0 ou ENOENT ou ESRCH ou EBADF ou EPERM ou ...
Le nom name ou l'identifiant gid n'ont pas été trouvés.
ENOMEM
Pas assez de mémoire.
EIO
Erreur d'entrée/sortie.
EINTR
Un signal a été capturé.
EMFILE
Le nombre maximal (OPEN_MAX) de fichiers ouverts pour le processus est atteint.
ENFILE
Le nombre maximal de fichiers ouverts sur le système est atteint.

FICHIERS

/etc/group
Base de données des groupes.

CONFORMITÉ

SVID 3, POSIX, BSD 4.3

NOTES

La description "VALEUR RENVOYÉE" ci-dessu vient de Posix.1-2001. Elle ne considère pas le cas "non trouvé" commme une erreur, et ne spécifie pas errno dans ce cas. Cela rend la détection d'erreur impossible. On peut dire que d'après Posix, errno est inchangé dans le cas où aucune entrée n'est trouvée. Des essais sur de nombreux systèmes Unix ont fait apparaître différentes valeurs dans ce cas : 0, ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM et probablement d'autres.

VOIR AUSSI

TRADUCTION

Christophe Blaess, 1996-2003.