getaliasbyname

SETALIASENT(3)             Manuel du programmeur Linux            SETALIASENT(3)



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.

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.65 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
       Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a
       <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone
       au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

       Alain Portal <http://manpagesfr.free.fr/> (2004-2006).  Nicolas François
       et l'équipe francophone de traduction de Debian (2006-2009).

       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> ».



GNU                             9 septembre 2003                  SETALIASENT(3)