.\" -*- coding: UTF-8 -*-
'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" References consulted:
.\"     Linux libc source code
.\"     Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\"     386BSD man pages
.\"
.\" Modified 1993-07-24 by Rik Faith (faith@cs.unc.edu)
.\" Modified 2003-11-15 by aeb
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH getgrnam 3 "5 février 2023" "Pages du manuel de Linux 6.03" 
.SH NOM
getgrnam, getgrnam_r, getgrgid, getgrgid_r \- Obtenir l'enregistrement d'un
groupe
.SH BIBLIOTHÈQUE
Bibliothèque C standard (\fIlibc\fP, \fI\-lc\fP)
.SH SYNOPSIS
.nf
\fB#include <sys/types.h>\fP
\fB#include <grp.h>\fP
.PP
\fBstruct group *getgrnam(const char *\fP\fIname\fP\fB);\fP
\fBstruct group *getgrgid(gid_t \fP\fIgid\fP\fB);\fP
.PP
\fBint getgrnam_r(const char *restrict \fP\fIname\fP\fB, struct group *restrict \fP\fIgrp\fP\fB,\fP
\fB               char \fP\fIbuf\fP\fB[restrict .\fP\fIbuflen\fP\fB], size_t \fP\fIbuflen\fP\fB,\fP
\fB               struct group **restrict \fP\fIresult\fP\fB);\fP
\fBint getgrgid_r(gid_t \fP\fIgid\fP\fB, struct group *restrict \fP\fIgrp\fP\fB,\fP
\fB               char \fP\fIbuf\fP\fB[restrict .\fP\fIbuflen\fP\fB], size_t \fP\fIbuflen\fP\fB,\fP
\fB               struct group **restrict \fP\fIresult\fP\fB);\fP
.fi
.PP
.RS -4
Exigences de macros de test de fonctionnalités pour la glibc (consulter
\fBfeature_test_macros\fP(7))\ :
.RE
.PP
\fBgetgrnam_r\fP(), \fBgetgrgid_r\fP()\ :
.nf
    _POSIX_C_SOURCE
        || /* glibc <= 2.19 : */ _BSD_SOURCE || _SVID_SOURCE
