I'm very pleased to announce the release of our new website and documentation using the new toolchain with Hugo and AsciiDoctor. To get more information about the new toolchain please read the FreeBSD Documentation Project Primer[1], Hugo docs[2] and AsciiDoctor docs[3]. Acknowledgment: Benedict Reuschling <bcr@> Glen Barber <gjb@> Hiroki Sato <hrs@> Li-Wen Hsu <lwhsu@> Sean Chittenden <seanc@> The FreeBSD Foundation [1] https://docs.FreeBSD.org/en/books/fdp-primer/ [2] https://gohugo.io/documentation/ [3] https://docs.asciidoctor.org/home/ Approved by: doceng, core
134 lines
4 KiB
Groff
134 lines
4 KiB
Groff
.\"-
|
|
.\" Copyright (c) 1999, 2000, 2001, 2003 Robert N. M. Watson
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" %FreeBSD: src/share/man/man9/VOP_GETEXTATTR.9,v 1.21 2003/10/23 02:11:14 hmp Exp %
|
|
.\"
|
|
.\" $FreeBSD$
|
|
.Dd December 23, 1999
|
|
.Os
|
|
.Dt VOP_GETEXTATTR 9
|
|
.Sh 名称
|
|
.Nm VOP_GETEXTATTR
|
|
.Nd vnode からの名前付き拡張属性の取り出し
|
|
.Sh 書式
|
|
.In sys/param.h
|
|
.In sys/vnode.h
|
|
.In sys/extattr.h
|
|
.Ft int
|
|
.Fo VOP_GETEXTATTR
|
|
.Fa "struct vnode *vp"
|
|
.Fa "int attrnamespace"
|
|
.Fa "const char *name"
|
|
.Fa "struct uio *uio"
|
|
.Fa "size_t *size"
|
|
.Fa "struct ucred *cred"
|
|
.Fa "struct thread *td"
|
|
.Fc
|
|
.Sh 解説
|
|
この vnode 呼び出しは、ファイルまたはディレクトリから、
|
|
指定した名前付き拡張属性を取り出すために使用することができます。
|
|
.Pp
|
|
引数は以下の通りです。
|
|
.Bl -tag -width ".Fa attrnamespace"
|
|
.It Fa vp
|
|
ファイルまたはディレクトリの vnode。
|
|
.It Fa attrnamespace
|
|
どの拡張属性の名前空間に、その属性の名前が存在するのかを示す整数定数。
|
|
.It Fa name
|
|
属性名が入った null で終端された文字列へのポインタ。
|
|
.It Fa uio
|
|
読み込むべきデータの位置。
|
|
.It Fa size
|
|
.Dv NULL
|
|
でない場合には、戻る時に全ての属性データを読込むために要求される
|
|
バイト数が含まれます。
|
|
殆んどの場合、
|
|
.Fa size
|
|
が
|
|
.Dv NULL
|
|
ではない時には
|
|
.Fa uio
|
|
が
|
|
.Dv NULL
|
|
にされます。
|
|
またはその逆です。
|
|
.It Fa cred
|
|
要求の認証で使用するためのユーザ証明。
|
|
.It Fa td
|
|
拡張属性を要求しているスレッド。
|
|
.El
|
|
.Pp
|
|
.Fa cred
|
|
ポインタは、
|
|
.Dv NULL
|
|
を渡すことができ、
|
|
可能であるならばアクセス制御チェックが実行されないことを指示します。
|
|
この
|
|
.Fa cred
|
|
の設定は、アクティブプロセスに許されていない拡張属性の取り出しを
|
|
カーネルが正当化することを認めるために使用可能です。
|
|
.Pp
|
|
拡張属性のセマンティクスはファイルシステムの呼び出しの実装によって
|
|
異なるでしょう。
|
|
拡張属性のより多くの情報は
|
|
.Xr extattr 9
|
|
を参照してください。
|
|
.Sh LOCKS
|
|
この vnode は入る時にロックされ、戻る時までロックされ続けるべきです。
|
|
.Sh 戻り値
|
|
成功時には 0 が返され、読み込んだデータを反映して uio 構造体が更新されます。
|
|
そうでなければ適切なエラーコードが返されます。
|
|
.Sh エラー
|
|
.Bl -tag -width Er
|
|
.It Bq Er ENOATTR
|
|
要求された属性は、この vnode のために定義されていません。
|
|
.It Bq Er EACCES
|
|
呼び出し側が適切な特権を持っていません。
|
|
.It Bq Er ENXIO
|
|
指定された vnode および属性名に対する要求は、このファイルシステムでは無効です。
|
|
.It Bq Er ENOMEM
|
|
その要求を実行するための十分なメモリが利用可能ではありません。
|
|
.It Bq Er EFAULT
|
|
uio 構造体が無効なユーザ空間アドレスを参照しています。
|
|
.It Bq Er EINVAL
|
|
.Fa name ,
|
|
.Fa namespace ,
|
|
または
|
|
.Fa uio
|
|
引数が無効です。
|
|
.It Bq Er EOPNOTSUPP
|
|
ファイルシステムが
|
|
.Fn VOP_GETEXTATTR
|
|
をサポートしていません。
|
|
.El
|
|
.Sh 関連項目
|
|
.Xr extattr 9 ,
|
|
.Xr vnode 9 ,
|
|
.Xr VOP_LISTEXTATTR 9 ,
|
|
.Xr VOP_SETEXTATTR 9
|
|
.Sh バグ
|
|
属性名として空の文字列を渡すことによって、いくつかのファイルシステムは、
|
|
要求された名前空間における対象 vnode の持つ定義された名前のリストを返します。
|
|
これは悪い API ですので、明示的な VOP で置き換えられる予定です。
|