setaliasent(3) Library Functions Manual setaliasent(3) NOM setaliasent, endaliasent, getaliasent, getaliasent_r, getaliasbyname, getaliasbyname_r - Lire une entree alias BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS #include void setaliasent(void); void endaliasent(void); struct aliasent *getaliasent(void); int getaliasent_r(struct aliasent *restrict result, char buffer[restrict .buflen], size_t buflen, struct aliasent **restrict res); struct aliasent *getaliasbyname(const char *name); int getaliasbyname_r(const char *restrict name, struct aliasent *restrict result, char buffer[restrict .buflen], size_t buflen, struct aliasent **restrict 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 : 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 RENVOYEE 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. ATTRIBUTS Pour une explication des termes utilises dans cette section, consulter attributes(7). +--------------------------+--------------------------+----------------+ |Interface | Attribut | Valeur | +--------------------------+--------------------------+----------------+ |setaliasent(), | Securite des threads | MT-Safe locale | |endaliasent(), | | | |getaliasent_r(), | | | |getaliasbyname_r() | | | +--------------------------+--------------------------+----------------+ |getaliasent(), | Securite des threads | MT-Unsafe | |getaliasbyname() | | | +--------------------------+--------------------------+----------------+ STANDARDS GNU. HISTORIQUE The NeXT system has similar routines: #include void alias_setent(void); void alias_endent(void); alias_ent *alias_getent(void); alias_ent *alias_getbyname(char *name); EXEMPLES 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 #include #include #include 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) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier et David Prevot Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 setaliasent(3)