-.\"
-.\" 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.
+.\"
+.\"*******************************************************************
.\"
.\" 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>
.\"
-.\"WORD: extended attributes ³Èĥ°À
-.\"WORD: namespace ̾Á°¶õ´Ö
-.\"
-.TH LISTXATTR 2 2001-12-01 "Linux" "Linux Programmer's Manual"
-.SH ̾Á°
-listxattr, llistxattr, flistxattr \- ³Èĥ°À¤Î̾Á°¥ê¥¹¥È¤òÆÀ¤ë
-.SH ½ñ¼°
+.TH LISTXATTR 2 2013\-04\-09 Linux "Linux Programmer's Manual"
+.SH 名前
+listxattr, llistxattr, flistxattr \- 拡張属性の名前リストを得る
+.SH 書式
.fam C
.nf
-.B #include <sys/types.h>
-.B #include <attr/xattr.h>
+\fB#include <sys/types.h>\fP
+\fB#include <attr/xattr.h>\fP
.sp
-.BI "ssize_t listxattr(const char\ *" path ", char\ *" list \
-", size_t " size );
-.BI "ssize_t llistxattr(const char\ *" path ", char\ *" list \
-", size_t " size );
-.BI "ssize_t flistxattr(int " fd ", char\ *" list ", size_t " size );
+\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
+\fBssize_t flistxattr(int \fP\fIfd\fP\fB, char\ *\fP\fIlist\fP\fB, size_t \fP\fIsize\fP\fB);\fP
.fi
.fam T
-.SH ÀâÌÀ
-³Èĥ°À¤Ï¡¢inode (¥Õ¥¡¥¤¥ë¡¢¥Ç¥£¥ì¥¯¥È¥ê¡¢¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯Åù) ¤Ë
-´ØÏ¢ÉÕ¤±¤é¤ì¤¿
-.IR name :\c
-.I value
-¤ÎÂФǤ¢¤ë¡£
-¤³¤ì¤é¤Ï¡¢¥·¥¹¥Æ¥à¾å¤Î¤¹¤Ù¤Æ¤Î inode ¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿Ä̾ï¤Î°À
-.RB ( stat (2)
-¤¬ÊÖ¤¹¥Ç¡¼¥¿) ¤ò³ÈÄ¥¤¹¤ë¤â¤Î¤Ç¤¢¤ë¡£
-³Èĥ°À¤Î¥³¥ó¥»¥×¥È¤Ï
-.BR attr (5)
-¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¡£
+.SH 説明
+拡張属性は、inode (ファイル、ディレクトリ、シンボリックリンク等) に 関連付けられた \fIname\fP:\fIvalue\fP の対である。
+これらは、システム上のすべての inode に関連付けられた通常の属性 (\fBstat\fP(2) が返すデータ) を拡張するものである。
+拡張属性のコンセプトは \fBattr\fP(5) に書かれている。
.PP
-.BR listxattr ()
-¤Ï¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥àÆâ¤Î»ØÄꤵ¤ì¤¿
-.I path
-¤ËÂбþ¤¹¤ë³Èĥ°À¤Î̾Á°¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ë¡£
-¥ê¥¹¥È¤Ï̾Á°¤Î½¸¹ç¤Ç¡¢ NULL ½ªÃ¼¤µ¤ì¤¿Ê¸»úÎó¤¬Ï¢Â³¤·¤Æʤó¤Ç¤¤¤ë¡£
-¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤¬¥¢¥¯¥»¥¹¤¹¤ë¸¢¸Â¤Î¤Ê¤¤³Èĥ°À¤Î̾Á°¤Ï¡¢
-¥ê¥¹¥È¤Ë´Þ¤Þ¤ì¤Ê¤¤¡£³Èĥ°À¤Î̾Á°¤Î
-.I list
-¤ÎŤµ¤¬ÊÖ¤µ¤ì¤ë¡£
+\fBlistxattr\fP() は、ファイルシステム内の指定された \fIpath\fP に対応する拡張属性の名前リストを取得する。取得したリストは
+\fIlist\fP に格納される。 \fIlist\fP は呼び出し側で確保するバッファで、引き数 \fIsize\fP でバッファのサイズを (バイト単位で)
+指定する。リストは名前の集合で、 NULL
+終端された文字列が連続して並んでいる。呼び出したプロセスがアクセスする権限のない拡張属性の名前は、リストに含まれない。拡張属性の名前の \fIlist\fP
+の長さが返される。
.PP
-.BR llistxattr ()
-¤Ï
-.BR listxattr ()
-¤ÈƱ¤¸¤À¤¬¡¢¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Î¾ì¹ç¤Ë¡¢¥ê¥ó¥¯¤¬»²¾È¤·¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë
-¤Ç¤Ï¤Ê¤¯¡¢¥ê¥ó¥¯¤½¤Î¤â¤Î¤Î³Èĥ°À¤Î̾Á°¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ëÅÀ¤À¤±¤¬°Û¤Ê¤ë¡£
+\fBllistxattr\fP() は \fBlistxattr\fP() と同じだが、シンボリックリンクの場合に、リンクが参照しているファイル
+ではなく、リンクそのものの拡張属性の名前リストを取得する点だけが異なる。
.PP
-.BR flistxattr ()
-¤Ï
-.BR listxattr ()
-¤ÈƱ¤¸¤À¤¬¡¢
-.I path
-¤ÎÂå¤ï¤ê¤Ë
-.I fd
-¤Ç»²¾È¤µ¤ì¤¿¥ª¡¼¥×¥óºÑ¤ß¥Õ¥¡¥¤¥ë¤Î¾ðÊó¤À¤±¤ò¼èÆÀ¤¹¤ëÅÀ¤¬°Û¤Ê¤ë
-.RI ( filedes
-¤Ï
-.BR open (2)
-¤Ë¤è¤Ã¤ÆÊÖ¤µ¤ì¤ë)¡£
+\fBflistxattr\fP() は \fBlistxattr\fP() と同じだが、 \fIpath\fP の代わりに \fIfd\fP
+で参照されたオープン済みファイルの情報だけを取得する点が異なる (\fIfiledes\fP は \fBopen\fP(2) によって返される)。
.PP
-¸Ä¡¹¤Î³Èĥ°À¤Î
-.I name
-¤ÏÉáÄ̤ΠNULL ½ªÃ¼¤µ¤ì¤¿Ê¸»úÎó¤Ç¤¢¤ë¡£
-̾Á°¤Ë¤Ï¡¢Ì¾Á°¶õ´Ö¤òɽ¤¹ÀÜƬ¼ (prefix) ¤¬´Þ¤Þ¤ì¤ë;
-¸Ä¡¹¤Î inode ¤ËÂФ·¤Æ¡¢¸ß¤¤¤ËÆÈΩ¤Ê̾Á°¶õ´Ö¤¬Ê£¿ô¤¢¤Ã¤Æ¤â¤è¤¤¡£
+個々の拡張属性の \fIname\fP は普通の NULL 終端された文字列である。 名前には、名前空間を表す接頭辞 (prefix) が含まれる; 個々の
+inode に対して、互いに独立な名前空間が複数あってもよい。
.PP
-.I size
-¤Ë 0 ¤ò»ØÄꤷ¤Æ¶õ¤Î¥Ð¥Ã¥Õ¥¡¤ò¤³¤ì¤é¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤ËÅϤ¹¤³¤È¤¬¤Ç¤¡¢
-¤³¤Î¾ì¹ç¤Ë¤Ï³Èĥ°À¤Î̾Á°¥ê¥¹¥È¤Î¸½ºß¤Î¥µ¥¤¥º¤¬ÊÖ¤µ¤ì¤ë¡£
-¤³¤ÎÊýË¡¤Ï̾Á°¥ê¥¹¥È¤òÊÝ»ý¤¹¤ë¤Î¤Ë½½Ê¬¤ÊÂ礤µ¤Î¥Ð¥Ã¥Õ¥¡¡¦¥µ¥¤¥º¤ò
-¸«ÀѤâ¤ë¤Î¤Ë»È¤¦¤³¤È¤¬¤Ç¤¤ë¡¢
-.SS Îã
-ÊÖ¤µ¤ì¤ë̾Á°¤Î
-.I list
-¤Ï¡¢ NULL ½ªÃ¼¤µ¤ì¤¿Ê¸»úÎó¤ÎÇÛÎó (°À̾¤Ï NULL ¥Ð¥¤¥È (\(aq\\0\(aq)
-¤Ç¶èÀÚ¤é¤ì¤Æ¤¤¤ë) ¤Ç¡¢³ÆÍ×ÁǤÏÀ°Î󤵤ì¤Æ¤¤¤ëÌõ¤Ç¤Ï¤Ê¤¤¡£
-°Ê²¼¤ËÎã¤ò¼¨¤¹:
+\fIsize\fP に 0 を指定して空のバッファをこれらのシステムコールに渡すことができ、 この場合には拡張属性の名前リストの現在のサイズが返される。
+この方法は名前リストを保持するのに十分な大きさのバッファ・サイズを 見積もるのに使うことができる、
+.SS Example
+返される名前の \fIlist\fP は、 NULL 終端された文字列の配列 (属性名は NULL バイト (\(aq\e0\(aq) で区切られている)
+で、各要素は整列されている訳ではない。 以下に例を示す:
.fam C
.RS
.nf
-user.name1\\0system.name1\\0user.name2\\0
+user.name1\e0system.name1\e0user.name2\e0
.fi
.RE
.fam T
.P
-³Èĥ°À¤ò»È¤Ã¤Æ POSIX ACL ¤ò¼ÂÁõ¤·¤Æ¤¤¤ë ext2¡¢ext3¡¢XFS ¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë
-¥·¥¹¥Æ¥à¤Ç¤Ï¡¢ÊÖ¤µ¤ì¤ë
-.I list
-¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ë¤³¤È¤À¤í¤¦:
+拡張属性を使って POSIX ACL を実装している ext2、ext3、XFS のようなファイル システムでは、返される \fIlist\fP
+は以下のようになることだろう:
.fam C
.RS
.nf
-system.posix_acl_access\\0system.posix_acl_default\\0
+system.posix_acl_access\e0system.posix_acl_default\e0
.fi
.RE
.fam T
-.SH ÊÖ¤êÃÍ
-À®¸ù¤·¤¿¾ì¹ç¡¢³Èĥ°À¤Î̾Á°¥ê¥¹¥È¤ÎŤµ¤òɽ¤¹Àµ¤Î¿ô¤¬ÊÖ¤µ¤ì¤ë¡£
-¼ºÇÔ¤·¤¿¾ì¹ç¡¢ \-1 ¤¬ÊÖ¤µ¤ì¡¢
-.I errno
-¤ËŬÀÚ¤ÊÃͤ¬¥»¥Ã¥È¤µ¤ì¤ë¡£
-.PP
-.I list
-¥Ð¥Ã¥Õ¥¡¤ÎÂ礤µ
-.I size
-¤¬·ë²Ì¤òÊÝ»ý¤¹¤ë¤Î¤Ë½½Ê¬¤ÊÂ礤µ¤Ç¤Ê¤¤¾ì¹ç¡¢
-.I errno
-¤Ë
-.B ERANGE
-¤¬¥»¥Ã¥È¤µ¤ì¤ë¡£
-.PP
-³Èĥ°À¤¬¤½¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢
-¤â¤·¤¯¤Ï̵¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢
-.I errno
-¤Ë
-.B ENOTSUP
-¤¬¥»¥Ã¥È¤µ¤ì¤ë¡£
+.SH 返り値
+成功した場合、拡張属性の名前リストの長さを表す非負の数が返される。 失敗した場合、 \-1 が返され、 \fIerrno\fP に適切な値がセットされる。
+.SH エラー
+.TP
+\fBENOTSUP\fP
+拡張属性がそのファイルシステムでサポートされていない、 もしくは無効になっている。
+.TP
+\fBERANGE\fP
+\fIlist\fP バッファの大きさ \fIsize\fP が結果を保持するのに十分な大きさでなかった。
.PP
-.BR stat (2)
-¥·¥¹¥Æ¥à¥³¡¼¥ë¤ÎÀâÌÀ¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¥¨¥é¡¼¤Ï
-¤³¤ì¤é¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ë¤âŬÍѤµ¤ì¤ë¡£
-.SH ¥Ð¡¼¥¸¥ç¥ó
-¤³¤ì¤é¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¥«¡¼¥Í¥ë 2.4 °Ê¹ß¤Î Linux ¤ÇÍøÍѤǤ¤ë¡£
-glibc ¤Ç¤Î¥µ¥Ý¡¼¥È¤Ï¥Ð¡¼¥¸¥ç¥ó 2.3 °Ê¹ß¤Ç¹Ô¤ï¤ì¤Æ¤¤¤ë¡£
-.SH ½àµò
-¤³¤ì¤é¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï Linux Æȼ«¤Ç¤¢¤ë¡£
-.\" .SH Ãø¼Ô
+上記に加えて、 \fBstat\fP(2) に書かれているエラーが発生する場合もある。
+.SH バージョン
+これらのシステムコールはカーネル 2.4 以降の Linux で利用できる。 glibc でのサポートはバージョン 2.3 以降で行われている。
+.SH 準拠
+.\" .SH AUTHORS
.\" Andreas Gruenbacher,
.\" .RI < a.gruenbacher@computer.org >
-.\" ¤È the SGI XFS development team,
-.\" .RI < linux-xfs@oss.sgi.com >¡£
-.\" ¥Ð¥°¥ì¥Ý¡¼¥È¤ä¥³¥á¥ó¥È¤Ï¾åµ¤Î¥¢¥É¥ì¥¹¤Þ¤ÇÁ÷¤Ã¤Æ²¼¤µ¤¤¡£
-.SH ´ØÏ¢¹àÌÜ
-.BR getfattr (1),
-.BR setfattr (1),
-.BR getxattr (2),
-.BR open (2),
-.BR removexattr (2),
-.BR setxattr (2),
-.BR stat (2),
-.BR attr (5),
-.BR symlink (7)
+.\" and the SGI XFS development team,
+.\" .RI < linux-xfs@oss.sgi.com >.
+.\" Please send any bug reports or comments to these addresses.
+これらのシステムコールは Linux 独自である。
+.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.54 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。