Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all bug

名前

       getxattr, lgetxattr, fgetxattr - 拡張属性の値を取得する

書式

       #include <sys/types.h>
       #include <sys/xattr.h>

       ssize_t getxattr(const char *path, const char *name,
                        void *value, size_t size);
       ssize_t lgetxattr(const char *path, const char *name,
                        void *value, size_t size);
       ssize_t fgetxattr(int fd, const char *name,
                        void *value, size_t size);

説明

       Extended  attributes  are  name:value  pairs  associated  with inodes (files, directories,
       symbolic links, etc.).  They are extensions to the normal attributes which are  associated
       with  all inodes in the system (i.e., the stat(2)  data).  A complete overview of extended
       attributes concepts can be found in xattr(7).

       getxattr()  retrieves  the  value  of  the  extended  attribute  identified  by  name  and
       associated  with  the  given path in the filesystem.  The attribute value is placed in the
       buffer pointed to by value; size specifies the size of that buffer.  The return  value  of
       the call is the number of bytes placed in value.

       lgetxattr()   は  getxattr()  と同じだが、シンボリックリンクの場合に、リンクが参照している
       ファイル ではなく、リンクそのものの情報を取得する点だけが異なる。

       fgetxattr()  は getxattr()  と同じだが、 path の代わりに fd で参照されたオープン済みファイ
       ルの情報だけを取得する点が異なる (fdopen(2)  によって返される)。

       An  extended  attribute  name  is a null-terminated string.  The name includes a namespace
       prefix; there may be several, disjoint namespaces associated  with  an  individual  inode.
       The value of an extended attribute is a chunk of arbitrary textual or binary data that was
       assigned using setxattr(2).

       If size is specified as zero, these calls return the current size of  the  named  extended
       attribute  (and  leave  value  unchanged).   This can be used to determine the size of the
       buffer that should be supplied in a subsequent call.  (But, bear in mind that there  is  a
       possibility that the attribute value may change between the two calls, so that it is still
       necessary to check the return status from the second call.)

返り値

       On success, these calls return a nonnegative value which is the size  (in  bytes)  of  the
       extended attribute value.  On failure, -1 is returned and errno is set appropriately.

エラー

       E2BIG  The  size  of  the  attribute  value  is  larger than the maximum size allowed; the
              attribute cannot be retrieved.  This can happen on filesystems  that  support  very
              large attribute values such as NFSv4, for example.

       ENODATA
              The named attribute does not exist, or the process has no access to this attribute.

       ENOTSUP
              拡張属性がそのファイルシステムでサポートされていない、 もしくは無効になっている。

       ERANGE value バッファーの大きさ size が結果を保持するのに十分な大きさでなかった。

       上記に加えて、 stat(2) に書かれているエラーが発生する場合もある。

バージョン

       これらのシステムコールはカーネル  2.4 以降の Linux で利用できる。 glibc でのサポートはバー
       ジョン 2.3 以降で行われている。

準拠

       これらのシステムコールは Linux 独自である。

       listxattr(2) を参照。

関連項目

       getfattr(1), setfattr(1), listxattr(2),  open(2),  removexattr(2),  setxattr(2),  stat(2),
       symlink(7), xattr(7)

この文書について

       この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの
       説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。