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