Provided by: manpages-fr-dev_4.19.0-7_all bug

NOM

       setaliasent,  endaliasent,  getaliasent, getaliasent_r, getaliasbyname, getaliasbyname_r -
       Lire une entrée alias

BIBLIOTHÈQUE

       Bibliothèque C standard (libc, -lc)

SYNOPSIS

       #include <aliases.h>

       void setaliasent(void);
       void endaliasent(void);

       struct aliasent *getaliasent(void);
       int getaliasent_r(struct aliasent *restrict result,
                            char buffer[restrict .buflen], size_t buflen,
                            struct aliasent **restrict res);

       struct aliasent *getaliasbyname(const char *name);
       int getaliasbyname_r(const char *restrict name,
                            struct aliasent *restrict result,
                            char buffer[restrict .buflen], size_t buflen,
                            struct aliasent **restrict res);

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 « getent --help »). Six fonctions  sont  fournies  pour
       accéder à la base de données des alias.

       La fonction getaliasent() 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.

       La fonction setaliasent() positionne le pointeur de fichier au début de la base de données
       des alias.

       La fonction endaliasent() ferme la base de données des alias.

       getaliasent_r() est la version réentrante  de  la  fonction  getaliasent().  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.

       La fonction getaliasbyname() 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 aliasent.

       La fonction getaliasbyname_r() 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.

       La structure aliasent est définie dans <aliases.h> :

           struct aliasent {
               char    *alias_name;              /* nom de alias */
               size_t   alias_members_len;
               char   **alias_members;           /* liste de noms d'alias */
               int      alias_local;
           };

VALEUR RENVOYÉE

       Les  fonctions getaliasent_r() et getaliasbyname_r() renvoient une valeur non nulle en cas
       d'erreur.

FICHIERS

       La base de données des alias par défaut  est  le  fichier  /etc/aliases.  Elle  peut  être
       modifiée dans le fichier /etc/nsswitch.conf.

ATTRIBUTS

       Pour une explication des termes utilisés dans cette section, consulter attributes(7).

       ┌─────────────────────────────────────────────────┬──────────────────────┬────────────────┐
       │InterfaceAttributValeur         │
       ├─────────────────────────────────────────────────┼──────────────────────┼────────────────┤
       │setaliasent(), endaliasent(), getaliasent_r(),   │ Sécurité des threads │ MT-Safe locale │
       │getaliasbyname_r()                               │                      │                │
       ├─────────────────────────────────────────────────┼──────────────────────┼────────────────┤
       │getaliasent(), getaliasbyname()                  │ Sécurité des threads │ MT-Unsafe      │
       └─────────────────────────────────────────────────┴──────────────────────┴────────────────┘

STANDARDS

       Ces routines sont spécifiques à la glibc. Le système NeXT a des routines similaires :

           #include <aliasdb.h>

           void alias_setent(void);
           void alias_endent(void);
           alias_ent *alias_getent(void);
           alias_ent *alias_getbyname(char *name);

EXEMPLES

       L'exemple suivant se compile avec la commande gcc example.c -o example. Il affichera  tous
       les noms trouvés dans la base de données des alias.

       #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\n", al->alias_name);
           }
           if (errno) {
               perror("reading alias");
               exit(EXIT_FAILURE);
           }
           endaliasent();
           exit(EXIT_SUCCESS);
       }

VOIR AUSSI

       getgrent(3), getpwent(3), getspent(3), aliases(5)

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>

       Cette traduction est une documentation libre ; veuillez vous reporter  à  la  GNU  General
       Public   License   version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  concernant  les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à ⟨debian-l10n-french@lists.debian.org⟩.