fs – Traduction – Dictionnaire Keybot

Spacer TTN Translation Network TTN TTN Login Deutsch English Spacer Help
Langues sources Langues cibles
Keybot 105 Résultats  elm-chan.org
  FatFs - f_closedir  
Available when _FS_MINIMIZE <= 1.
_FS_MINIMIZE <= 1のとき使用可能になります。
  FatFs - f_readdir  
", path, fno.fname); } } f_closedir(&dir) } return res; } int main (void) { FATFS fs; FRESULT res; char buff[256]; res = f_mount(&fs, "", 1); if (res == FR_OK) { strcpy(buff, "/"); res = scan_files(buff); } return res; }
FATFS fs; char buff[256]; FRESULT scan_files ( char* path /* 開始ノード (ワークエリアとしても使用) */ ) { FRESULT res; DIR dir; UINT i; static FILINFO fno; res = f_opendir(&dir, path); /* ディレクトリを開く */ if (res == FR_OK) { for (;;) { res = f_readdir(&dir, &fno); /* ディレクトリ項目を1個読み出す */ if (res != FR_OK || fno.fname[0] == 0) break; /* エラーまたは項目無しのときは抜ける */ if (fno.fattrib & AM_DIR) { /* ディレクトリ */ i = strlen(path); sprintf(&path[i], "/%s", fno.fname); res = scan_files(path); /* 一つ下へ */ if (res != FR_OK) break; path[i] = 0; } else { /* ファイル */ printf("%s/%s\n", path, fno.fname); } } f_closedir(&dir) } return res; } int main (void) { FRESULT res; res = f_mount(&fs, "", 1); if (res == FR_OK) { strcpy(buff, "/"); res = scan_files(buff); } return res; }
  FatFs - f_readdir  
", path, fno.fname); } } f_closedir(&dir) } return res; } int main (void) { FATFS fs; FRESULT res; char buff[256]; res = f_mount(&fs, "", 1); if (res == FR_OK) { strcpy(buff, "/"); res = scan_files(buff); } return res; }
FATFS fs; char buff[256]; FRESULT scan_files ( char* path /* 開始ノード (ワークエリアとしても使用) */ ) { FRESULT res; DIR dir; UINT i; static FILINFO fno; res = f_opendir(&dir, path); /* ディレクトリを開く */ if (res == FR_OK) { for (;;) { res = f_readdir(&dir, &fno); /* ディレクトリ項目を1個読み出す */ if (res != FR_OK || fno.fname[0] == 0) break; /* エラーまたは項目無しのときは抜ける */ if (fno.fattrib & AM_DIR) { /* ディレクトリ */ i = strlen(path); sprintf(&path[i], "/%s", fno.fname); res = scan_files(path); /* 一つ下へ */ if (res != FR_OK) break; path[i] = 0; } else { /* ファイル */ printf("%s/%s\n", path, fno.fname); } } f_closedir(&dir) } return res; } int main (void) { FRESULT res; res = f_mount(&fs, "", 1); if (res == FR_OK) { strcpy(buff, "/"); res = scan_files(buff); } return res; }
  FatFs - f_fdisk  
/* Initialize a brand-new disk drive mapped to physical drive 0 */ FATFS fs; DWORD plist[] = {50, 50, 0, 0}; /* Divide drive into two partitions */ BYTE work[_MAX_SS]; f_fdisk(0, plist, work); /* Divide physical drive 0 */ f_mkfs("0:", FM_ANY, work, sizeof work); /* Create FAT volume on the logical drive 0 */ f_mkfs("1:", FM_ANY, work, sizeof work); /* Create FAT volume on the logical drive 1 */
/* 新しい物理ドライブ(0)の初期化 */ FATFS fs; DWORD plist[] = {50, 50, 0, 0}; /* 第1区画,第2区画それぞれに50%ずつ割り当て */ BYTE work[_MAX_SS]; f_fdisk(0, plist, work); /* 物理ドライブ 0 の分割 */ f_mkfs("0:", FM_ANY, work, sizeof work); /* 論理ドライブ 0: のフォーマット */ f_mkfs("1:", FM_ANY, work, sizeof work); /* 論理ドライブ 1: のフォーマット */
  FatFs - disk_ioctl  
The disk_ioctl function is not needed when _FS_READONLY == 1 and _MAX_SS == _MIN_SS.
リード オンリー構成で、かつセクタ サイズ固定構成のときは、この関数は必要とされません。
  FatFs - f_utime  
Available when _FS_READONLY == 0 and _USE_CHMOD == 1.
_FS_READONLY == 0で、且つ_FS_MINIMIZE == 0のときに使用可能です。
  FatFs - Configuration O...  
Disable (0) or Enable (1) metadata control functions, f_chmod and f_utime. Also _FS_READONLY needs to be 0.
メタデータ操作機能の構成(0:無効 または 1:有効)。有効にすると、f_chmod、f_utime関数が利用可能になります。_FS_READONLYは0でなければなりません。
  FatFs - Configuration O...  
Disable (0) or Enable (1) filtered directory read functions, f_findfirst and f_findnext. Also _FS_MINIMIZE needs to be 0 or 1.
フィルタ付きディレクトリ読み出し機能の構成(0:無効 または 1:有効)。有効にすると、f_findfirst、f_findnext関数が利用可能になります。_FS_MINIMIZEは、1以下でなければなりません。
  FatFs - Configuration O...  
This set of options defines the time to be used at no RTC systems. This option has no effect at read-only configuration or _FS_NORTC = 0.
デフォルト日時の設定。_FS_NORTCが1のとき、固定して与えられる日付を指定します。_FS_NORTCが0のとき、およびリード オンリ構成ではこれらのオプションは意味を持ちません。
  FatFs - FILINFO  
Indicates size of the file in unit of byte. FSIZE_t is an alias of integer type either DWORD(32-bit) or QWORD(64-bit) depends on the configuration option _FS_EXFAT. Do not care when the item is a directory.
ファイルのバイト単位のサイズが格納されます。ディレクトリの場合は常に0です。データ型FSIZE_tは、DWORD(32-bit)またはQWORD(64-bit)のエリアスで、exFATサポートの有無により切り替わります。
  FatFs - f_findfirst  
This is a wrapper function of f_opendir and f_readdir function. Available when _USE_FIND >= 1 and _FS_MINIMIZE <= 1.
この関数は、f_opendir関数およびf_readdir関数のラッパー関数です。_USE_FIND >= 1で、かつ_FS_MINIMIZE <= 1のとき使用可能になります。
  FatFs - Configuration O...  
Number of time ticks to abort the file function with FR_TIMEOUT when wait time is too long. This option has no effect when _FS_REENTRANT = 0.
タイムアウト時間の設定。待ち合わせ時間が長いときにFR_TIMEOUTでファイル関数をアボートする時間を設定します。_FS_REENTRANTが0のときは意味を持ちません。
  FatFs - get_fattime  
