Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ statfs(2) — NEWS-os 3.3

Media Vault

Software Library

Restoration Projects

Artifacts Sought

STATFS(2)  —  UNIX Programmer’s Manual

名称

statfs − ファイルシステムの統計を取り出す

形式

#include <sys/vfs.h>
statfs(path, buf)
char ∗path;
struct statfs ∗buf;
fstatfs(fd, buf)
int fd;
struct statfs ∗buf;

解説

statfs は、 マウントされているファイルシステムに関する情報を返します。 path は、 マウントされているファイルシステム内にある任意のファイルのパス名です。 buf は、 statfs 構造体へのポインタで、 その構造体は次のように定義されています。

typedef struct {
longval[2];
} fsid_t;
struct statfs {
longf_type; /∗ type of info, zero for now ∗/
longf_bsize;/∗ fundamental file system block size ∗/
longf_blocks;/∗ total blocks in file system ∗/
longf_bfree;/∗ free blocks ∗/
longf_bavail;/∗ free blocks available to non-superuser ∗/
longf_files;/∗ total file nodes in file system ∗/
longf_ffree;/∗ free file nodes in fs ∗/
fsid_tf_fsid; /∗ file system id ∗/
longf_spare[7];/∗ spare for later ∗/
};

個々のファイルシステムで未定義になっているフィールドは、 −1 にセットされます。 fstatfs は、 ディスクリプタ fd によって指されたオープンファイルについて同じ情報を返します。

リターン値

正常終了した場合には、 値 0 が返されます。 そうでない場合には、 −1 が返され、 グローバル変数 errno がエラーを示すようにセットされます。

エラー

次のエラーのうちの 1つまたは複数が真である場合には、 statfs は失敗します。

[ENOTDIR] path のパスプレフィックスの構成要素がディレクトリではないものがある。

[EINVAL] path に最上位ビットのセットされたキャラクタが含まれている。 (NEWS-OSではおきない。)

[ENAMETOOLONG]
path の1構成要素が 255 バイトを超えている、 または path 全体が 1023 バイトを超えている。

[ENOENT] path で指定されたファイルが存在していない。

[EACCES] path のパスプレフィックスの構成要素について サーチパーミッションが否定されているものがある。

[ELOOP] path の処理で遭遇したシンボリックリンクの数が多すぎる。

[EFAULT] buf または path が、 無効なアドレス指し示している。

[EIO] ファイルシステムへの書き込みまたはファイルシステムからの読み取りを 行っている間に入出力エラーが発生した。 次のエラーのうちの 1つまたは複数が真である場合には、 fstatfs は失敗します。

[EBADF] fd が有効なオープンファイルディスクリプタではない。

[EFAULT] buf が無効なアドレスを指し示している。

[EIO] ファイルシステムへの書き込みまたはファイルシステムからの読み取りを 行っている間に入出力エラーが発生した。

NEWS-OSRelease 3.3

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026