OSDN Git Service

Convert release and draft pages to UTF-8.
[linuxjm/jm.git] / manual / LDP_man-pages / release / man2 / listxattr.2
1 .\"
2 .\" Extended attributes system calls manual pages
3 .\"
4 .\" Copyright (C) Andreas Gruenbacher, February 2001
5 .\" Copyright (C) Silicon Graphics Inc, September 2001
6 .\"
7 .\" This is free documentation; you can redistribute it and/or
8 .\" modify it under the terms of the GNU General Public License as
9 .\" published by the Free Software Foundation; either version 2 of
10 .\" the License, or (at your option) any later version.
11 .\"
12 .\" The GNU General Public License's references to "object code"
13 .\" and "executables" are to be interpreted as the output of any
14 .\" document formatting or typesetting system, including
15 .\" intermediate and printed output.
16 .\"
17 .\" This manual is distributed in the hope that it will be useful,
18 .\" but WITHOUT ANY WARRANTY; without even the implied warranty of
19 .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20 .\" GNU General Public License for more details.
21 .\"
22 .\" You should have received a copy of the GNU General Public
23 .\" License along with this manual; if not, write to the Free
24 .\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111,
25 .\" USA.
26 .\"
27 .\" Japanese Version Copyright (c) 2003  Akihiro MOTOKI
28 .\"         all rights reserved.
29 .\" Translated Tue Jul  8 04:17:12 JST 2003
30 .\"         by Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
31 .\"
32 .\"WORD:        extended attributes     拡張属性
33 .\"WORD:        namespace               名前空間
34 .\"
35 .TH LISTXATTR 2 2001-12-01 "Linux" "Linux Programmer's Manual"
36 .SH 名前
37 listxattr, llistxattr, flistxattr \- 拡張属性の名前リストを得る
38 .SH 書式
39 .fam C
40 .nf
41 .B #include <sys/types.h>
42 .B #include <attr/xattr.h>
43 .sp
44 .BI "ssize_t listxattr(const char\ *" path ", char\ *" list \
45 ", size_t " size );
46 .BI "ssize_t llistxattr(const char\ *" path ", char\ *" list \
47 ", size_t " size );
48 .BI "ssize_t flistxattr(int " fd ", char\ *" list ", size_t " size );
49 .fi
50 .fam T
51 .SH 説明
52 拡張属性は、inode (ファイル、ディレクトリ、シンボリックリンク等) に
53 関連付けられた
54 .IR name :\c
55 .I value
56 の対である。
57 これらは、システム上のすべての inode に関連付けられた通常の属性
58 .RB ( stat (2)
59 が返すデータ) を拡張するものである。
60 拡張属性のコンセプトは
61 .BR attr (5)
62 に書かれている。
63 .PP
64 .BR listxattr ()
65 は、ファイルシステム内の指定された
66 .I path
67 に対応する拡張属性の名前リストを取得する。
68 リストは名前の集合で、 NULL 終端された文字列が連続して並んでいる。
69 呼び出したプロセスがアクセスする権限のない拡張属性の名前は、
70 リストに含まれない。拡張属性の名前の
71 .I list
72 の長さが返される。
73 .PP
74 .BR llistxattr ()
75
76 .BR listxattr ()
77 と同じだが、シンボリックリンクの場合に、リンクが参照しているファイル
78 ではなく、リンクそのものの拡張属性の名前リストを取得する点だけが異なる。
79 .PP
80 .BR flistxattr ()
81
82 .BR listxattr ()
83 と同じだが、
84 .I path
85 の代わりに
86 .I fd
87 で参照されたオープン済みファイルの情報だけを取得する点が異なる
88 .RI ( filedes
89
90 .BR open (2)
91 によって返される)。
92 .PP
93 個々の拡張属性の
94 .I name
95 は普通の NULL 終端された文字列である。
96 名前には、名前空間を表す接頭辞 (prefix) が含まれる;
97 個々の inode に対して、互いに独立な名前空間が複数あってもよい。
98 .PP
99 .I size
100 に 0 を指定して空のバッファをこれらのシステムコールに渡すことができ、
101 この場合には拡張属性の名前リストの現在のサイズが返される。
102 この方法は名前リストを保持するのに十分な大きさのバッファ・サイズを
103 見積もるのに使うことができる、
104 .SS 例
105 返される名前の
106 .I list
107 は、 NULL 終端された文字列の配列 (属性名は NULL バイト (\(aq\\0\(aq)
108 で区切られている) で、各要素は整列されている訳ではない。
109 以下に例を示す:
110 .fam C
111 .RS
112 .nf
113
114 user.name1\\0system.name1\\0user.name2\\0
115 .fi
116 .RE
117 .fam T
118 .P
119 拡張属性を使って POSIX ACL を実装している ext2、ext3、XFS のようなファイル
120 システムでは、返される
121 .I list
122 は以下のようになることだろう:
123 .fam C
124 .RS
125 .nf
126
127 system.posix_acl_access\\0system.posix_acl_default\\0
128 .fi
129 .RE
130 .fam T
131 .SH 返り値
132 成功した場合、拡張属性の名前リストの長さを表す正の数が返される。
133 失敗した場合、 \-1 が返され、
134 .I errno
135 に適切な値がセットされる。
136 .PP
137 .I list
138 バッファの大きさ
139 .I size
140 が結果を保持するのに十分な大きさでない場合、
141 .I errno
142
143 .B ERANGE
144 がセットされる。
145 .PP
146 拡張属性がそのファイルシステムでサポートされていない場合、
147 もしくは無効になっている場合、
148 .I errno
149
150 .B ENOTSUP
151 がセットされる。
152 .PP
153 .BR stat (2)
154 システムコールの説明に書かれているエラーは
155 これらのシステムコールにも適用される。
156 .SH バージョン
157 これらのシステムコールはカーネル 2.4 以降の Linux で利用できる。
158 glibc でのサポートはバージョン 2.3 以降で行われている。
159 .SH 準拠
160 これらのシステムコールは Linux 独自である。
161 .\" .SH 著者
162 .\" Andreas Gruenbacher,
163 .\" .RI < a.gruenbacher@computer.org >
164 .\" と the SGI XFS development team,
165 .\" .RI < linux-xfs@oss.sgi.com >。
166 .\" バグレポートやコメントは上記のアドレスまで送って下さい。
167 .SH 関連項目
168 .BR getfattr (1),
169 .BR setfattr (1),
170 .BR getxattr (2),
171 .BR open (2),
172 .BR removexattr (2),
173 .BR setxattr (2),
174 .BR stat (2),
175 .BR attr (5),
176 .BR symlink (7)