.fi
.SH DESCRIPTION
La fonction \fBgetgrnam\fP() renvoie un pointeur vers une structure contenant
les champs de l'enregistrement de la base de données de groupe (par exemple,
le fichier de groupes local \fI/etc/group\fP, NIS, et LDAP) correspondant au
nom \fIname\fP.
.PP
La fonction \fBgetgrgid\fP() renvoie un pointeur vers une structure contenant
les champs de l'enregistrement de la base de données de groupe correspondant
au GID \fIgid\fP.
.PP
La structure \fIgroup\fP est définie dans \fI<grp.h>\fP comme ceci\ :
.PP
.in +4n
.EX
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
                               terminé par un pointeur NULL */
};
.EE
.in
.PP
Pour plus d'informations à propos des champs de cette structure, consultez
\fBgroup\fP(5).
.PP
Les fonctions \fBgetgrnam_r\fP() et \fBgetgrgid_r\fP() fournissent la même
information que \fBgetgrnam\fP() et \fBgetgrgid\fP() mais enregistrent la
structure \fIgroup\fP trouvée dans l'espace pointé par \fIgrp\fP. Cette structure
\fIgroup\fP contient des pointeurs vers des chaînes de caractères qui sont
enregistrées dans le tampon \fIbuf\fP de taille \fIbuflen\fP. Un pointeur vers le
résultat (en cas de succès) ou NULL (au cas où aucune entrée n'ait été
trouvée ou qu'une erreur soit survenue) est enregistré dans \fI*result\fP.
.PP
L'appel
.PP
.in +4n
.EX
sysconf(_SC_GETGR_R_SIZE_MAX)
.EE
.in
.PP
renvoie soit \fB\-1\fP sans modifier \fIerrno\fP, soit une suggestion de taille
initiale pour \fIbuf\fP (si cette taille est trop petite, l'appel échoue avec
\fBERANGE\fP, auquel cas l'appelant peut réessayer avec un tampon plus grand).
.SH "VALEUR RENVOYÉE"
Les fonctions \fBgetgrnam\fP() et \fBgetgrgid\fP() renvoient un pointeur vers une
structure \fIgroup\fP, ou NULL s'il n'y a pas de correspondance, ou si une
erreur se produit. Dans ce cas, \fIerrno\fP est défini pour indiquer
l'erreur. Si on souhaite vérifier \fIerrno\fP après l'appel, il devrait être
positionné à zéro avant l'appel.
.PP
La valeur de retour peut pointer sur une zone de mémoire statique et peut
être écrasée par des appels successifs à \fBgetgrent\fP(3), \fBgetgrgid\fP() ou
\fBgetgrnam\fP(). (Ne pas passer le pointeur renvoyé à \fBfree\fP(3).)
.PP
En cas de succès, \fBgetgrnam_r\fP() et \fBgetgrgid_r\fP() renvoient \fB0\fP, et
définissent \fI*result\fP à \fIgrp\fP. Si aucun enregistrement de groupe de
correspondance est trouvé, ces fonctions renvoient \fB0\fP et définissent
\fI*result\fP à NULL. En cas d'erreur, un numéro d'erreur est renvoyé et
\fI*result\fP est défini à NULL.
.SH ERREURS
.TP 
\fB0\fP ou \fBENOENT\fP ou \fBESRCH\fP ou \fBEBADF\fP ou \fBEPERM\fP ou ...
Le nom \fIname\fP ou l'identifiant \fIgid\fP n'ont pas été trouvés.
.TP 
\fBEINTR\fP
Un signal a été intercepté\ ; consultez \fBsignal\fP(7).
.TP 
\fBEIO\fP
Erreur d'entrée\-sortie.
.TP 
\fBEMFILE\fP
La limite du nombre de descripteurs de fichiers par processus a été
atteinte.
.TP 
\fBENFILE\fP
La limite du nombre total de fichiers ouverts pour le système entier a été
atteinte.
.TP 
\fBENOMEM\fP
.\" not in POSIX
.\" to allocate the group structure, or to allocate buffers
Pas assez de mémoire pour allouer la structure \fIgroup\fP.
.TP 
\fBERANGE\fP
L'espace tampon fourni est insuffisant.
.SH FICHIERS
.TP 
\fI/etc/group\fP
Base de données des groupes locaux
.SH ATTRIBUTS
Pour une explication des termes utilisés dans cette section, consulter
\fBattributes\fP(7).
.ad l
.nh
.TS
allbox;
lb lb lbx
l l l.
Interface	Attribut	Valeur
T{
\fBgetgrnam\fP()
T}	Sécurité des threads	T{
MT\-Unsafe race:grnam locale
T}
T{
\fBgetgrgid\fP()
T}	Sécurité des threads	T{
MT\-Unsafe race:grgid locale
T}
T{
\fBgetgrnam_r\fP(),
\fBgetgrgid_r\fP()
T}	Sécurité des threads	MT\-Safe locale
.TE
.hy
.ad
.sp 1
.SH STANDARDS
POSIX.1\-2001, POSIX.1\-2008, SVr4, 4.3BSD.
.SH NOTES
.\" POSIX.1-2001, POSIX.1-2008
.\" more precisely:
.\" AIX 5.1 - gives ESRCH
.\" OSF1 4.0g - gives EWOULDBLOCK
.\" libc, glibc up to glibc 2.6, Irix 6.5 - give ENOENT
.\" since glibc 2.7 - give 0
.\" FreeBSD 4.8, OpenBSD 3.2, NetBSD 1.6 - give EPERM
.\" SunOS 5.8 - gives EBADF
.\" Tru64 5.1b, HP-UX-11i, SunOS 5.7 - give 0
La description «\ VALEUR RENVOYÉE\ » ci\-dessus provient de POSIX.1. Elle ne
considère pas le cas «\ non trouvé\ » comme une erreur et ne spécifie pas
\fIerrno\fP dans ce cas. Cela rend la détection d'erreur impossible. On peut
dire que, d'après POSIX, \fIerrno\fP 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\ : \fB0\fP, ENOENT, EBADF, ESRCH, EWOULDBLOCK,
EPERM et probablement d'autres.
.SH "VOIR AUSSI"
\fBendgrent\fP(3), \fBfgetgrent\fP(3), \fBgetgrent\fP(3), \fBgetpwnam\fP(3),
\fBsetgrent\fP(3), \fBgroup\fP(5)
.PP
.SH TRADUCTION
La traduction française de cette page de manuel a été créée par
Christophe Blaess <https://www.blaess.fr/christophe/>,
Stéphan Rafin <stephan.rafin@laposte.net>,
Thierry Vignaud <tvignaud@mandriva.com>,
François Micaux,
Alain Portal <aportal@univ-montp2.fr>,
Jean-Philippe Guérard <fevrier@tigreraye.org>,
Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>,
Julien Cristau <jcristau@debian.org>,
Thomas Huriaux <thomas.huriaux@gmail.com>,
Nicolas François <nicolas.francois@centraliens.net>,
Florentin Duneau <fduneau@gmail.com>,
Simon Paillard <simon.paillard@resel.enst-bretagne.fr>,
Denis Barbier <barbier@debian.org>
et
David Prévot <david@tilapin.org>
.
.PP
Cette traduction est une documentation libre ; veuillez vous reporter à la
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License version 3
.UE
concernant les conditions de copie et 
de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
.PP
Si vous découvrez un bogue dans la traduction de cette page de manuel, 
veuillez envoyer un message à
.MT debian-l10n-french@lists.debian.org
.ME .