File: setaliasent.3

package info (click to toggle)
manpages-ja 0.5.0.0.20120606-1
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 25,964 kB
  • sloc: perl: 161; makefile: 116
file content (121 lines) | stat: -rw-r--r-- 4,846 bytes parent folder | download
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/ に書かれている。