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 122 123 124 125 126 127 128 129 130
|
.\" 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
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.\"
.\" Japanese Version Copyright (c) 2004 Yuichi SATO
.\" all rights reserved.
.\" Translated Sun Sep 5 20:44:27 JST 2004
.\" by Yuichi SATO <ysato444@yahoo.co.jp>
.\"
.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.79 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man\-pages/ に書かれている。
|