OSDN Git Service

(split) Convert release and draft pages to UTF-8.
[linuxjm/LDP_man-pages.git] / release / man2 / getxattr.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 02:47:19 JST 2003
30 .\"         by Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
31 .\"
32 .\"WORD:        extended attributes     拡張属性
33 .\"WORD:        namespace               名前空間
34 .\"
35 .TH GETXATTR 2 2001-12-01 "Linux" "Linux Programmer's Manual"
36 .SH 名前
37 getxattr, lgetxattr, fgetxattr \- 拡張属性の値を取得する
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 getxattr(const char\ *" path ", const char\ *" name ,
45 .BI "                 void\ *" value ", size_t " size );
46 .BI "ssize_t lgetxattr(const char\ *" path ", const char\ *" name ,
47 .BI "                 void\ *" value ", size_t " size );
48 .BI "ssize_t fgetxattr(int " fd ", const char\ *" name ,
49 .BI "                 void\ *" value ", size_t " size );
50 .fi
51 .fam T
52 .SH 説明
53 拡張属性は、inode (ファイル、ディレクトリ、シンボリックリンク等) に
54 関連付けられた
55 .IR name :\c
56 .I value
57 の対である。
58 これらは、システム上のすべての inode に関連付けられた通常の属性
59 .RB ( stat (2)
60 が返すデータ) を拡張するものである。
61 拡張属性のコンセプトは
62 .BR attr (5)
63 に書かれている。
64 .PP
65 .BR getxattr ()
66 は、ファイルシステム内の指定された
67 .I path
68 に対応する、名前
69 .I name
70 の拡張属性の
71 .I value
72 (値) を取得する。
73 属性
74 .I value
75 の長さが返される。
76 .PP
77 .BR lgetxattr ()
78
79 .BR getxattr ()
80 と同じだが、シンボリックリンクの場合に、リンクが参照しているファイル
81 ではなく、リンクそのものの情報を取得する点だけが異なる。
82 .PP
83 .BR fgetxattr ()
84
85 .BR getxattr ()
86 と同じだが、
87 .I path
88 の代わりに
89 .I fd
90 で参照されたオープン済みファイルの情報だけを取得する点が異なる
91 .RI ( fd
92
93 .BR open (2)
94 によって返される)。
95 .PP
96 拡張属性の名前
97 .I name
98 は普通の NULL 終端された文字列である。
99 名前には、名前空間を表す接頭辞 (prefix) が含まれる;
100 個々の inode に対して、互いに独立な名前空間が複数あってもよい。
101 拡張属性の値は、ある一定の長さの任意のテキスト・データまたは
102 バイナリ・データの集合である。
103 .PP
104 .I size
105 に 0 を指定して空のバッファをこれらのシステムコールに渡すことができ、
106 この場合には指定された名前の拡張属性の現在のサイズが返される。
107 この方法は、拡張属性の値を保持するのに十分な大きさのバッファ・サイズを
108 見積もるのに使うことができる、
109 .PP
110 このシステムコール・インタフェースは、初期バッファのサイズの推測をしたり、
111 与えられたバッファが小さすぎたことを返り値で知らせることでバッファを大きく
112 したりできるように設計されている。
113 .SH 返り値
114 成功した場合、拡張属性の値の長さを表す正の数が返される。
115 失敗した場合、 \-1 が返され、
116 .I errno
117 に適切な値がセットされる。
118 .PP
119 指定された名前の属性が存在しない場合、またはプロセスがその属性にアクセス
120 する権限がない場合、
121 .I errno
122
123 .B ENOATTR
124 がセットされる。
125 .PP
126 .I value
127 バッファの大きさ
128 .I size
129 が結果を保持するのに十分な大きさでない場合、
130 .I errno
131
132 .B ERANGE
133 がセットされる。
134 .PP
135 拡張属性がそのファイルシステムでサポートされていない場合、
136 もしくは無効になっている場合、
137 .I errno
138
139 .B ENOTSUP
140 がセットされる。
141 .PP
142 .BR stat (2)
143 システムコールの説明に書かれているエラーは
144 これらのシステムコールにも適用される。
145 .SH バージョン
146 これらのシステムコールはカーネル 2.4 以降の Linux で利用できる。
147 glibc でのサポートはバージョン 2.3 以降で行われている。
148 .SH 準拠
149 これらのシステムコールは Linux 独自である。
150 .\" .SH 著者
151 .\" Andreas Gruenbacher,
152 .\" .RI < a.gruenbacher@computer.org >
153 .\" と SGI XFS 開発チーム,
154 .\" .RI < linux-xfs@oss.sgi.com >。
155 .\" バグレポートやコメントは上記のアドレスまで送って下さい。
156 .SH 関連項目
157 .BR getfattr (1),
158 .BR setfattr (1),
159 .BR listxattr (2),
160 .BR open (2),
161 .BR removexattr (2),
162 .BR setxattr (2),
163 .BR stat (2),
164 .BR attr (5),
165 .BR symlink (7)