1 .\" Copyright 2003 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
3 .\" %%%LICENSE_START(GPL_NOVERSION_ONELINE)
4 .\" Distributed under GPL
7 .\" Polished a bit, added a little, aeb
9 .\"*******************************************************************
11 .\" This file was generated with po4a. Translate the source file.
13 .\"*******************************************************************
14 .TH SETALIASENT 3 2003\-09\-09 GNU "Linux Programmer's Manual"
16 setaliasent, endaliasent, getaliasent, getaliasent_r, getaliasbyname,
17 getaliasbyname_r \- エイリアスエントリを読み込む
19 \fB#include <aliases.h>\fP
21 \fBvoid setaliasent(void);\fP
23 \fBvoid endaliasent(void);\fP
25 \fBstruct aliasent *getaliasent(void);\fP
27 \fBint getaliasent_r(struct aliasent *\fP\fIresult\fP\fB,\fP
29 \fB char *\fP\fIbuffer\fP\fB, size_t \fP\fIbuflen\fP\fB, struct aliasent **\fP\fIres\fP\fB);\fP
31 \fBstruct aliasent *getaliasbyname(const char *\fP\fIname\fP\fB);\fP
33 \fBint getaliasbyname_r(const char *\fP\fIname\fP\fB, struct aliasent
34 *\fP\fIresult\fP\fB,\fP
36 \fB char *\fP\fIbuffer\fP\fB, size_t \fP\fIbuflen\fP\fB, struct aliasent **\fP\fIres\fP\fB);\fP
38 ネームサービススイッチ (Name Service Switch, NSS) で 利用可能なデータベースの 1 つとして、
39 メールエイリアスを保持するエイリアスデータベースがある。 (どのデータベースがサポートされているかを調べるには、 getent \-\-help
40 を実行すること。) エイリアスデータベースにアクセスするために、 6 つの関数が提供されている。
42 \fBgetaliasent\fP() 関数はエイリアスデータベースから取り出した グループ情報を含む構造体へのポインタを返す。 1
43 回目に関数が呼ばれたときには、最初のエントリを返す; それ以降はその後のエントリを返す。
45 \fBsetaliasent\fP() 関数はファイルポインタをエイリアスデータベースの先頭に巻き戻す。
47 \fBendaliasent\fP() 関数はエイリアスデータベースをクローズする。
49 \fBgetaliasent_r\fP() 関数は上記の関数のリエントラント版である。 要求された構造体は第 1 引き数に格納されるが、
50 プログラマは他の引き数も埋めてやる必要がある。 充分な領域が与えられないと、この関数は失敗する。
52 関数 \fBgetaliasbyname\fP() は name 引き数をとり、エイリアスデータベースを検索する。 エントリは \fIstruct
53 aliasent\fP へのポインタとして返される。
55 \fBgetaliasbyname_r\fP() は上記の関数のリエントラント版である。 要求された構造体は第 2 引き数に格納されるが、
56 プログラマは他の引き数も埋めてやる必要がある。 充分な領域が与えられないと、この関数は失敗する。
58 \fIstruct aliasent\fP は \fI<aliases.h>\fP で定義されている。
63 char *alias_name; /* エイリアス名 */
64 size_t alias_members_len;
65 char **alias_members; /* エイリアス名のリスト */
71 関数 \fBgetaliasent_r\fP() と \fBgetaliasbyname_r\fP() は、エラーの場合に 0 以外の値を返す。
73 デフォルトのエイリアスデータベースは、ファイル \fI/etc/aliases\fP である。 これは \fI/etc/nsswitch.conf\fP
76 このルーチンは glibc 固有のものである。 NeXT システムには同様のルーチンがある。
82 void alias_setent(void);
83 void alias_endent(void);
84 alias_ent *alias_getent(void);
85 alias_ent *alias_getbyname(char *name);
89 以下の例は \fIgcc example.c \-o example\fP でコンパイルできる。 これはエイリアスデータベースにある全ての名前をダンプする。
106 printf("Name: %s\en", al\->alias_name);
109 perror("reading alias");
117 .\" /etc/sendmail/aliases
119 .\" newaliases, postalias
120 \fBgetgrent\fP(3), \fBgetpwent\fP(3), \fBgetspent\fP(3), \fBaliases\fP(5)
122 This page is part of release 3.51 of the Linux \fIman\-pages\fP project. A
123 description of the project, and information about reporting bugs, can be
124 found at http://www.kernel.org/doc/man\-pages/.