NAME
setaliasent, endaliasent, getaliasent, getaliasent_r, getaliasbyname, getaliasbyname_r - read an alias entry
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
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 getent --help.) Six functions are provided to access the aliases database. The getaliasent() 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 setaliasent() function rewinds the file pointer to the beginning of the aliases database. The endaliasent() function closes the aliases database. getaliasent_r() 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 getaliasbyname() takes the name argument and searches the aliases database. The entry is returned as a pointer to a struct aliasent. getaliasbyname_r() 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 <aliases.h>: struct aliasent { char *alias_name; /* alias name */ size_t alias_members_len; char **alias_members; /* alias name list */ int alias_local; };
RETURN VALUE
The functions getaliasent_r() and getaliasbyname_r() return a nonzero value on error.
FILES
The default alias database is the file /etc/aliases. This can be changed in the /etc/nsswitch.conf file.
ATTRIBUTES
For an explanation of the terms used in this section, see attributes(7). ┌────────────────────┬───────────────┬────────────────┐ │Interface │ Attribute │ Value │ ├────────────────────┼───────────────┼────────────────┤ │setaliasent(), │ Thread safety │ MT-Safe locale │ │endaliasent(), │ │ │ │getaliasent_r(), │ │ │ │getaliasbyname_r() │ │ │ ├────────────────────┼───────────────┼────────────────┤ │getaliasent(), │ Thread safety │ MT-Unsafe │ │getaliasbyname() │ │ │ └────────────────────┴───────────────┴────────────────┘
CONFORMING TO
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);
EXAMPLE
The following example compiles with gcc example.c -o example. 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); }
SEE ALSO
getgrent(3), getpwent(3), getspent(3), aliases(5)
COLOPHON
This page is part of release 4.09 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/.
More Linux Commands
manpages/grub2-mkstandalone.1.html
grub2-mkstandalone(1) make a memdisk-based GRUB image.......
Generate a standalone image (containing all modules) in the selected format --compress[=no,xz,gz,lzo] compress GRUB files [optional] -d, --directory=DIR use ima
manpages/smi_node.3.html
smi_node(3) - SMI type information routines - Linux man page
These functions retrieve information on any SMI node definition in the object identifier tree, these are ASN.1 object identifier assignments, MODULE-IDENTITYs,
manpages/lmtptest.1.html
lmtptest(1) - interactive LMTP test program - Linux man page
lmtptest is a utility that allows you to authenticate to a LMTP server and interactively issue commands to it. Once authenticated you may issue any LMTP command
manpages/wctrans.3.html
wctrans(3) - wide-character translation mapping (Man Page)
The wctrans_t type represents a mapping which can map a wide character to another wide character. Its nature is implementation-dependent, but the special value
manpages/Tie::Scalar.3pm.html
Tie::Scalar(3pm) - base class definitions for tied scalars
This module provides some skeletal methods for scalar-tying classes. See perltie for a list of the functions required in tying a scalar to a package. The basic
manpages/bmtoa.1.html
bmtoa(1) - bitmap editor and converter utilities for the X W
The bitmap program is a rudimentary tool for creating or editing rectangular images made up of 1s and 0s. Bitmaps are used in X for defining clipping regions, c
manpages/csharp.1.html
csharp(1) - Interactive C# Shell (Commands - Linux man page)
The csharp is an interactive C# shell that allows the user to enter and evaluate C# statements and expressions from the command line. The regular mcs command li
manpages/git-remote.1.html
git-remote(1) - manage set of tracked repositories (ManPage)
Manage the set of repositories (remotes) whose branches you track. OPTIONS -v, --verbose Be a little more verbose and show remote url after name. NOTE: This mus
manpages/roundl.3.html
roundl(3) - round to nearest integer, away from zero........
These functions round x to the nearest integer, but round halfway cases away from zero (regardless of the current rounding direction, see fenv(3)), instead of t
manpages/dd.1.html
dd(1) - convert and copy a file (Commands - Linux man page)
Copy a file, converting and formatting according to the operands. bs=BYTES read and write up to BYTES bytes at a time cbs=BYTES convert BYTES bytes at a time co
manpages/ppmtopjxl.1.html
ppmtopjxl(1) - convert a PPM image to an HP PaintJet XL PCL
This program is part of Netpbm(1) ppmtopjxl reads a PPM image as input and produces a PCL file suitable for printing on an HP PaintJet XL printer as output. The
manpages/vfs_media_harmony.8.html
vfs_media_harmony(8) Allow multiple Avid clients to share a
This VFS module is part of the samba(7) suite. The vfs_media_harmony VFS module allows Avid editorial workstations to share a network drive. It does this by: 1.
