.\" -*- coding: UTF-8 -*-
'\" t
.\" Copyright 2003 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
.\" Polished a bit, added a little, aeb
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH setaliasent 3 "15 décembre 2022" "Pages du manuel de Linux 6.03" 
.SH NOM
setaliasent, endaliasent, getaliasent, getaliasent_r, getaliasbyname,
getaliasbyname_r \- Lire une entrée alias
.SH BIBLIOTHÈQUE
Bibliothèque C standard (\fIlibc\fP, \fI\-lc\fP)
.SH SYNOPSIS
.nf
\fB#include <aliases.h>\fP
.PP
\fBvoid setaliasent(void);\fP
\fBvoid endaliasent(void);\fP
.PP
\fBstruct aliasent *getaliasent(void);\fP
\fBint getaliasent_r(struct aliasent *restrict \fP\fIresult\fP\fB,\fP
\fB                     char \fP\fIbuffer\fP\fB[restrict .\fP\fIbuflen\fP\fB], size_t \fP\fIbuflen\fP\fB,\fP
\fB                     struct aliasent **restrict \fP\fIres\fP\fB);\fP
.PP
\fBstruct aliasent *getaliasbyname(const char *\fP\fIname\fP\fB);\fP
\fBint getaliasbyname_r(const char *restrict \fP\fIname\fP\fB,\fP
\fB                     struct aliasent *restrict \fP\fIresult\fP\fB,\fP
\fB                     char \fP\fIbuffer\fP\fB[restrict .\fP\fIbuflen\fP\fB], size_t \fP\fIbuflen\fP\fB,\fP
\fB                     struct aliasent **restrict \fP\fIres\fP\fB);\fP
.fi
.SH DESCRIPTION
Une des bases de données disponibles avec le «\ Name Service Switch\ » (NSS)
est la base de données des alias qui contient les alias de mail (pour savoir
quelles bases de données sont supportées, taper la commande «\ \fIgetent \-\-help\fP\ »). Six fonctions sont fournies pour accéder à la base de données
des alias.
.PP
La fonction \fBgetaliasent\fP() renvoie un pointeur sur une structure contenant
l'information de groupe dans la base de données des alias. Le premier appel
de cette fonction permet de retourner la première entrée\ ; les appels
suivants retourneront les entrées successives.
.PP
La fonction \fBsetaliasent\fP() positionne le pointeur de fichier au début de
la base de données des alias.
.PP
La fonction \fBendaliasent\fP() ferme la base de données des alias.
.PP
\fBgetaliasent_r\fP() est la version réentrante de la fonction
\fBgetaliasent\fP(). La structure recherchée est enregistrée via le premier
argument mais le programmeur doit également renseigner les autres
arguments. Ne pas fournir suffisamment d'espace provoquera l'échec de la
fonction.
.PP
La fonction \fBgetaliasbyname\fP() prend en argument «\ name\ » et cherche dans
la base de données des alias. L'entrée est retournée sous forme de pointeur
vers une structure \fIaliasent\fP.
.PP
La fonction \fBgetaliasbyname_r\fP() est la version réentrante de la fonction
précédente. La structure recherchée est enregistrée via le deuxième argument
mais le programmeur doit également renseigner les autres arguments. Ne pas
fournir suffisamment d'espace provoquera l'échec de la fonction.
.PP
La structure \fIaliasent\fP est définie dans \fI<aliases.h>\fP\ :
.PP
.in +4n
.EX
struct aliasent {
    char    *alias_name;              /* nom de alias */
    size_t   alias_members_len;
    char   **alias_members;           /* liste de noms d'alias */
    int      alias_local;
};
.EE
.in
.SH "VALEUR RENVOYÉE"
Les fonctions \fBgetaliasent_r\fP() et \fBgetaliasbyname_r\fP() renvoient une
valeur non nulle en cas d'erreur.
.SH FICHIERS
La base de données des alias par défaut est le fichier \fI/etc/aliases\fP. Elle
peut être modifiée dans le fichier \fI/etc/nsswitch.conf\fP.
.SH ATTRIBUTS
Pour une explication des termes utilisés dans cette section, consulter
\fBattributes\fP(7).
.ad l
.nh
.TS
allbox;
lbx lb lb
l l l.
Interface	Attribut	Valeur
T{
\fBsetaliasent\fP(),
\fBendaliasent\fP(),
\fBgetaliasent_r\fP(),
\fBgetaliasbyname_r\fP()
T}	Sécurité des threads	MT\-Safe locale
T{
\fBgetaliasent\fP(),
\fBgetaliasbyname\fP()
T}	Sécurité des threads	MT\-Unsafe
.TE
.hy
.ad
.sp 1
.SH STANDARDS
Ces routines sont spécifiques à la glibc. Le système NeXT a des routines
similaires\ :
.PP
.in +4n
.EX
#include <aliasdb.h>

void alias_setent(void);
void alias_endent(void);
alias_ent *alias_getent(void);
alias_ent *alias_getbyname(char *name);
.EE
.in
.SH EXEMPLES
L'exemple suivant se compile avec la commande \fIgcc example.c \-o example\fP. Il affichera tous les noms trouvés dans la base de données des
alias.
.PP
.\" SRC BEGIN (setaliasent.c)
.EX
#include <aliases.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>

int
main(void)
{
    struct aliasent *al;

    setaliasent();
    for (;;) {
        al = getaliasent();
        if (al == NULL)
            break;
        printf("Name: %s\en", al\->alias_name);
    }
    if (errno) {
        perror("reading alias");
        exit(EXIT_FAILURE);
    }
    endaliasent();
    exit(EXIT_SUCCESS);
}
.EE
.\" SRC END
.SH "VOIR AUSSI"
\fBgetgrent\fP(3), \fBgetpwent\fP(3), \fBgetspent\fP(3), \fBaliases\fP(5)
.\"
.\" /etc/sendmail/aliases
.\" Yellow Pages
.\" newaliases, postalias
.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>,
David Prévot <david@tilapin.org>
et
Jean-Pierre Giraud <jean-pierregiraud@neuf.fr>
.
.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 .