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

revoke

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

revoke




書式

     #include <unistd.h>

     int
     revoke(const char *path);


解説

     revoke() 関数は、 path によって指定されたファイルの、システム内に現在オー
     プンされているすべてのファイル記述子を無効にします。そのような記述子につ
     いての後続の操作は全て失敗します。ただし、キャラクタ型デバイスファイルへ
     の read() がカウント 0 (ファイルの終了) を返すのと、 close() 呼び出しが成
     功するのは例外です。指定されたファイルがあるデバイスについてのオープンさ
     れた特殊ファイルであった場合、そのファイルへのすべての参照がクローズされ
     たかのように、デバイスをクローズする関数が呼び出されます。

     ファイルへのアクセスはその所有者またはスーパユーザによってだけ無効にされ
     ます。 revoke() 関数は現時点ではブロック型およびキャラクタ型特殊ファイル
     についてだけサポートされています。これは通常、新しいログインセッション用
     に端末デバイスを準備するとき、以前の端末使用者によるアクセスを防止するた
     めに使用されます。


戻り値

     関数 revoke() は、処理が成功すると値 0 を返します。そうでない場合、値 -1
     が返され、グローバル変数 errno が設定されてエラーを示します。


エラー

     次の場合を除いて、指定ファイルへのアクセスは無効にされます。

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

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

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

     [EACCES]           指定されたパスには、検索が許可されていないディレクトリ
                        が含まれています。

     [ELOOP]            パス名を変換するときに検出されたシンボリックリンクが多
                        すぎます。

     [EFAULT]           path は、プロセスに割り当てられたアドレス空間の範囲外
                        を指しています。

     [EINVAL]           システムは、指定されたファイルについて revoke() 操作を
                        サポートしません。

     [EPERM]            呼び出し側がファイルの所有者でもスーパユーザでもありま
                        せん。


ABELNET VPSサービス