-.\"
-.\" Extended attributes system calls manual pages
-.\"
.\" Copyright (C) Andreas Gruenbacher, February 2001
.\" Copyright (C) Silicon Graphics Inc, September 2001
.\"
+.\" %%%LICENSE_START(GPLv2+_DOC_FULL)
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
-.\" License along with this manual; if not, write to the Free
-.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111,
-.\" USA.
+.\" License along with this manual; if not, see
+.\" <http://www.gnu.org/licenses/>.
+.\" %%%LICENSE_END
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
-.TH LISTXATTR 2 2001\-12\-01 Linux "Linux Programmer's Manual"
+.\"
+.\" Japanese Version Copyright (c) 2003 Akihiro MOTOKI
+.\" all rights reserved.
+.\" Translated Tue Jul 8 04:17:12 JST 2003
+.\" by Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\" Updated 2013-05-01, Akihiro MOTOKI <amotoki@gmail.com>
+.\"
+.TH LISTXATTR 2 2014\-02\-06 Linux "Linux Programmer's Manual"
.SH 名前
listxattr, llistxattr, flistxattr \- 拡張属性の名前リストを得る
.SH 書式
.fam C
.nf
\fB#include <sys/types.h>\fP
-\fB#include <attr/xattr.h>\fP
+\fB#include <sys/xattr.h>\fP
.sp
\fBssize_t listxattr(const char\ *\fP\fIpath\fP\fB, char\ *\fP\fIlist\fP\fB, size_t \fP\fIsize\fP\fB);\fP
\fBssize_t llistxattr(const char\ *\fP\fIpath\fP\fB, char\ *\fP\fIlist\fP\fB, size_t \fP\fIsize\fP\fB);\fP
これらは、システム上のすべての inode に関連付けられた通常の属性 (\fBstat\fP(2) が返すデータ) を拡張するものである。
拡張属性のコンセプトは \fBattr\fP(5) に書かれている。
.PP
-\fBlistxattr\fP() は、ファイルシステム内の指定された \fIpath\fP に対応する拡張属性の名前リストを取得する。 リストは名前の集合で、
-NULL 終端された文字列が連続して並んでいる。 呼び出したプロセスがアクセスする権限のない拡張属性の名前は、 リストに含まれない。拡張属性の名前の
+\fBlistxattr\fP() は、ファイルシステム内の指定された \fIpath\fP に対応する拡張属性の名前リストを取得する。取得したリストは
+\fIlist\fP に格納される。 \fIlist\fP は呼び出し側で確保するバッファで、引き数 \fIsize\fP でバッファのサイズを (バイト単位で)
+指定する。リストは名前の集合で、ヌル終端された文字列が連続して並んでいる。呼び出したプロセスがアクセスする権限のない拡張属性の名前は、リストに含まれない。拡張属性の名前の
\fIlist\fP の長さが返される。
.PP
\fBllistxattr\fP() は \fBlistxattr\fP() と同じだが、シンボリックリンクの場合に、リンクが参照しているファイル
\fBflistxattr\fP() は \fBlistxattr\fP() と同じだが、 \fIpath\fP の代わりに \fIfd\fP
で参照されたオープン済みファイルの情報だけを取得する点が異なる (\fIfiledes\fP は \fBopen\fP(2) によって返される)。
.PP
-個々の拡張属性の \fIname\fP は普通の NULL 終端された文字列である。 名前には、名前空間を表す接頭辞 (prefix) が含まれる; 個々の
+個々の拡張属性の \fIname\fP は普通のヌル終端された文字列である。 名前には、名前空間を表す接頭辞 (prefix) が含まれる; 個々の
inode に対して、互いに独立な名前空間が複数あってもよい。
.PP
\fIsize\fP に 0 を指定して空のバッファをこれらのシステムコールに渡すことができ、 この場合には拡張属性の名前リストの現在のサイズが返される。
この方法は名前リストを保持するのに十分な大きさのバッファ・サイズを 見積もるのに使うことができる、
.SS Example
-返される名前の \fIlist\fP は、 NULL 終端された文字列の配列 (属性名は NULL バイト (\(aq\e0\(aq) で区切られている)
+返される名前の \fIlist\fP は、ヌル終端された文字列の配列 (属性名はヌルバイト (\(aq\e0\(aq) で区切られている)
で、各要素は整列されている訳ではない。 以下に例を示す:
.fam C
.RS
.RE
.fam T
.SH 返り値
-成功した場合、拡張属性の名前リストの長さを表す正の数が返される。 失敗した場合、 \-1 が返され、 \fIerrno\fP に適切な値がセットされる。
-.PP
-\fIlist\fP バッファの大きさ \fIsize\fP が結果を保持するのに十分な大きさでない場合、 \fIerrno\fP に \fBERANGE\fP
-がセットされる。
-.PP
-拡張属性がそのファイルシステムでサポートされていない場合、 もしくは無効になっている場合、 \fIerrno\fP に \fBENOTSUP\fP がセットされる。
+成功した場合、拡張属性の名前リストの長さを表す非負の数が返される。 失敗した場合、 \-1 が返され、 \fIerrno\fP に適切な値がセットされる。
+.SH エラー
+.TP
+\fBENOTSUP\fP
+拡張属性がそのファイルシステムでサポートされていない、 もしくは無効になっている。
+.TP
+\fBERANGE\fP
+\fIlist\fP バッファの大きさ \fIsize\fP が結果を保持するのに十分な大きさでなかった。
.PP
-\fBstat\fP(2) システムコールの説明に書かれているエラーは これらのシステムコールにも適用される。
+上記に加えて、 \fBstat\fP(2) に書かれているエラーが発生する場合もある。
.SH バージョン
これらのシステムコールはカーネル 2.4 以降の Linux で利用できる。 glibc でのサポートはバージョン 2.3 以降で行われている。
.SH 準拠
\fBgetfattr\fP(1), \fBsetfattr\fP(1), \fBgetxattr\fP(2), \fBopen\fP(2),
\fBremovexattr\fP(2), \fBsetxattr\fP(2), \fBstat\fP(2), \fBattr\fP(5), \fBsymlink\fP(7)
.SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.40 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.65 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man\-pages/ に書かれている。