Provided by:
manpages-fr-dev_3.27fr1.4-1_all 
NOM
setaliasent, endaliasent, getaliasent, getaliasent_r, getaliasbyname,
getaliasbyname_r - Lire une entree 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 donnees disponibles avec le << Name Service Switch >>
(NSS) est la base de donnees des alias qui contient les alias de mail
(pour savoir quelles bases de donnees sont supportees, taper la
commande << getent --help >>). Six fonctions sont fournies pour acceder
a la base de donnees des alias.
La fonction getaliasent() renvoie un pointeur sur une structure
contenant l'information de groupe dans la base de donnees des alias. Le
premier appel de cette fonction permet de retourner la premiere
entree ; les appels suivants retourneront les entrees successives.
La fonction setaliasent() positionne le pointeur de fichier au debut de
la base de donnees des alias.
La fonction endaliasent() ferme la base de donnees des alias.
getaliasent_r() est la version reentrante de la fonction getaliasent().
La structure recherchee est enregistree via le premier argument mais le
programmeur doit egalement renseigner les autres arguments. Ne pas
fournir suffisamment d'espace provoquera l'echec de la fonction.
La fonction getaliasbyname() prend en argument << name >> et cherche
dans la base de donnees des alias. L'entree est retournee sous forme de
pointeur vers une structure aliasent.
La fonction getaliasbyname_r() est la version reentrante de la fonction
precedente. La structure recherchee est enregistree via le deuxieme
argument mais le programmeur doit egalement renseigner les autres
arguments. Ne pas fournir suffisamment d'espace provoquera l'echec de
la fonction.
La structure aliasent est definie 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'EE
Les fonctions getaliasent_r() et getaliasbyname_r() renvoient une
valeur non nulle en cas d'erreur.
FICHIERS
La base de donnees des alias par defaut est le fichier /etc/aliases.
Elle peut etre modifiee dans le fichier /etc/nsswitch.conf.
CONFORMIT'E
Ces routines sont specifiques a la glibc. Le systeme 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 trouves dans la base de donnees 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.27 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent etre trouvees a l'adresse
<URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION
Depuis 2010, cette traduction est maintenue a l'aide de l'outil po4a
<URL:http://po4a.alioth.debian.org/> par l'equipe de traduction
francophone au sein du projet perkamon
<URL:http://perkamon.alioth.debian.org/>.
Alain Portal <URL:http://manpagesfr.free.fr/> (2004-2006). Nicolas
Francois et l'equipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en ecrivant a
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir acces a la version anglaise de ce document
en utilisant la commande << man -L C <section> <page_de_man> >>.