.\" Copyright 2003 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
+.\"
+.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE)
.\" Distributed under GPL
+.\" %%%LICENSE_END
.\"
.\" Polished a bit, added a little, aeb
.\"
-.TH SETALIASENT 3 2003-09-09 "GNU" "Linux Programmer's Manual"
+.TH SETALIASENT 3 2019-03-06 "GNU" "Linux Programmer's Manual"
.SH NAME
setaliasent, endaliasent, getaliasent, getaliasent_r,
getaliasbyname, getaliasbyname_r \- read an alias entry
.SH SYNOPSIS
.B #include <aliases.h>
-.sp
-.BI "void setaliasent(void);"
-.sp
-.BI "void endaliasent(void);"
-.sp
-.BI "struct aliasent *getaliasent(void);"
-.sp
+.PP
+.B "void setaliasent(void);"
+.PP
+.B "void endaliasent(void);"
+.PP
+.B "struct aliasent *getaliasent(void);"
+.PP
.BI "int getaliasent_r(struct aliasent *" result ","
.br
.BI " char *" buffer ", size_t " buflen ", struct aliasent **" res );
-.sp
+.PP
.BI "struct aliasent *getaliasbyname(const char *" name );
-.sp
+.PP
.BI "int getaliasbyname_r(const char *" name ", struct aliasent *" result ,
.br
.BI " char *" buffer ", size_t " buflen ", struct aliasent **" res );
.SH DESCRIPTION
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 \fIgetent \-\-help\fP.)
+(To find out which databases are supported, try
+.IR "getent \-\-help" .)
Six functions are provided to access the aliases database.
.PP
The
.I "struct aliasent"
is defined in
.IR <aliases.h> :
-.in +0.5i
-.nf
-
+.PP
+.in +4n
+.EX
struct aliasent {
- char *alias_name; /* alias name */
+ char *alias_name; /* alias name */
size_t alias_members_len;
char **alias_members; /* alias name list */
int alias_local;
};
-.fi
-.SH "RETURN VALUE"
+.EE
+.in
+.SH RETURN VALUE
The functions
.BR getaliasent_r ()
and
.BR getaliasbyname_r ()
-return a non-zero value on error.
+return a nonzero value on error.
.SH FILES
The default alias database is the file
.IR /etc/aliases .
This can be changed in the
.I /etc/nsswitch.conf
file.
-.SH "CONFORMING TO"
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.ad l
+.TS
+allbox;
+lbw19 lb lb
+l l l.
+Interface Attribute Value
+T{
+.BR setaliasent (),
+.BR endaliasent (),
+.BR getaliasent_r (),
+.BR getaliasbyname_r ()
+T} Thread safety MT-Safe locale
+T{
+.BR getaliasent (),
+.BR getaliasbyname ()
+T} Thread safety MT-Unsafe
+.TE
+.ad
+.SH CONFORMING TO
These routines are glibc-specific.
-The NeXT has similar routines:
-.RS
-.nf
-
+The NeXT system has similar routines:
+.PP
+.in +4n
+.EX
#include <aliasdb.h>
void alias_setent(void);
void alias_endent(void);
alias_ent *alias_getent(void);
alias_ent *alias_getbyname(char *name);
-.fi
-.RE
+.EE
+.in
.SH EXAMPLE
The following example compiles with
.IR "gcc example.c \-o example" .
It will dump all names in the alias database.
-.sp
-.nf
+.PP
+.EX
#include <aliases.h>
#include <stdio.h>
#include <stdlib.h>
al = getaliasent();
if (al == NULL)
break;
- printf("Name: %s\\n", al\->alias_name);
+ printf("Name: %s\en", al\->alias_name);
}
if (errno) {
perror("reading alias");
endaliasent();
exit(EXIT_SUCCESS);
}
-.fi
-.SH "SEE ALSO"
+.EE
+.SH SEE ALSO
.BR getgrent (3),
.BR getpwent (3),
.BR getspent (3),