VOP_SETEXTATTR(9) FreeBSD 一般コマンドマニュアル

VOP_SETEXTATTR

前のページ 上に戻る 次のページ

VOP_SETEXTATTR


     #include <sys/vnode.h>
     #include <sys/extattr.h>

     int
     VOP_SETEXTATTR(struct vnode *vp, char *name, struct uio *uio,
             struct ucred *cred, struct proc *p);


解説

     この vnode 呼び出しは、ファイルまたはディレクトリに対し、特定の名前付き拡
     張属性を設定するために使用可能です。

     引数は以下の通りです。

     vp    ファイルまたはディレクトリの vnode。

     name  属性の名前が入った、ヌル文字で終端された文字列へのポインタ。

     uio   読み込みまたは書き込みされるデータの位置。

     cred  要求の認証で使用するユーザ証明。

     p     拡張属性を設定しているプロセス。

     uio 構造体は、 VOP_WRITE での同じ名前の引数と同様に使用されます。しかしな
     がら、拡張属性が厳密な "name=value" のセマンティクスを規定しているので、
     0 でないオフセットは却下されるでしょう。

     uio ポインタは、 NULL であることが可能であり、指定された拡張属性が削除さ
     れるべきであることを指示します。

     cred ポインタは、 NULL を渡すことができ、可能であるならばアクセス制御
     チェックが実行されないことを指示します。この cred の設定は、アクティブプ
     ロセスに許されていない拡張属性の変更を、カーネルが正当化することを認める
     ために使用可能です。

     拡張属性のセマンティクスは、呼び出しを実装しているファイルシステムに依存
     して異なり得ます。拡張属性についてのより多くの情報は extattr(9) を参照し
     てください。


ロック

     vnode は、入る時にロックされ、戻り時にもロックされ続けているべきです。


戻り値

     拡張属性が成功裏に設定された場合には 0 が返されます。そうでない場合には適
     切なエラーコードが返されます。


エラー

     [EACCES]           許可されませんでした。

     [ENXIO]            指定された vnode および属性名に対する要求は、このファ
                        イルシステムでは無効です。

     extattr(9), vnode(9), VOP_GETEXTATTR(9)


作者

     このマニュアルページは Robert Watson が書きました。

FreeBSD 4.4                    December 23, 1999                   FreeBSD 4.4

ABELNET VPSサービス