File: setaliasent.3

package info (click to toggle)
manpages-ja 0.5.0.0.20210215%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 28,568 kB
  • sloc: perl: 161; makefile: 58
file content (130 lines) | stat: -rw-r--r-- 5,121 bytes parent folder | download | duplicates (3)
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/ に書かれている。