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