|
≫ |
|
|
|
HP OpenVMS HP C ランタイム・ライブラリ・リファレンス・マニュアル (下巻)
指定されたファイルが格納されているデバイスに関する情報を取得します。
形式
#include <statvfs.h>
int statvfs (const char *restrict path, struct statvfs *restrict buffer);
引数
pathマウントされているデバイス上の任意のファイル。
buffer返される情報を保持する,
statvfs構造体へのポインタ
説明
statvfs関数は,指定されたファイルが格納されているデバイスに関する情報を返します。指定されたファイルに対する読み込み,書き込み,実行の許可は必要ありません。情報は,
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- 空きファイル・シリアル番号の合計。 OpenVMS システムでは,この値は「空きブロック数/クラスタサイズ」で計算されます。
fsfilcnt_t f_favail- 非特権プロセスが利用できるファイル・シリアル番号の数 (OpenVMS システムでは 0)。
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]- メディア・タイプ名。
正常に完了すると,
statvfsは 0 (ゼロ) を返します。失敗すると - 1 を返し,
errnoにエラーを示す値を設定します。
fstatvfsも参照してください。
戻り値
0
|
正常終了。
|
-1
|
エラーを示します。
errno
には,以下のいずれかが設定されます。
- EACCES - パス接頭辞のコンポーネントに対する検索許可が拒否されました。
- EIO - デバイスの読み込み中に入出力エラーが発生しました。
- EINTR - 関数の実行中にシグナルを受信しました。
- EOVERFLOW - 返却する値の 1 つが,
buffer が示す構造体で正しく表現できません。
- ENAMETOOLONG - パス・パラメータのコンポーネントの長さが NAME_MAX を超えたか,パス・パラメータの長さが PATH_MAX を超えました。
- ENOENT -
path のコンポーネントが,存在するファイルを示していないか,
path が空文字列です。
- ENOTDIR -
path パラメータのパス接頭辞のコンポーネントが,ディレクトリではありません。
|
|