kazmax - Linux で自宅サーバー

ustat - システムコールの説明 - Linux コマンド集 一覧表

  1. 名前
  2. 書式
  3. 説明
  4. 返り値
  5. エラー
  6. 準拠
  7. 注意
  8. HP-UX における注意
  9. 関連項目

名前

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 は実装 (implemented) されておらず、常に NULL バイト ('\0') で埋められる。

返り値

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

エラー

EFAULT
ubuf がアクセス可能な空間の外側を指している。
EINVAL
dev がマウントされたファイル・システムを含むデバイスを参照していない。
ENOSYS
dev で参照されるマウントされたファイル・システムがこの操作 (operation) を サポートしていないか、Linux のバージョンが 1.3.16 以前である。

準拠

SVr4.

注意

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

HP-UX における注意

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

関連項目