USTAT(2)

名前
ustat - ファイルシステム (file system) の統計を得る

書式
#include <sys/types.h>
#include <unistd.h>    /* libc[45] */
#include <ustat.h>     /* glibc2 */

int ustat(dev_t dev, struct ustat *ubuf);

説明
ustat() はマウント (mount) されたファイルシステムの情報を返す。 dev は調べるファイルシステムを含んでいるデバイス (device) の デバイス番号。 ubuf は以下のメンバーを含む ustat 構造体へのポインター:

    daddr_t f_tfree;      /* Total free blocks */
    ino_t   f_tinode;     /* Number of free inodes */
    char    f_fname[6];   /* Filsys name */
    char    f_fpack[6];   /* Filsys pack name */

後の二つのフィールド f_fname と f_fpack は実装されておらず、常にヌルバイト ('\0') で埋められる。

返り値
成功した場合にはゼロが返され、 ubuf が指す ustat 構造体が埋められる。 エラーの場合は -1 が返され、 errno が適切に設定される。

エラー

EFAULT
    ubuf がアクセス可能な空間の外側を指している。

EINVAL
    dev がマウントされたファイルシステムを含むデバイスを参照していない。

ENOSYS
    dev で参照されるマウントされたファイルシステムがこの操作 (operation) を サポートしていないか、Linux のバージョンが 1.3.16 以前である。

バージョン
Since version 2.28, glibc no longer provides a wrapper for this system call.

準拠
SVr4.

注意
ustat() は推奨されず、互換性のためだけに提供される。 新しいプログラムは全てこれの代りに statfs(2) を使用するべきである。

  HP-UX における注意
HP-UX 版の構造体 ustat には、その他にフィールド f_blksize が存在するが、他では見かけない。 HP-UX は次のように警告している: ファイルシステムの中には、解放されている inode の数を変更しないものもある。 このようなファイルシステムは、フィールド f_tinode に -1 を返す。 ファイルシステムの中には、inode を動的に確保するものもある。 このようなファイルシステムは、現在解放されている inode の数を返す。

関連項目
stat(2), statfs(2)

この文書について
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。