Loading

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);

       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.

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);

EXEMPLE

       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 3.23 du projet man-pages
       Linux. Une description du projet et des instructions pour signaler  des
       anomalies       peuvent       être       trouvées      à      l’adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Cette page de manuel a été traduite et mise à  jour  par  Alain  Portal
       <aportal  AT  univ-montp2  DOT  fr>  entre  2004  et  2006,  et  mise à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement         gérées         par         Nicolas         François
       <nicolas.francois@centraliens.net>   et   l’équipe    francophone    de
       traduction de Debian.

       Veuillez   signaler   toute   erreur   de   traduction  en  écrivant  à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous  pouvez  toujours avoir accès à la version anglaise de ce document
       en utilisant la commande « man -L C <section> <page_de_man> ».