setaliasent






setaliasent, endaliasent, getaliasent, getaliasent_r,
getaliasbyname, getaliasbyname_r − read an alias entry

#include<aliases.h>

     void setaliasent(void);

     void endaliasent(void);

     struct aliasent *getaliasent(void);

     ,int getaliasent_r(struct aliasent *result
, size_t         char *buffer

     );struct aliasent *getaliasbyname(const char *name

     , struct aliasent *int getaliasbyname_r(const char
*name
, size_t         char *buffer

One of the databases available with the Name Service Switch
(NSS) is the aliases database, that contains mail aliases.
(To find out which databases are supported, try Six
functions are provided to access the aliases database.

     The function returns a pointer to a structure
containing the group information from the aliases database.
The first time it is called it returns the first entry;
thereafter, it returns successive entries.

     The function rewinds the file pointer to the beginning
of the aliases database.

     The function closes the aliases database.

     is the reentrant version of the previous function.  The
requested structure is stored via the first argument but the
programmer needs to fill the other arguments also.  Not
providing enough space causes the function to fail.

     The function takes the name argument and searches the
aliases database.  The entry is returned as a pointer to a

     is the reentrant version of the previous function.  The
requested structure is stored via the second argument but
the programmer needs to fill the other arguments also.  Not
providing enough space causes the function to fail.

     The struct aliasent is defined in

    struct aliasent {
        char    *alias_name;             /* alias name */
        size_t   alias_members_len;
        char   **alias_members;          /* alias name list









                             ‐2‐


    */
        int      alias_local; };

The functions and return a nonzero value on error.

The default alias database is the file This can be changed
in the /etc/nsswitch.conf file.

For an explanation of the terms used in this section, see

┌────────────────────┬───────────────┬────────────────┐
│Interface           Attribute     Value          │
├────────────────────┼───────────────┼────────────────┤
│                    │ Thread safety MT‐Safe locale │
├────────────────────┼───────────────┼────────────────┤
│                    │ Thread safety MT‐Unsafe      │
└────────────────────┴───────────────┴────────────────┘

These routines are glibc‐specific.  The NeXT system has
similar routines:

    #include <aliasdb.h>

    void alias_setent(void); void alias_endent(void);
    alias_ent *alias_getent(void); alias_ent
    *alias_getbyname(char *name);

The following example compiles with It will dump all names
in the alias database.

     #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); }















                             ‐3‐


This page is part of release 5.07 of the Linux man‐pages
project.  A description of the project, information about
reporting bugs, and the latest version of this page, can be
found at https://www.kernel.org/doc/man−pages/.