From efa13a879df590ce0043a5b4f97597484bf264e1 Mon Sep 17 00:00:00 2001 From: inmarket Date: Wed, 13 Aug 2014 15:48:16 +1000 Subject: Move 3rd Party source to a new directory. Rationalise Fatfs code and fix a couple of configuration issues. --- 3rdparty/fatfs-0.10b/doc/ja/getfree.html | 95 ++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 3rdparty/fatfs-0.10b/doc/ja/getfree.html (limited to '3rdparty/fatfs-0.10b/doc/ja/getfree.html') diff --git a/3rdparty/fatfs-0.10b/doc/ja/getfree.html b/3rdparty/fatfs-0.10b/doc/ja/getfree.html new file mode 100644 index 00000000..5235ce3b --- /dev/null +++ b/3rdparty/fatfs-0.10b/doc/ja/getfree.html @@ -0,0 +1,95 @@ + + + + + + + + +FatFs - f_getfree + + + + +
+

f_getfree

+

ボリューム上の空き領域のサイズを取得します。

+
+FRESULT f_getfree (
+  const TCHAR* path,  /* [IN] 対象ドライブを指定します */
+  DWORD* nclst,       /* [OUT] 空きクラスタ数を格納する変数へのポインタ */
+  FATFS** fatfs       /* [OUT] ファイル・システム・オブジェクトを指すポインタへのポインタ */
+);
+
+
+ +
+

引数

+
+
path
+
調べる対象の論理ドライブを示すパス名を示すヌル文字'\0'終端の文字列へのポインタを指定します。ヌル文字列はカレント・ドライブを意味します。
+
nclst
+
空きクラスタ数を格納するDWORD型変数へのポインタを指定します。
+
fatfs
+
対象ドライブのファイル・システム・オブジェクトを指すポインタが返されます。
+
+
+ + +
+

戻り値

+

+FR_OK, +FR_DISK_ERR, +FR_INT_ERR, +FR_NOT_READY, +FR_INVALID_DRIVE, +FR_NOT_ENABLED, +FR_NO_FILESYSTEM, +FR_TIMEOUT +

+
+ + +
+

解説

+

論理ドライブ上の空き領域のサイズをクラスタ単位で取得します。返されたファイル・システム・オブジェクトのcsizeメンバがクラスタあたりのセクタ数を示しているので、これを元にセクタ単位の空きサイズが計算できます。FAT32ボリュームにおいては、FSINFOの情報が実際の空きクラスタ数と同期していない場合、不正確な値を返す可能性があります。この問題を避けるため、_FS_NOFSINFOオプションでマウント後の初回は必ずフルFATスキャンをするように構成することもできます。

+
+ + +
+

対応情報

+

_FS_READONLY == 0で、且つ_FS_MINIMIZE == 0のとき使用可能です。

+
+ + +
+

使用例

+
+    FATFS *fs;
+    DWORD fre_clust, fre_sect, tot_sect;
+
+
+    /* ドライブ1のボリューム情報と空きクラスタ数を得る */
+    res = f_getfree("1:", &fre_clust, &fs);
+    if (res) die(res);
+
+    /* 全セクタ数と空きセクタ数を計算 */
+    tot_sect = (fs->n_fatent - 2) * fs->csize;
+    fre_sect = fre_clust * fs->csize;
+
+    /* ボリューム全体のサイズと空きのサイズを表示 (512バイト/セクタと仮定) */
+    printf("%10lu KiB total drive space.\n%10lu KiB available.\n",
+           tot_sect / 2, fre_sect / 2);
+
+
+ + +
+

参照

+FATFS +
+ +

戻る

+ + -- cgit v1.2.3