OSDN Git Service

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