From a6163888f3c56123b1db313743c6147ba498732c Mon Sep 17 00:00:00 2001 From: Yuval Adam Date: Fri, 8 Aug 2014 14:42:07 +0300 Subject: Add third_party libs --- .../FileSystem/FatFs-0.7e/doc/ja/readdir.html | 124 +++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 third_party/FreeRTOS/Demo/Common/FileSystem/FatFs-0.7e/doc/ja/readdir.html (limited to 'third_party/FreeRTOS/Demo/Common/FileSystem/FatFs-0.7e/doc/ja/readdir.html') diff --git a/third_party/FreeRTOS/Demo/Common/FileSystem/FatFs-0.7e/doc/ja/readdir.html b/third_party/FreeRTOS/Demo/Common/FileSystem/FatFs-0.7e/doc/ja/readdir.html new file mode 100644 index 0000000..13c6b56 --- /dev/null +++ b/third_party/FreeRTOS/Demo/Common/FileSystem/FatFs-0.7e/doc/ja/readdir.html @@ -0,0 +1,124 @@ + + + + + + + +FatFs - f_readdir + + + + +
+

f_readdir

+

ディレクトリ項目を読み出します

+
+FRESULT f_readdir (
+  DIR* DirObject,    /* ディレクトリ・ブジェクト構造体へのポインタ */
+  FILINFO* FileInfo  /* ファイル情報構造体へのポインタ */
+);
+
+
+ +
+

引数

+
+
DirObject
+
ディレクトリ・オブジェクト構造体へのポインタを指定します。
+
FileInfo
+
読み出したディレクトリ項目を格納するファイル情報構造体へのポインタを指定します。
+
+
+ + +
+

戻り値

+
+
FR_OK (0)
+
正常終了。
+
FR_NOT_READY
+
メディアがセットされていないなど、物理ドライブが動作不能状態。
+
FR_DISK_ERR
+
ディスク・エラーによる失敗。
+
FR_INT_ERR
+
不正なFAT構造または内部エラーによる失敗。
+
FR_INVALID_OBJECT
+
無効なディレクトリ・オブジェクト。
+
+
+ + +
+

解説

+

ディレクトリ項目を順次読み出します。この関数を繰り返し実行することによりディレクトリの全ての項目を読み出すことができます。全ての項目を読み出し、読み出す項目がもう無いときは、f_name[]メンバにヌル文字列が返されます。ボリューム名は読み出すときに棄てられ、現れることはありません。"."、".."は、相対パスが有効なとき(_FS_RPATH == 1)にのみ現れます。得られるファイル情報の詳細については FILINFO構造体を参照してください。FileInfoにヌル・ポインタを指定すると、そのディレクトリのリード・インデックスを巻き戻します。

+

LFN機能が有効な時は、f_readdir関数の呼び出しに先立ってFILINFO構造体のlfnamelfsizeが有効な値で初期化されていなければなりません。lfnameはLFNを格納するバッファで、lfsizeはそのバッファ・サイズ(文字数)です。次の条件に一つでも該当する場合は、LFN格納バッファにヌル文字列が返されます。

+ +

また、lfnameにヌル・ポインタを指定した場合は、LFNに関して何も返されません。LFNが存在しないときは、f_name[]メンバのSFNにASCII英小文字が含まれる場合があります。

+
+ + +
+

対応情報

+

_FS_MINIMIZE <= 1のときに使用可能です。

+
+ + +
+

使用例

+
+FRESULT scan_files (char* path)
+{
+    FRESULT res;
+    FILINFO fno;
+    DIR dir;
+    int i;
+    char *fn;
+#if _USE_LFN
+    static char lfn[_MAX_LFN * (_DF1S ? 2 : 1) + 1];
+    fno.lfname = lfn;
+    fno.lfsize = sizeof(lfn);
+#endif
+
+
+    res = f_opendir(&dir, path);
+    if (res == FR_OK) {
+        i = strlen(path);
+        for (;;) {
+            res = f_readdir(&dir, &fno);
+            if (res != FR_OK || fno.fname[0] == 0) break;
+            if (fno.fname[0] == '.') continue;
+#if _USE_LFN
+            fn = *fno.lfname ? fno.lfname : fno.fname;
+#else
+            fn = fno.fname;
+#endif
+            if (fno.fattrib & AM_DIR) {
+                sprintf(&path[i], "/%s", fn);
+                res = scan_files(path);
+                if (res != FR_OK) break;
+                path[i] = 0;
+            } else {
+                printf("%s/%s\n", path, fn);
+            }
+        }
+    }
+
+    return res;
+}
+
+
+ + +
+

参照

+

f_opendir, f_stat, FILINFO, DIR

+
+ +

戻る

+ + -- cgit v1.3.1