OSDN Git Service

(split) Convert release and draft pages to UTF-8.
[linuxjm/LDP_man-pages.git] / release / man3 / setnetgrent.3
1 .\"  Copyright 2002 walter harms (walter.harms@informatik.uni-oldenburg.de)
2 .\"  Distributed under GPL
3 .\"  based on glibc infopages
4 .\" polished - aeb
5 .\"
6 .\" Japanese Version Copyright (c) 2005  Akihiro MOTOKI
7 .\"         all rights reserved.
8 .\" Translated 2005-02-20, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
9 .\"
10 .TH SETNETGRENT 3 2007-07-26 "GNU" "Linux Programmer's Manual"
11 .SH 名前
12 setnetgrent, endnetgrent, getnetgrent, getnetgrent_r, innetgr \-
13 ネットワーク・グループのエントリを操作する
14 .SH 書式
15 .nf
16 .B #include <netdb.h>
17
18 .BI "int setnetgrent(const char *" netgroup );
19
20 .B "void endnetgrent(void);"
21
22 .BI "int getnetgrent(char **" host ", char **" user ", char **" domain );
23
24 .BI "int getnetgrent_r(char **" host ", char **" user ","
25 .BI "                  char **" domain ", char *" buf ", int " buflen );
26
27 .BI "int innetgr(const char *" netgroup ", const char *" host ","
28 .BI "            const char *" user ", const char *" domain );
29 .fi
30 .sp
31 .in -4n
32 glibc 向けの機能検査マクロの要件
33 .RB ( feature_test_macros (7)
34 参照):
35 .in
36 .sp
37 .ad l
38 .BR setnetgrent (),
39 .BR endnetgrent (),
40 .BR getnetgrent (),
41 .BR getnetgrent_r (),
42 .BR innetgr ():
43 _BSD_SOURCE || _SVID_SOURCE
44 .ad b
45 .SH 説明
46 .I netgroup
47 は SunOS で考案されたものである。ネットグループのデータベースの
48 エントリは、 3 つの文字列のリスト
49 .RI ( hostname ", " username ", " domainname )
50 もしくはネットグループ名である。
51 前記のリストの各要素は空であってもよい。
52 空は何とでも一致することを意味する。
53 本ページで説明する関数を使うことで、ネットグループのデータベースに
54 アクセスすることができる。どのデータベースが検索されるかは
55 .I /etc/nsswitch.conf
56 ファイルで定義されている。
57 .PP
58 .BR setnetgrent ()
59 コールは、この後で呼ばれる
60 .BR getnetgrent ()
61 コールが検索するネットグループを定める。
62 .BR getnetgrent ()
63 関数はネットグループの次のエントリを取得し、
64 .IR host ,
65 .IR user ,
66 .I domain
67 にポインタを入れて返る。
68 NULL ポインタは、対応するエントリがどんな文字列とも一致することを意味する。
69 得られたポインタは、ネットグループ関係の関数のいずれかが呼ばれるまでの
70 間だけ有効である。この問題を避けるためには GNU 拡張の関数
71 .BR getnetgrent_r ()
72 を使うとよい。この関数は呼び出し側が用意したバッファに
73 文字列を格納する。割り当て済のバッファを全て解放するには
74 .BR endnetgrent ()
75 を使用する。
76 .PP
77 ほとんどの場合、
78 .RI ( hostname ", " username ", " domainname )
79 の3要素の組がネットグループのメンバーかどうかを確認したいだけであろう。
80 .BR innetgr ()
81 関数を使うと、上記の3つの関数を呼び出さずにこの目的を達成できる。
82 もう一度書いておくが、NULL ポインタはワイルドカードであり、
83 あらゆる文字列と一致する。この関数はスレッドセーフである。
84 .SH 返り値
85 これらの関数は成功すると 1 を、失敗すると 0 を返す。
86 .SH ファイル
87 .I /etc/netgroup
88 .br
89 .I /etc/nsswitch.conf
90 .SH 準拠
91 これらの関数は POSIX.1-2001 にはないが、
92 setnetgrent (),
93 endnetgrent (),
94 getnetgrent (),
95 innetgr ()
96 はほとんどの UNIX システムで利用可能である。
97 .BR getnetgrent_r ()
98 は広く他のシステムで利用できるわけではない。
99 .\" getnetgrent_r() is on Solaris 8 and AIX 5.1, but not the BSDs.
100 .SH 注意
101 BSD の実装では
102 .BR setnetgrent ()
103 は void を返す。
104 .SH 関連項目
105 .BR sethostent (3),
106 .BR setprotoent (3),
107 .BR setservent (3)