|
≫ |
|
|
|
HP OpenVMS HP C ランタイム・ライブラリ・リファレンス・マニュアル (下巻)
指定されたファイルが格納されているデバイスに関する情報を取得します。
形式
#include <statvfs.h>
int fstatvfs (int filedes, struct statvfs *buffer);
引数
filedes
open関数または
fcntl関数の呼び出しで取得したファイル記述子。
buffer返される情報を保持する,
statvfs構造体へのポインタ。
説明
fstatvfs関数は,指定されたファイルが格納されているデバイスに関する情報を返します。指定されたファイルに対する読み込み,書き込み,実行の許可は必要ありません。情報は,
statvfs構造体の形で返されます。この構造体はヘッダ・ファイル
<statvfs.h>で定義されており,以下のメンバが含まれています。
unsigned long f_bsize- 優先ブロックサイズ。
unsigned long f_frsize- 基本ブロックサイズ。
fsblkcnt_t f_blocks- ブロック数の合計。単位は
f_frsize
fsblkcnt_t f_bfree- 空きブロックの合計数。 DFS ディスクに対する $GETDVI で,無意味な空きブロック数が誤ってレポートされる場合,
f_bfreeには最大ブロック数が設定されます。
fsblkcnt_t f_bavail- 利用可能な空きブロックの数。呼び出し元のディスク・クォータの未使用分が設定されます。
fsfilcnt_t f_files- ファイル (inode) の合計数。
fsfilcnt_t f_ffree- 空きファイル (inode) 数。 OpenVMS システムでは,この値は「空きブロック数/クラスタサイズ」で計算されます。
fsfilcnt_t f_favail- 非特権空きファイル (inode) 数。
f_ffreeが設定されます。
unsigned long f_fsid- ファイル・システム ID。この ID は,割り当てクラス・デバイス名に基づきます。デバイスがローカルにマウントされている限り,デバイスに基づいた一意の値が提供されます。
unsigned long f_flag- 以下の 1 つ以上のフラグを表すビット・マスク。
ST_RONLY- ボリュームは読み込み専用。
ST_NOSUID- ボリュームで保護されたサブシステムが有効。
unsigned long f_namemax- ファイル名の最大長。
char f_basetype[64]- デバイス・タイプ名。
char f_fstr[64]- 論理ボリューム名。
char __reserved[64]- メディア・タイプ名。
正常に完了すると,
fstatvfsは 0 (ゼロ) を返します。失敗すると - 1 を返し,
errnoにエラーを示す値を設定します。
statvfsも参照してください。
戻り値
0
|
正常終了。
|
-1
|
エラーを示します。
errno
には,以下のいずれかが設定されます。
- EBADF - ファイル記述子パラメータの値が不正です。
- EIO - デバイスの読み込み中に入出力エラーが発生しました。
- EINTR - 関数の実行中にシグナルを受信しました。
- EOVERFLOW - 返却する値の 1 つが,
buffer が示す構造体で正しく表現できません。
|
|