This function is not needed when _FS_READONLY == 1 or _FS_NORTC == 1.
リード オンリー構成(_FS_READONLY == 1)または、非RTCサポート構成(_RTC_NOUSE == 1)ではこの関数は必要とされません。
  FatFs - FIL  
typedef struct { _FDID obj; /* Owner file sytem object and object identifier */ BYTE flag; /* File object status flags */ BYTE err; /* Abort flag (error code) */ FSIZE_t fptr; /* File read/write pointer (Byte offset origin from top of the file) */ DWORD clust; /* Current cluster of fptr (One cluster behind if fptr is on the cluster boundary. Invalid if fptr == 0.) */ DWORD sect; /* Current data sector (Can be invalid if fptr is on the cluster boundary.)*/ #if !
typedef struct { _FDID obj; /* オブジェクトID */ BYTE flag; /* ファイル ステータス フラグ */ BYTE err; /* エラー中断フラグ */ FSIZE_t fptr; /* ファイル読み書きポインタ (ファイル先頭からのバイト オフセット) */ DWORD clust; /* 現在のクラスタ (fptrがクラスタ境界上のときは前のクラスタ、fptrが0のときは無効) */ DWORD dsect; /* 現在のデータ セクタ */ #if !_FS_READONLY DWORD dir_sect; /* このファイルのディレクトリ エントリのあるセクタ */ BYTE* dir_ptr; /* このファイルのディレクトリへのポインタ */ #endif #if _USE_FASTSEEK DWORD* cltbl; /* ファイルのクラスタ リンク情報へのポインタ (オープン時にNULLがセットされる) */ #endif #if _FS_LOCK UINT lockid; /* ファイル ロックID */ #endif #if !_FS_TINY BYTE buf[_MAX_SS]; /* ファイル プライベート データ転送バッファ (fptrがセクタ境界上にない時は常に有効だが、fptrがセクタ境界上のときは無効な場合がある) */ #endif } FIL;
  FatFs - f_chdrive  
Available when _FS_RPATH >= 1 and _VOLUMES >= 2.
_FS_RPATH == 1で、且つ_VOLUMES > 1のときに使用可能となります。
  FatFs - f_truncate  
Available when _FS_READONLY == 0 and _FS_MINIMIZE == 0.
_FS_READONLY == 0で、且つ_FS_MINIMIZE == 0のときに使用可能です。
  FatFs - f_truncate  
Available when _FS_READONLY == 0 and _FS_MINIMIZE == 0.
_FS_READONLY == 0で、且つ_FS_MINIMIZE == 0のときに使用可能です。
  FatFs - f_sync  
Available when _FS_READONLY == 0.
_FS_READONLY == 0のときに使用可能です。
  FatFs - f_closedir  
Note that the directory object can also be discarded without this process when option _FS_LOCK is not enabled. However this is not recommended for future compatibility.
_FS_LOCKオプションが選択されていない場合は、この処理を行わずにディレクトリ オブジェクトを破棄することもできます。しかし、これは将来の互換性の点で推奨はされません。
  FatFs - f_setlabel  
Available when _FS_READONLY == 0 and _USE_LABEL == 1.
_FS_READONLY == 0で、且つ_USE_LABEL == 1のときに使用可能です。
  FatFs - f_chdir  
Available when _FS_RPATH >= 1.
_FS_RPATH == 1のときに使用可能となります。
  FatFs - f_fdisk  
Available when _FS_READOLNY == 0, _USE_MKFS == 1 and _MULTI_PARTITION == 1.
_FS_READOLNY == 0 で _USE_MKFS == 1 で _MULTI_PARTITION == 1 のとき使用可能です。
  FatFs - f_stat  
Available when _FS_MINIMIZE == 0.
_FS_MINIMIZE == 0のときに使用可能です。
  FatFs - f_getcwd  
Available when _FS_RPATH == 2.
_FS_RPATH == 2のとき使用可能です。
  FatFs - get_fattime  
This function is not needed when _FS_READONLY == 1 or _FS_NORTC == 1.
リード オンリー構成(_FS_READONLY == 1)または、非RTCサポート構成(_RTC_NOUSE == 1)ではこの関数は必要とされません。
  FatFs - f_findnext  
This is a wrapper function of f_readdir function. Available when _USE_FIND == 1 and _FS_MINIMIZE <= 1.
この関数は、f_readdir関数のラッパー関数です。_USE_FIND >= 1で、かつ_FS_MINIMIZE <= 1のとき使用可能になります。
  FatFs - Configuration O...  
Disable (0) or Enable (1) , f_enpand function. Also _FS_READONLY needs to be 0.
連続領域割り当て機能の構成(0:無効 または 1:有効)。有効にするとf_expand関数が利用可能になります。_FS_READONLYは0でなければなりません。
  FatFs - f_close  
Note that if the file object is in read-only mode and _FS_LOCK is not enabled, the file object can also be discarded without this process. However this is not recommended for future compatibility.
ファイル オブジェクトが読み出し専用モードで、_FS_LOCKオプションが選択されていない場合は、ファイルを閉じずにファイル オブジェクトを破棄することもできます。しかし、これは将来の互換性の点で推奨はされません。
  FatFs - FIL  
typedef struct { _FDID obj; /* Owner file sytem object and object identifier */ BYTE flag; /* File object status flags */ BYTE err; /* Abort flag (error code) */ FSIZE_t fptr; /* File read/write pointer (Byte offset origin from top of the file) */ DWORD clust; /* Current cluster of fptr (One cluster behind if fptr is on the cluster boundary. Invalid if fptr == 0.) */ DWORD sect; /* Current data sector (Can be invalid if fptr is on the cluster boundary.)*/ #if !
typedef struct { _FDID obj; /* オブジェクトID */ BYTE flag; /* ファイル ステータス フラグ */ BYTE err; /* エラー中断フラグ */ FSIZE_t fptr; /* ファイル読み書きポインタ (ファイル先頭からのバイト オフセット) */ DWORD clust; /* 現在のクラスタ (fptrがクラスタ境界上のときは前のクラスタ、fptrが0のときは無効) */ DWORD dsect; /* 現在のデータ セクタ */ #if !_FS_READONLY DWORD dir_sect; /* このファイルのディレクトリ エントリのあるセクタ */ BYTE* dir_ptr; /* このファイルのディレクトリへのポインタ */ #endif #if _USE_FASTSEEK DWORD* cltbl; /* ファイルのクラスタ リンク情報へのポインタ (オープン時にNULLがセットされる) */ #endif #if _FS_LOCK UINT lockid; /* ファイル ロックID */ #endif #if !_FS_TINY BYTE buf[_MAX_SS]; /* ファイル プライベート データ転送バッファ (fptrがセクタ境界上にない時は常に有効だが、fptrがセクタ境界上のときは無効な場合がある) */ #endif } FIL;
  FatFs - f_mount  
FRESULT f_mount ( FATFS* fs, /* [IN] File system object */ const TCHAR* path, /* [IN] Logical drive number */ BYTE opt /* [IN] Initialization option */ );
FRESULT f_mount ( FATFS* fs, /* [IN] ファイル システム オブジェクト */ const TCHAR* path, /* [IN] 論理ドライブ番号 */ BYTE opt /* [IN] 動作オプション */ );
  FatFs - f_putc  
This is a wrapper function of f_write function. Available when _FS_READONLY == 0 and _USE_STRFUNC is 1 or 2. When it is set to 2, a '\n' is converted to '\r'+'\n'.
この関数はf_write関数のラッパー関数です。_FS_READONLY == 0で、且つ_USE_STRFUNCが 1または 2のとき使用可能です。2を指定すると、'\n'は'\r'+'\n'に展開されてファイルに書き込まれます。
  FatFs - f_open  
Always available. Only FA_READ and FA_OPEN_EXISTING are supported when _FS_READONLY == 1.
全ての構成で使用可能です。_FS_READONLY == 1のときは、FA_READとFA_OPEN_EXISTING以外の各フラグはサポートされません。
  FatFs - f_expand  
Number of bytes in size to prepare or allocate for the file. The data type FSIZE_t is an alias of either DWORD(32-bit) or QWORD(64-bit) depends on the configuration option _FS_EXFAT.
ファイルに割り当てるバイト単位のサイズ。データ型FSIZE_tは、DWORD(32-bit)またはQWORD(64-bit)のエリアスで、exFATサポートの有無により切り替わります。
  FatFs - f_lseek  
Byte offset from top of the file to set read/write pointer. The data type FSIZE_t is an alias of either DWORD(32-bit) or QWORD(64-bit) depends on the configuration option _FS_EXFAT.
移動先のオフセット(リード/ライト ポインタ)値。ファイル先頭からのオフセットをバイト単位で指定します。データ型FSIZE_tは、DWORD(32-bit)またはQWORD(64-bit)のエリアスで、exFATサポートの有無により切り替わります。
  FatFs - Configuration O...  
This option defines O/S dependent sync object type. e.g. HANDLE, ID, OS_EVENT*, SemaphoreHandle_t and etc. A header file for O/S definitions needs to be included somewhere in the scope of ff.c. This option has no effect when _FS_REENTRANT = 0.
O/S定義の同期オブジェクトの型を設定します。例: HANDLE、ID、OS_EVENT*、SemaphoreHandle_tなど。また、O/S機能のヘッダ ファイルをff.cのスコープ内にインクルードする必要があります。_FS_REENTRANTが0のときは意味を持ちません。
  FatFs - f_puts  
This is a wrapper function of f_write function. Available when _FS_READONLY == 0 and _USE_STRFUNC is 1 or 2. When it is set to 2, '\n's contained in the string are converted to '\r'+'\n'.
この関数はf_write関数のラッパー関数です。_FS_READONLY == 0で、且つ_USE_STRFUNCが1または2のとき使用可能です。2を指定すると、文字列に含まれる'\n'は'\r'+'\n'に展開されてファイルに書き込まれます。
  FatFs - f_expand  
/* Accessing the file via low-level disk functions */ /* Get physical location of the file data */ drv = fp->obj.fs->drv; lba = fp->obj.fs->database + fp->obj.fs->csize * (fp->obj.sclust - 2); /* Write 2048 sectors from top of the file at a time */ res = disk_write(drv, buffer, lba, 2048);
/* ファイル システムを介さず直接アクセスする例 */ /* ファイル データの物理的位置を取得 */ drv = fp->obj.fs->drv; sect = fp->obj.fs->database + fp->obj.fs->csize * (fp->obj.sclust - 2); /* ファイル先頭から2048セクタを書き込み */ res = disk_write(drv, buffer, sect, 2048);
  FatFs - f_getfree  
FATFS *fs; DWORD fre_clust, fre_sect, tot_sect; /* Get volume information and free clusters of drive 1 */ res = f_getfree("1:", &fre_clust, &fs); if (res) die(res); /* Get total sectors and free sectors */ tot_sect = (fs->n_fatent - 2) * fs->csize; fre_sect = fre_clust * fs->csize; /* Print the free space (assuming 512 bytes/sector) */ printf("%10lu KiB total drive space.
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 - f_getfree  
The member csize in the file system object indicates number of sectors per cluster, so that the free space in unit of sector can be calcurated with this information. When FSINFO structure on the FAT32 volume is not in sync, this function can return an incorrect free cluster count.
論理ドライブ上の空き領域のサイズをクラスタ単位で取得します。返されたファイル システム オブジェクトのcsizeメンバがクラスタあたりのセクタ数を示しているので、これを元にセクタ単位の空きサイズが計算できます。FAT32ボリュームにおいては、FSINFOの情報が実際の空きクラスタ数と同期していない場合、不正確な値を返す可能性があります。この問題を避けるため、_FS_NOFSINFOオプションでマウント後の初回は必ずフルFATスキャンをするように構成することもできます。
  FatFs - f_getfree  
FATFS *fs; DWORD fre_clust, fre_sect, tot_sect; /* Get volume information and free clusters of drive 1 */ res = f_getfree("1:", &fre_clust, &fs); if (res) die(res); /* Get total sectors and free sectors */ tot_sect = (fs->n_fatent - 2) * fs->csize; fre_sect = fre_clust * fs->csize; /* Print the free space (assuming 512 bytes/sector) */ printf("%10lu KiB total drive space.
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 - f_mkfs  
Available when _FS_READOLNY == 0 and _USE_MKFS == 1.
_FS_READONLY == 0で、且つ_USE_MKFS == 1のとき使用可能です。
  FatFs - f_getfree  
FATFS *fs; DWORD fre_clust, fre_sect, tot_sect; /* Get volume information and free clusters of drive 1 */ res = f_getfree("1:", &fre_clust, &fs); if (res) die(res); /* Get total sectors and free sectors */ tot_sect = (fs->n_fatent - 2) * fs->csize; fre_sect = fre_clust * fs->csize; /* Print the free space (assuming 512 bytes/sector) */ printf("%10lu KiB total drive space.
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 - f_expand  
/* Accessing the file via low-level disk functions */ /* Get physical location of the file data */ drv = fp->obj.fs->drv; lba = fp->obj.fs->database + fp->obj.fs->csize * (fp->obj.sclust - 2); /* Write 2048 sectors from top of the file at a time */ res = disk_write(drv, buffer, lba, 2048);
/* ファイル システムを介さず直接アクセスする例 */ /* ファイル データの物理的位置を取得 */ drv = fp->obj.fs->drv; sect = fp->obj.fs->database + fp->obj.fs->csize * (fp->obj.sclust - 2); /* ファイル先頭から2048セクタを書き込み */ res = disk_write(drv, buffer, sect, 2048);
  FatFs - f_expand  
/* Accessing the file via low-level disk functions */ /* Get physical location of the file data */ drv = fp->obj.fs->drv; lba = fp->obj.fs->database + fp->obj.fs->csize * (fp->obj.sclust - 2); /* Write 2048 sectors from top of the file at a time */ res = disk_write(drv, buffer, lba, 2048);
/* ファイル システムを介さず直接アクセスする例 */ /* ファイル データの物理的位置を取得 */ drv = fp->obj.fs->drv; sect = fp->obj.fs->database + fp->obj.fs->csize * (fp->obj.sclust - 2); /* ファイル先頭から2048セクタを書き込み */ res = disk_write(drv, buffer, sect, 2048);
  FatFs - f_getfree  
FATFS *fs; DWORD fre_clust, fre_sect, tot_sect; /* Get volume information and free clusters of drive 1 */ res = f_getfree("1:", &fre_clust, &fs); if (res) die(res); /* Get total sectors and free sectors */ tot_sect = (fs->n_fatent - 2) * fs->csize; fre_sect = fre_clust * fs->csize; /* Print the free space (assuming 512 bytes/sector) */ printf("%10lu KiB total drive space.
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 - f_getfree  
FATFS *fs; DWORD fre_clust, fre_sect, tot_sect; /* Get volume information and free clusters of drive 1 */ res = f_getfree("1:", &fre_clust, &fs); if (res) die(res); /* Get total sectors and free sectors */ tot_sect = (fs->n_fatent - 2) * fs->csize; fre_sect = fre_clust * fs->csize; /* Print the free space (assuming 512 bytes/sector) */ printf("%10lu KiB total drive space.
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 - FATFS  
typedef struct { BYTE fs_type; /* File system type (0, FS_FAT12, FS_FAT16, FS_FAT32 or FS_EXFAT) */ BYTE drv; /* Physical drive number */ BYTE n_fats; /* Number of FAT copies (1,2) */ BYTE wflag; /* win[] flag (b0:win[] is dirty) */ BYTE fsi_flag; /* FSINFO flags (b7:Disabled, b0:Dirty) */ WORD id; /* File system mount ID */ WORD n_rootdir; /* Number of root directory entries (FAT12/16) */ WORD csize; /* Sectors per cluster */ #if _MAX_SS !
typedef struct { BYTE fs_type; /* ファイル システム (0, FS_FAT12, FS_FAT16, FS_FAT32 or FS_EXFAT) */ BYTE drv; /* 物理ドライブ番号 */ BYTE n_fats; /* FATの多重化数 (1,2) */ BYTE wflag; /* win[]ダーティ フラグ */ BYTE fsi_flag; /* FSINFOフラグ (b7:Disabled, b0:Dirty) */ WORD id; /* ファイル システム マウントID */ WORD n_rootdir; /* ルート ディレクトリのエントリ数 (FAT12/16) */ WORD csize; /* クラスタ当たりのセクタ数 */ #if _MAX_SS != _MIN_SS WORD ssize; /* セクタ サイズ (512, 1024, 2048 or 4096) */ #endif #if _FS_EXFAT BYTE* dirbuf; /* ディレクトリ エントリ ブロック操作バッファへのポインタ */ #endif #if _FS_REENTRANT _SYNC_t sobj; /* 同期オブジェクトID */ #endif #if !_FS_READONLY DWORD last_clust; /* FSINFO: 最後に割り当てられたクラスタ番号 */ DWORD free_clust; /* FSINFO: 空きクラスタ数 */ #endif #if _FS_RPATH DWORD cdir; /* カレント ディレクトリのクラスタ番号 (0:ルート) */ #if _FS_EXFAT DWORD cdc_scl; /* カレント ディレクトリを含むディレクトリの開始クラスタ番号 (cdir == 0では無効) */ DWORD cdc_size; /* b31-b8:カレント ディレクトリを含むディレクトリのサイズ, b7-b0: チェーン ステータス */ DWORD cdc_ofs; /* カレント ディレクトリを含むディレクトリ内の位置 (cdir == 0では無効) */ #endif #endif DWORD n_fatent; /* FATエントリ数 (総クラスタ数 + 2) */ DWORD fsize; /* FAT 1個のセクタ数 */ DWORD volbase; /* ボリューム開始セクタ */ DWORD fatbase; /* FAT領域開始セクタ */ DWORD dirbase; /* ルート ディレクトリ領域開始(セクタ|クラスタ) */ DWORD database; /* データ領域開始セクタ */ DWORD winsect; /* win[]に現れているセクタ番号 */ BYTE win[_MAX_SS]; /* ディスク アクセス ウィンドウ */ } FATFS;
  FatFs - FATFS  
typedef struct { BYTE fs_type; /* File system type (0, FS_FAT12, FS_FAT16, FS_FAT32 or FS_EXFAT) */ BYTE drv; /* Physical drive number */ BYTE n_fats; /* Number of FAT copies (1,2) */ BYTE wflag; /* win[] flag (b0:win[] is dirty) */ BYTE fsi_flag; /* FSINFO flags (b7:Disabled, b0:Dirty) */ WORD id; /* File system mount ID */ WORD n_rootdir; /* Number of root directory entries (FAT12/16) */ WORD csize; /* Sectors per cluster */ #if _MAX_SS !
typedef struct { BYTE fs_type; /* ファイル システム (0, FS_FAT12, FS_FAT16, FS_FAT32 or FS_EXFAT) */ BYTE drv; /* 物理ドライブ番号 */ BYTE n_fats; /* FATの多重化数 (1,2) */ BYTE wflag; /* win[]ダーティ フラグ */ BYTE fsi_flag; /* FSINFOフラグ (b7:Disabled, b0:Dirty) */ WORD id; /* ファイル システム マウントID */ WORD n_rootdir; /* ルート ディレクトリのエントリ数 (FAT12/16) */ WORD csize; /* クラスタ当たりのセクタ数 */ #if _MAX_SS != _MIN_SS WORD ssize; /* セクタ サイズ (512, 1024, 2048 or 4096) */ #endif #if _FS_EXFAT BYTE* dirbuf; /* ディレクトリ エントリ ブロック操作バッファへのポインタ */ #endif #if _FS_REENTRANT _SYNC_t sobj; /* 同期オブジェクトID */ #endif #if !_FS_READONLY DWORD last_clust; /* FSINFO: 最後に割り当てられたクラスタ番号 */ DWORD free_clust; /* FSINFO: 空きクラスタ数 */ #endif #if _FS_RPATH DWORD cdir; /* カレント ディレクトリのクラスタ番号 (0:ルート) */ #if _FS_EXFAT DWORD cdc_scl; /* カレント ディレクトリを含むディレクトリの開始クラスタ番号 (cdir == 0では無効) */ DWORD cdc_size; /* b31-b8:カレント ディレクトリを含むディレクトリのサイズ, b7-b0: チェーン ステータス */ DWORD cdc_ofs; /* カレント ディレクトリを含むディレクトリ内の位置 (cdir == 0では無効) */ #endif #endif DWORD n_fatent; /* FATエントリ数 (総クラスタ数 + 2) */ DWORD fsize; /* FAT 1個のセクタ数 */ DWORD volbase; /* ボリューム開始セクタ */ DWORD fatbase; /* FAT領域開始セクタ */ DWORD dirbase; /* ルート ディレクトリ領域開始(セクタ|クラスタ) */ DWORD database; /* データ領域開始セクタ */ DWORD winsect; /* win[]に現れているセクタ番号 */ BYTE win[_MAX_SS]; /* ディスク アクセス ウィンドウ */ } FATFS;
  FatFs - FATFS  
typedef struct { BYTE fs_type; /* File system type (0, FS_FAT12, FS_FAT16, FS_FAT32 or FS_EXFAT) */ BYTE drv; /* Physical drive number */ BYTE n_fats; /* Number of FAT copies (1,2) */ BYTE wflag; /* win[] flag (b0:win[] is dirty) */ BYTE fsi_flag; /* FSINFO flags (b7:Disabled, b0:Dirty) */ WORD id; /* File system mount ID */ WORD n_rootdir; /* Number of root directory entries (FAT12/16) */ WORD csize; /* Sectors per cluster */ #if _MAX_SS !
typedef struct { BYTE fs_type; /* ファイル システム (0, FS_FAT12, FS_FAT16, FS_FAT32 or FS_EXFAT) */ BYTE drv; /* 物理ドライブ番号 */ BYTE n_fats; /* FATの多重化数 (1,2) */ BYTE wflag; /* win[]ダーティ フラグ */ BYTE fsi_flag; /* FSINFOフラグ (b7:Disabled, b0:Dirty) */ WORD id; /* ファイル システム マウントID */ WORD n_rootdir; /* ルート ディレクトリのエントリ数 (FAT12/16) */ WORD csize; /* クラスタ当たりのセクタ数 */ #if _MAX_SS != _MIN_SS WORD ssize; /* セクタ サイズ (512, 1024, 2048 or 4096) */ #endif #if _FS_EXFAT BYTE* dirbuf; /* ディレクトリ エントリ ブロック操作バッファへのポインタ */ #endif #if _FS_REENTRANT _SYNC_t sobj; /* 同期オブジェクトID */ #endif #if !_FS_READONLY DWORD last_clust; /* FSINFO: 最後に割り当てられたクラスタ番号 */ DWORD free_clust; /* FSINFO: 空きクラスタ数 */ #endif #if _FS_RPATH DWORD cdir; /* カレント ディレクトリのクラスタ番号 (0:ルート) */ #if _FS_EXFAT DWORD cdc_scl; /* カレント ディレクトリを含むディレクトリの開始クラスタ番号 (cdir == 0では無効) */ DWORD cdc_size; /* b31-b8:カレント ディレクトリを含むディレクトリのサイズ, b7-b0: チェーン ステータス */ DWORD cdc_ofs; /* カレント ディレクトリを含むディレクトリ内の位置 (cdir == 0では無効) */ #endif #endif DWORD n_fatent; /* FATエントリ数 (総クラスタ数 + 2) */ DWORD fsize; /* FAT 1個のセクタ数 */ DWORD volbase; /* ボリューム開始セクタ */ DWORD fatbase; /* FAT領域開始セクタ */ DWORD dirbase; /* ルート ディレクトリ領域開始(セクタ|クラスタ) */ DWORD database; /* データ領域開始セクタ */ DWORD winsect; /* win[]に現れているセクタ番号 */ BYTE win[_MAX_SS]; /* ディスク アクセス ウィンドウ */ } FATFS;
  FatFs - FATFS  
typedef struct { BYTE fs_type; /* File system type (0, FS_FAT12, FS_FAT16, FS_FAT32 or FS_EXFAT) */ BYTE drv; /* Physical drive number */ BYTE n_fats; /* Number of FAT copies (1,2) */ BYTE wflag; /* win[] flag (b0:win[] is dirty) */ BYTE fsi_flag; /* FSINFO flags (b7:Disabled, b0:Dirty) */ WORD id; /* File system mount ID */ WORD n_rootdir; /* Number of root directory entries (FAT12/16) */ WORD csize; /* Sectors per cluster */ #if _MAX_SS !
typedef struct { BYTE fs_type; /* ファイル システム (0, FS_FAT12, FS_FAT16, FS_FAT32 or FS_EXFAT) */ BYTE drv; /* 物理ドライブ番号 */ BYTE n_fats; /* FATの多重化数 (1,2) */ BYTE wflag; /* win[]ダーティ フラグ */ BYTE fsi_flag; /* FSINFOフラグ (b7:Disabled, b0:Dirty) */ WORD id; /* ファイル システム マウントID */ WORD n_rootdir; /* ルート ディレクトリのエントリ数 (FAT12/16) */ WORD csize; /* クラスタ当たりのセクタ数 */ #if _MAX_SS != _MIN_SS WORD ssize; /* セクタ サイズ (512, 1024, 2048 or 4096) */ #endif #if _FS_EXFAT BYTE* dirbuf; /* ディレクトリ エントリ ブロック操作バッファへのポインタ */ #endif #if _FS_REENTRANT _SYNC_t sobj; /* 同期オブジェクトID */ #endif #if !_FS_READONLY DWORD last_clust; /* FSINFO: 最後に割り当てられたクラスタ番号 */ DWORD free_clust; /* FSINFO: 空きクラスタ数 */ #endif #if _FS_RPATH DWORD cdir; /* カレント ディレクトリのクラスタ番号 (0:ルート) */ #if _FS_EXFAT DWORD cdc_scl; /* カレント ディレクトリを含むディレクトリの開始クラスタ番号 (cdir == 0では無効) */ DWORD cdc_size; /* b31-b8:カレント ディレクトリを含むディレクトリのサイズ, b7-b0: チェーン ステータス */ DWORD cdc_ofs; /* カレント ディレクトリを含むディレクトリ内の位置 (cdir == 0では無効) */ #endif #endif DWORD n_fatent; /* FATエントリ数 (総クラスタ数 + 2) */ DWORD fsize; /* FAT 1個のセクタ数 */ DWORD volbase; /* ボリューム開始セクタ */ DWORD fatbase; /* FAT領域開始セクタ */ DWORD dirbase; /* ルート ディレクトリ領域開始(セクタ|クラスタ) */ DWORD database; /* データ領域開始セクタ */ DWORD winsect; /* win[]に現れているセクタ番号 */ BYTE win[_MAX_SS]; /* ディスク アクセス ウィンドウ */ } FATFS;
  FatFs - f_open  
/* Copy a file "file.bin" on the drive 1 to drive 0 */ int main (void) { FATFS fs[2]; /* Work area (file system object) for logical drives */ FIL fsrc, fdst; /* File objects */ BYTE buffer[4096]; /* File copy buffer */ FRESULT fr; /* FatFs function common result code */ UINT br, bw; /* File read/write count */ /* Register work area for each logical drive */ f_mount(&fs[0], "0:", 0); f_mount(&fs[1], "1:", 0); /* Open source file on the drive 1 */ fr = f_open(&fsrc, "1:file.bin", FA_READ); if (fr) return (int)fr; /* Create destination file on the drive 0 */ fr = f_open(&fdst, "0:file.bin", FA_WRITE | FA_CREATE_ALWAYS); if (fr) return (int)fr; /* Copy source to destination */ for (;;) { fr = f_read(&fsrc, buffer, sizeof buffer, &br); /* Read a chunk of source file */ if (fr || br == 0) break; /* error or eof */ fr = f_write(&fdst, buffer, br, &bw); /* Write it to the destination file */ if (fr || bw < br) break; /* error or disk full */ } /* Close open files */ f_close(&fsrc); f_close(&fdst); /* Unregister work area prior to discard it */ f_mount(NULL, "0:", 0); f_mount(NULL, "1:", 0); return (int)fr; }
/* ドライブ1のファイル "file.bin" をドライブ0へコピー */ int main (void) { FATFS fs[2]; /* 論理ドライブのワークエリア(ファイル システム オブジェクト) */ FIL fsrc, fdst; /* ファイル オブジェクト */ BYTE buffer[4096]; /* File copy buffer */ FRESULT fr; /* FatFs function common result code */ UINT br, bw; /* File R/W count */ /* ドライブ0,1にワーク エリアを与える */ f_mount(&fs[0], "0:", 0); f_mount(&fs[1], "1:", 0); /* ドライブ1のコピー元ファイルを開く */ res = f_open(&fsrc, "1:file.dat", FA_OPEN_EXISTING | FA_READ); if (fr) return (int)fr; /* ドライブ0にコピー先ファイルを作成する */ res = f_open(&fdst, "0:file.dat", FA_CREATE_ALWAYS | FA_WRITE); if (fr) return (int)fr; /* コピー元からコピー先にデータ転送する */ for (;;) { res = f_read(&fsrc, buffer, sizeof buffer, &br); /* コピー元からから読み出す */ if (res || br == 0) break; /* エラーかファイル終端 */ res = f_write(&fdst, buffer, br, &bw); /* それをコピー先に書き込む */ if (res || bw < br) break; /* エラーかディスク満杯 */ } /* 全てのファイルを閉じる */ f_close(&fsrc); f_close(&fdst); /* ワーク エリアを開放する */ f_mount(NULL, "0:", 0); f_mount(NULL, "1:", 0); return (int)fr; }
  FatFs - f_open  
/* Copy a file "file.bin" on the drive 1 to drive 0 */ int main (void) { FATFS fs[2]; /* Work area (file system object) for logical drives */ FIL fsrc, fdst; /* File objects */ BYTE buffer[4096]; /* File copy buffer */ FRESULT fr; /* FatFs function common result code */ UINT br, bw; /* File read/write count */ /* Register work area for each logical drive */ f_mount(&fs[0], "0:", 0); f_mount(&fs[1], "1:", 0); /* Open source file on the drive 1 */ fr = f_open(&fsrc, "1:file.bin", FA_READ); if (fr) return (int)fr; /* Create destination file on the drive 0 */ fr = f_open(&fdst, "0:file.bin", FA_WRITE | FA_CREATE_ALWAYS); if (fr) return (int)fr; /* Copy source to destination */ for (;;) { fr = f_read(&fsrc, buffer, sizeof buffer, &br); /* Read a chunk of source file */ if (fr || br == 0) break; /* error or eof */ fr = f_write(&fdst, buffer, br, &bw); /* Write it to the destination file */ if (fr || bw < br) break; /* error or disk full */ } /* Close open files */ f_close(&fsrc); f_close(&fdst); /* Unregister work area prior to discard it */ f_mount(NULL, "0:", 0); f_mount(NULL, "1:", 0); return (int)fr; }
/* ドライブ1のファイル "file.bin" をドライブ0へコピー */ int main (void) { FATFS fs[2]; /* 論理ドライブのワークエリア(ファイル システム オブジェクト) */ FIL fsrc, fdst; /* ファイル オブジェクト */ BYTE buffer[4096]; /* File copy buffer */ FRESULT fr; /* FatFs function common result code */ UINT br, bw; /* File R/W count */ /* ドライブ0,1にワーク エリアを与える */ f_mount(&fs[0], "0:", 0); f_mount(&fs[1], "1:", 0); /* ドライブ1のコピー元ファイルを開く */ res = f_open(&fsrc, "1:file.dat", FA_OPEN_EXISTING | FA_READ); if (fr) return (int)fr; /* ドライブ0にコピー先ファイルを作成する */ res = f_open(&fdst, "0:file.dat", FA_CREATE_ALWAYS | FA_WRITE); if (fr) return (int)fr; /* コピー元からコピー先にデータ転送する */ for (;;) { res = f_read(&fsrc, buffer, sizeof buffer, &br); /* コピー元からから読み出す */ if (res || br == 0) break; /* エラーかファイル終端 */ res = f_write(&fdst, buffer, br, &bw); /* それをコピー先に書き込む */ if (res || bw < br) break; /* エラーかディスク満杯 */ } /* 全てのファイルを閉じる */ f_close(&fsrc); f_close(&fdst); /* ワーク エリアを開放する */ f_mount(NULL, "0:", 0); f_mount(NULL, "1:", 0); return (int)fr; }
  FatFs - FATFS  
typedef struct { BYTE fs_type; /* File system type (0, FS_FAT12, FS_FAT16, FS_FAT32 or FS_EXFAT) */ BYTE drv; /* Physical drive number */ BYTE n_fats; /* Number of FAT copies (1,2) */ BYTE wflag; /* win[] flag (b0:win[] is dirty) */ BYTE fsi_flag; /* FSINFO flags (b7:Disabled, b0:Dirty) */ WORD id; /* File system mount ID */ WORD n_rootdir; /* Number of root directory entries (FAT12/16) */ WORD csize; /* Sectors per cluster */ #if _MAX_SS !
typedef struct { BYTE fs_type; /* ファイル システム (0, FS_FAT12, FS_FAT16, FS_FAT32 or FS_EXFAT) */ BYTE drv; /* 物理ドライブ番号 */ BYTE n_fats; /* FATの多重化数 (1,2) */ BYTE wflag; /* win[]ダーティ フラグ */ BYTE fsi_flag; /* FSINFOフラグ (b7:Disabled, b0:Dirty) */ WORD id; /* ファイル システム マウントID */ WORD n_rootdir; /* ルート ディレクトリのエントリ数 (FAT12/16) */ WORD csize; /* クラスタ当たりのセクタ数 */ #if _MAX_SS != _MIN_SS WORD ssize; /* セクタ サイズ (512, 1024, 2048 or 4096) */ #endif #if _FS_EXFAT BYTE* dirbuf; /* ディレクトリ エントリ ブロック操作バッファへのポインタ */ #endif #if _FS_REENTRANT _SYNC_t sobj; /* 同期オブジェクトID */ #endif #if !_FS_READONLY DWORD last_clust; /* FSINFO: 最後に割り当てられたクラスタ番号 */ DWORD free_clust; /* FSINFO: 空きクラスタ数 */ #endif #if _FS_RPATH DWORD cdir; /* カレント ディレクトリのクラスタ番号 (0:ルート) */ #if _FS_EXFAT DWORD cdc_scl; /* カレント ディレクトリを含むディレクトリの開始クラスタ番号 (cdir == 0では無効) */ DWORD cdc_size; /* b31-b8:カレント ディレクトリを含むディレクトリのサイズ, b7-b0: チェーン ステータス */ DWORD cdc_ofs; /* カレント ディレクトリを含むディレクトリ内の位置 (cdir == 0では無効) */ #endif #endif DWORD n_fatent; /* FATエントリ数 (総クラスタ数 + 2) */ DWORD fsize; /* FAT 1個のセクタ数 */ DWORD volbase; /* ボリューム開始セクタ */ DWORD fatbase; /* FAT領域開始セクタ */ DWORD dirbase; /* ルート ディレクトリ領域開始(セクタ|クラスタ) */ DWORD database; /* データ領域開始セクタ */ DWORD winsect; /* win[]に現れているセクタ番号 */ BYTE win[_MAX_SS]; /* ディスク アクセス ウィンドウ */ } FATFS;
  FatFs - f_open  
/* Copy a file "file.bin" on the drive 1 to drive 0 */ int main (void) { FATFS fs[2]; /* Work area (file system object) for logical drives */ FIL fsrc, fdst; /* File objects */ BYTE buffer[4096]; /* File copy buffer */ FRESULT fr; /* FatFs function common result code */ UINT br, bw; /* File read/write count */ /* Register work area for each logical drive */ f_mount(&fs[0], "0:", 0); f_mount(&fs[1], "1:", 0); /* Open source file on the drive 1 */ fr = f_open(&fsrc, "1:file.bin", FA_READ); if (fr) return (int)fr; /* Create destination file on the drive 0 */ fr = f_open(&fdst, "0:file.bin", FA_WRITE | FA_CREATE_ALWAYS); if (fr) return (int)fr; /* Copy source to destination */ for (;;) { fr = f_read(&fsrc, buffer, sizeof buffer, &br); /* Read a chunk of source file */ if (fr || br == 0) break; /* error or eof */ fr = f_write(&fdst, buffer, br, &bw); /* Write it to the destination file */ if (fr || bw < br) break; /* error or disk full */ } /* Close open files */ f_close(&fsrc); f_close(&fdst); /* Unregister work area prior to discard it */ f_mount(NULL, "0:", 0); f_mount(NULL, "1:", 0); return (int)fr; }
/* ドライブ1のファイル "file.bin" をドライブ0へコピー */ int main (void) { FATFS fs[2]; /* 論理ドライブのワークエリア(ファイル システム オブジェクト) */ FIL fsrc, fdst; /* ファイル オブジェクト */ BYTE buffer[4096]; /* File copy buffer */ FRESULT fr; /* FatFs function common result code */ UINT br, bw; /* File R/W count */ /* ドライブ0,1にワーク エリアを与える */ f_mount(&fs[0], "0:", 0); f_mount(&fs[1], "1:", 0); /* ドライブ1のコピー元ファイルを開く */ res = f_open(&fsrc, "1:file.dat", FA_OPEN_EXISTING | FA_READ); if (fr) return (int)fr; /* ドライブ0にコピー先ファイルを作成する */ res = f_open(&fdst, "0:file.dat", FA_CREATE_ALWAYS | FA_WRITE); if (fr) return (int)fr; /* コピー元からコピー先にデータ転送する */ for (;;) { res = f_read(&fsrc, buffer, sizeof buffer, &br); /* コピー元からから読み出す */ if (res || br == 0) break; /* エラーかファイル終端 */ res = f_write(&fdst, buffer, br, &bw); /* それをコピー先に書き込む */ if (res || bw < br) break; /* エラーかディスク満杯 */ } /* 全てのファイルを閉じる */ f_close(&fsrc); f_close(&fdst); /* ワーク エリアを開放する */ f_mount(NULL, "0:", 0); f_mount(NULL, "1:", 0); return (int)fr; }
  FatFs - FATFS  
typedef struct { BYTE fs_type; /* File system type (0, FS_FAT12, FS_FAT16, FS_FAT32 or FS_EXFAT) */ BYTE drv; /* Physical drive number */ BYTE n_fats; /* Number of FAT copies (1,2) */ BYTE wflag; /* win[] flag (b0:win[] is dirty) */ BYTE fsi_flag; /* FSINFO flags (b7:Disabled, b0:Dirty) */ WORD id; /* File system mount ID */ WORD n_rootdir; /* Number of root directory entries (FAT12/16) */ WORD csize; /* Sectors per cluster */ #if _MAX_SS !
typedef struct { BYTE fs_type; /* ファイル システム (0, FS_FAT12, FS_FAT16, FS_FAT32 or FS_EXFAT) */ BYTE drv; /* 物理ドライブ番号 */ BYTE n_fats; /* FATの多重化数 (1,2) */ BYTE wflag; /* win[]ダーティ フラグ */ BYTE fsi_flag; /* FSINFOフラグ (b7:Disabled, b0:Dirty) */ WORD id; /* ファイル システム マウントID */ WORD n_rootdir; /* ルート ディレクトリのエントリ数 (FAT12/16) */ WORD csize; /* クラスタ当たりのセクタ数 */ #if _MAX_SS != _MIN_SS WORD ssize; /* セクタ サイズ (512, 1024, 2048 or 4096) */ #endif #if _FS_EXFAT BYTE* dirbuf; /* ディレクトリ エントリ ブロック操作バッファへのポインタ */ #endif #if _FS_REENTRANT _SYNC_t sobj; /* 同期オブジェクトID */ #endif #if !_FS_READONLY DWORD last_clust; /* FSINFO: 最後に割り当てられたクラスタ番号 */ DWORD free_clust; /* FSINFO: 空きクラスタ数 */ #endif #if _FS_RPATH DWORD cdir; /* カレント ディレクトリのクラスタ番号 (0:ルート) */ #if _FS_EXFAT DWORD cdc_scl; /* カレント ディレクトリを含むディレクトリの開始クラスタ番号 (cdir == 0では無効) */ DWORD cdc_size; /* b31-b8:カレント ディレクトリを含むディレクトリのサイズ, b7-b0: チェーン ステータス */ DWORD cdc_ofs; /* カレント ディレクトリを含むディレクトリ内の位置 (cdir == 0では無効) */ #endif #endif DWORD n_fatent; /* FATエントリ数 (総クラスタ数 + 2) */ DWORD fsize; /* FAT 1個のセクタ数 */ DWORD volbase; /* ボリューム開始セクタ */ DWORD fatbase; /* FAT領域開始セクタ */ DWORD dirbase; /* ルート ディレクトリ領域開始(セクタ|クラスタ) */ DWORD database; /* データ領域開始セクタ */ DWORD winsect; /* win[]に現れているセクタ番号 */ BYTE win[_MAX_SS]; /* ディスク アクセス ウィンドウ */ } FATFS;
  FatFs - FATFS  
typedef struct { BYTE fs_type; /* File system type (0, FS_FAT12, FS_FAT16, FS_FAT32 or FS_EXFAT) */ BYTE drv; /* Physical drive number */ BYTE n_fats; /* Number of FAT copies (1,2) */ BYTE wflag; /* win[] flag (b0:win[] is dirty) */ BYTE fsi_flag; /* FSINFO flags (b7:Disabled, b0:Dirty) */ WORD id; /* File system mount ID */ WORD n_rootdir; /* Number of root directory entries (FAT12/16) */ WORD csize; /* Sectors per cluster */ #if _MAX_SS !
typedef struct { BYTE fs_type; /* ファイル システム (0, FS_FAT12, FS_FAT16, FS_FAT32 or FS_EXFAT) */ BYTE drv; /* 物理ドライブ番号 */ BYTE n_fats; /* FATの多重化数 (1,2) */ BYTE wflag; /* win[]ダーティ フラグ */ BYTE fsi_flag; /* FSINFOフラグ (b7:Disabled, b0:Dirty) */ WORD id; /* ファイル システム マウントID */ WORD n_rootdir; /* ルート ディレクトリのエントリ数 (FAT12/16) */ WORD csize; /* クラスタ当たりのセクタ数 */ #if _MAX_SS != _MIN_SS WORD ssize; /* セクタ サイズ (512, 1024, 2048 or 4096) */ #endif #if _FS_EXFAT BYTE* dirbuf; /* ディレクトリ エントリ ブロック操作バッファへのポインタ */ #endif #if _FS_REENTRANT _SYNC_t sobj; /* 同期オブジェクトID */ #endif #if !_FS_READONLY DWORD last_clust; /* FSINFO: 最後に割り当てられたクラスタ番号 */ DWORD free_clust; /* FSINFO: 空きクラスタ数 */ #endif #if _FS_RPATH DWORD cdir; /* カレント ディレクトリのクラスタ番号 (0:ルート) */ #if _FS_EXFAT DWORD cdc_scl; /* カレント ディレクトリを含むディレクトリの開始クラスタ番号 (cdir == 0では無効) */ DWORD cdc_size; /* b31-b8:カレント ディレクトリを含むディレクトリのサイズ, b7-b0: チェーン ステータス */ DWORD cdc_ofs; /* カレント ディレクトリを含むディレクトリ内の位置 (cdir == 0では無効) */ #endif #endif DWORD n_fatent; /* FATエントリ数 (総クラスタ数 + 2) */ DWORD fsize; /* FAT 1個のセクタ数 */ DWORD volbase; /* ボリューム開始セクタ */ DWORD fatbase; /* FAT領域開始セクタ */ DWORD dirbase; /* ルート ディレクトリ領域開始(セクタ|クラスタ) */ DWORD database; /* データ領域開始セクタ */ DWORD winsect; /* win[]に現れているセクタ番号 */ BYTE win[_MAX_SS]; /* ディスク アクセス ウィンドウ */ } FATFS;
  FatFs - FATFS  
typedef struct { BYTE fs_type; /* File system type (0, FS_FAT12, FS_FAT16, FS_FAT32 or FS_EXFAT) */ BYTE drv; /* Physical drive number */ BYTE n_fats; /* Number of FAT copies (1,2) */ BYTE wflag; /* win[] flag (b0:win[] is dirty) */ BYTE fsi_flag; /* FSINFO flags (b7:Disabled, b0:Dirty) */ WORD id; /* File system mount ID */ WORD n_rootdir; /* Number of root directory entries (FAT12/16) */ WORD csize; /* Sectors per cluster */ #if _MAX_SS !
typedef struct { BYTE fs_type; /* ファイル システム (0, FS_FAT12, FS_FAT16, FS_FAT32 or FS_EXFAT) */ BYTE drv; /* 物理ドライブ番号 */ BYTE n_fats; /* FATの多重化数 (1,2) */ BYTE wflag; /* win[]ダーティ フラグ */ BYTE fsi_flag; /* FSINFOフラグ (b7:Disabled, b0:Dirty) */ WORD id; /* ファイル システム マウントID */ WORD n_rootdir; /* ルート ディレクトリのエントリ数 (FAT12/16) */ WORD csize; /* クラスタ当たりのセクタ数 */ #if _MAX_SS != _MIN_SS WORD ssize; /* セクタ サイズ (512, 1024, 2048 or 4096) */ #endif #if _FS_EXFAT BYTE* dirbuf; /* ディレクトリ エントリ ブロック操作バッファへのポインタ */ #endif #if _FS_REENTRANT _SYNC_t sobj; /* 同期オブジェクトID */ #endif #if !_FS_READONLY DWORD last_clust; /* FSINFO: 最後に割り当てられたクラスタ番号 */ DWORD free_clust; /* FSINFO: 空きクラスタ数 */ #endif #if _FS_RPATH DWORD cdir; /* カレント ディレクトリのクラスタ番号 (0:ルート) */ #if _FS_EXFAT DWORD cdc_scl; /* カレント ディレクトリを含むディレクトリの開始クラスタ番号 (cdir == 0では無効) */ DWORD cdc_size; /* b31-b8:カレント ディレクトリを含むディレクトリのサイズ, b7-b0: チェーン ステータス */ DWORD cdc_ofs; /* カレント ディレクトリを含むディレクトリ内の位置 (cdir == 0では無効) */ #endif #endif DWORD n_fatent; /* FATエントリ数 (総クラスタ数 + 2) */ DWORD fsize; /* FAT 1個のセクタ数 */ DWORD volbase; /* ボリューム開始セクタ */ DWORD fatbase; /* FAT領域開始セクタ */ DWORD dirbase; /* ルート ディレクトリ領域開始(セクタ|クラスタ) */ DWORD database; /* データ領域開始セクタ */ DWORD winsect; /* win[]に現れているセクタ番号 */ BYTE win[_MAX_SS]; /* ディスク アクセス ウィンドウ */ } FATFS;
  FatFs - f_lseek  
Available when _FS_MINIMIZE <= 2. To use fast seek function, _USE_FASTSEEK needs to be set 1.
_FS_MINIMIZE < 3のとき使用可能です。高速シーク モードを利用するときは、_USE_FASTSEEK == 1である必要があります。
  FatFs - f_expand  
Available when _USE_EXPAND == 1 and _FS_READONLY == 0.
_USE_EXPAND == 1で、かつ_FS_READONLY == 0のとき使用可能です。
Arrow 1 2 3 4 5 6 7 8 9 10 Arrow