Date création : 27-03-2008 20:23:44
 Vous êtes dans : GNU/Linux Astuces / Pages man [Section3 - Sous-fonctions]
SETALIASENT
Index
- NOM
- SYNOPSIS
- DESCRIPTION
- FICHIERS
- VALEUR RENVOYÉE
- EXEMPLE
- CONFORMITÉ
- VOIR AUSSI
- TRADUCTION
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; /* alias name */
size_t alias_members_len;
char **alias_members; /* alias name list */
int alias_local;
};
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.
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
alias.
#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
", 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
Cette page de manuel a été traduite et mise à jour par
Alain Portal <aportal AT univ-montp2 DOT fr> entre 2004 et 2006.
La traduction de cette page de manuel est basée sur les traductions
disponibles sur http://manpagesfr.free.fr/,
mais est gérée par l'équipe francophone de traduction de Debian
au travers de la liste de discussion debian-l10n-french.
Veuillez signaler toute erreur de traduction 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> ».
|