Provided by:
manpages-fr_1.67.0-1_all 
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 aliases qui contient les aliases 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 aliases.
La fonction getaliasent() renvoie un pointeur sur une structure
contenant l’information de groupe. 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 aliases.
La fonction endaliasent() ferme la base de données des aliases.
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 aliases. 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; /* alias name */
size_t alias_members_len;
char **alias_members; /* alias name list */
int alias_local;
};
FICHIERS
La base de données des aliases par défaut est le fichier /etc/aliases.
Elle peut être modifiée dans le fichier /etc/nsswitch.conf.
VALEUR RENVOYÉE
Les fonctions getaliasent_r() et getaliasbyname_r() renvoient une
valeur non-nulle en cas d’erreur.
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 aliases.
#include <aliases.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
int main() {
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);
}
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);
VOIR AUSSI
getgrent(3), getpwent(3), getspent(3), aliases(5)
TRADUCTION
Ce document est une traduction réalisée par Alain Portal <aportal AT
univ-montp2 DOT fr> le 4 juillet 2005 et révisée le 14 décembre 2005.
L’équipe de traduction a fait le maximum pour réaliser une adaptation
française de qualité. La version anglaise la plus à jour de ce document
est toujours consultable via la commande :
« LANG=en man 3 setaliasent ». N’hésitez pas à signaler à l’auteur ou
au traducteur, selon le cas, toute erreur dans cette page de manuel.