doc/ja_JP.eucJP/man/man9/VOP_GETEXTATTR.9

104 lines
3.4 KiB
Groff

.\"-
.\" Copyright (c) 1999 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.1.2.3 2001/12/17 11:30:18 ru 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
.Fn VOP_GETEXTATTR "struct vnode *vp" "char *name" "struct uio *uio" "struct ucred *cred" "struct proc *p"
.Sh 解説
この vnode 呼び出しは、ファイルまたはディレクトリから、
指定した名前付き拡張属性を取り出すために使用することができます。
.Pp
引数は以下の通りです。
.Bl -tag -width type
.It Fa vp
ファイルまたはディレクトリの vnode。
.It Fa name
属性名が入った null で終端された文字列へのポインタ。
.It Fa uio
読み込むまたは書き込むべきデータの位置。
.It Fa cred
要求の認証で使用するためのユーザ証明。
.It Fa p
拡張属性を要求しているプロセス。
.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 ENOENT
この 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 uio
引数が無効です。
.It Bq Er EOPNOTSUPP
ファイルシステムが
.Fn VOP_GETEXTATTR
をサポートしていません。
.El
.Sh 関連項目
.Xr extattr 9 ,
.Xr vnode 9 ,
.Xr VOP_SETEXTATTR 9