fchflags(2) FreeBSD 一般コマンドマニュアル

fchflags

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

fchflags




書式

     #include <sys/stat.h>
     #include <unistd.h>

     int
     chflags(const char *path, u_long flags);

     int
     fchflags(int fd, u_long flags);


解説

     名前が path によって指定されるファイル、または記述子 fd によって参照され
     るファイルのフラグが flags に変更されます。

     指定されたフラグは次の値の論理和 (or) を取ることで作成されます。

           UF_NODUMP     そのファイルを dump の対象外とします。
           UF_IMMUTABLE  そのファイルは変更禁止です。
           UF_APPEND     そのファイルは末尾への追加だけが可能です。
           UF_NOUNLINK   そのファイルは名前を変更したり削除できません。
           UF_OPAQUE     ユニオンファイルシステムのスタックを通じて見るとき、
                         このディレクトリは不透明です。
           SF_ARCHIVED   そのファイルはアーカイブ可能です。
           SF_IMMUTABLE  そのファイルは変更禁止です。
           SF_APPEND     そのファイルは末尾への追加だけが可能です。
           SF_NOUNLINK   そのファイルは名前を変更したり削除できません。

     ``UF_IMMUTABLE'', ``UF_APPEND'', ``UF_NOUNLINK'', ``UF_NODUMP'',
     ``UF_OPAQUE'' フラグは、ファイルの所有者またはスーパユーザのどちらかに
     よって設定または設定解除できます。 ``SF_IMMUTABLE'', ``SF_APPEND'',
     ``SF_NOUNLINK'', ``SF_ARCHIVED'' フラグは、スーパユーザだけが設定または設
     定解除できます。スーパユーザのみが設定できるフラグをスーパユーザでないも
     のが設定しようとしても警告なしで無視されます。これらのフラグはいつでも設
     定できますが、通常は、システムがシングルユーザモードにあるときにだけ設定
     解除するのが普通です (詳細については init(8) を参照してください)。


戻り値

     成功して終了したときには値 0 を返します。そうでない場合、値 -1 が返され、
     グローバル変数 errno が設定されてエラーを示します。


エラー

     chflags() の処理は以下の場合に失敗します。

     [ENOTDIR]          パスの構成要素中にディレクトリ以外のものが含まれていま
                        す。

     [ENAMETOOLONG]     パス名の構成要素が 255 文字を越えているか、またはパス
                        名全体が 1023 文字を越えています。

     [ENOENT]           指定されたファイルが存在しません。


     [EIO]              ファイルシステムに読み書きしている間に入出力エラーが発
                        生しました。

     [EOPNOTSUPP]       ファイルシステムがファイルフラグをサポートしません。

     fchflags() の処理は以下の場合に失敗します。

     [EBADF]            記述子が有効ではありません。

     [EINVAL]           fd がファイルではなくソケットを参照しています。

     [EPERM]            実効ユーザ ID がファイルの所有者と一致せず、実効ユーザ
                        ID がスーパユーザではありません。

     [EROFS]            ファイルが読み取り専用システム上に存在しています。

     [EIO]              ファイルシステムに読み書きしている間に入出力エラーが発
                        生しました。

     [EOPNOTSUPP]       ファイルシステムがファイルフラグをサポートしません。


関連項目

     chflags(1), fflagstostr(3), strtofflags(3), init(8), mount_union(8)


歴史

     chflags 関数と fchflags 関数は 4.4BSD ではじめて登場しました。

FreeBSD 4.4                       May 2, 1995                      FreeBSD 4.4

ABELNET VPSサービス