Provided by: manpages-fr-dev_4.13-4_all bug

NOM

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

SYNOPSIS

       #include <aliases.h>

       void setaliasent(void);

       void endaliasent(void);

       struct aliasent *getaliasent(void);

       int getaliasent_r(struct aliasent *result,
        char *buffer, size_t buflen, struct aliasent **res);

       struct aliasent *getaliasbyname(const char *name);

       int getaliasbyname_r(const char *name, struct aliasent *result,
        char *buffer, size_t buflen, struct aliasent **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(),      │ Sécurité des threads │ MT-Safe locale │
       │endaliasent(),      │                      │                │
       │getaliasent_r(),    │                      │                │
       │getaliasbyname_r()  │                      │                │
       ├────────────────────┼──────────────────────┼────────────────┤
       │getaliasent(),      │ Sécurité des threads │ MT-Unsafe      │
       │getaliasbyname()    │                      │                │
       └────────────────────┴──────────────────────┴────────────────┘

CONFORMITÉ

       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 <stdio.h>
       #include <stdlib.h>
       #include <errno.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)

COLOPHON

       Cette page fait partie de la publication 5.10 du projet man-pages Linux.  Une  description
       du  projet et des instructions pour signaler des anomalies et la dernière version de cette
       page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

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 ⟨⟩.