1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
|
.\" Copyright 2003 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\" Distributed under GPL
.\"
.\" Polished a bit, added a little, aeb
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH SETALIASENT 3 2003\-09\-09 GNU "Linux Programmer's Manual"
.SH 名前
setaliasent, endaliasent, getaliasent, getaliasent_r, getaliasbyname,
getaliasbyname_r \- エイリアスエントリを読み込む
.SH 書式
\fB#include <aliases.h>\fP
.sp
\fBvoid setaliasent(void);\fP
.sp
\fBvoid endaliasent(void);\fP
.sp
\fBstruct aliasent *getaliasent(void);\fP
.sp
\fBint getaliasent_r(struct aliasent *\fP\fIresult\fP\fB,\fP
.br
\fB char *\fP\fIbuffer\fP\fB, size_t \fP\fIbuflen\fP\fB, struct aliasent **\fP\fIres\fP\fB);\fP
.sp
\fBstruct aliasent *getaliasbyname(const char *\fP\fIname\fP\fB);\fP
.sp
\fBint getaliasbyname_r(const char *\fP\fIname\fP\fB, struct aliasent
*\fP\fIresult\fP\fB,\fP
.br
\fB char *\fP\fIbuffer\fP\fB, size_t \fP\fIbuflen\fP\fB, struct aliasent **\fP\fIres\fP\fB);\fP
.SH 説明
ネームサービススイッチ (Name Service Switch, NSS) で 利用可能なデータベースの 1 つとして、
メールエイリアスを保持するエイリアスデータベースがある。 (どのデータベースがサポートされているかを調べるには、 getent \-\-help
を実行すること。) エイリアスデータベースにアクセスするために、 6 つの関数が提供されている。
.PP
\fBgetaliasent\fP() 関数はエイリアスデータベースから取り出した グループ情報を含む構造体へのポインタを返す。 1
回目に関数が呼ばれたときには、最初のエントリを返す; それ以降はその後のエントリを返す。
.PP
\fBsetaliasent\fP() 関数はファイルポインタをエイリアスデータベースの先頭に巻き戻す。
.PP
\fBendaliasent\fP() 関数はエイリアスデータベースをクローズする。
.PP
\fBgetaliasent_r\fP() 関数は上記の関数のリエントラント版である。 要求された構造体は第 1 引き数に格納されるが、
プログラマは他の引き数も埋めてやる必要がある。 充分な領域が与えられないと、この関数は失敗する。
.PP
関数 \fBgetaliasbyname\fP() は name 引き数をとり、エイリアスデータベースを検索する。 エントリは \fIstruct
aliasent\fP へのポインタとして返される。
.PP
\fBgetaliasbyname_r\fP() は上記の関数のリエントラント版である。 要求された構造体は第 2 引き数に格納されるが、
プログラマは他の引き数も埋めてやる必要がある。 充分な領域が与えられないと、この関数は失敗する。
.PP
\fIstruct aliasent\fP は \fI<aliases.h>\fP で定義されている。
.in +4n
.nf
struct aliasent {
char *alias_name; /* エイリアス名 */
size_t alias_members_len;
char **alias_members; /* エイリアス名のリスト */
int alias_local;
};
.fi
.in
.SH 返り値
関数 \fBgetaliasent_r\fP() と \fBgetaliasbyname_r\fP() は、エラーの場合に 0 以外の値を返す。
.SH ファイル
デフォルトのエイリアスデータベースは、ファイル \fI/etc/aliases\fP である。 これは \fI/etc/nsswitch.conf\fP
ファイルで変更できる。
.SH 準拠
このルーチンは glibc 固有のものである。 NeXT システムには同様のルーチンがある。
.in +4n
.nf
#include <aliasdb.h>
void alias_setent(void);
void alias_endent(void);
alias_ent *alias_getent(void);
alias_ent *alias_getbyname(char *name);
.fi
.in
.SH 例
以下の例は \fIgcc example.c \-o example\fP でコンパイルできる。 これはエイリアスデータベースにある全ての名前をダンプする。
.sp
.nf
#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\en", al\->alias_name);
}
if (errno) {
perror("reading alias");
exit(EXIT_FAILURE);
}
endaliasent();
exit(EXIT_SUCCESS);
.fi
.SH 関連項目
.\"
.\" /etc/sendmail/aliases
.\" Yellow Pages
.\" newaliases, postalias
\fBgetgrent\fP(3), \fBgetpwent\fP(3), \fBgetspent\fP(3), \fBaliases\fP(5)
.SH この文書について
この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man\-pages/ に書かれている。
|