Wizcode FATFS API is a robust C++ library that provides developers with low-level access to FAT formatted storage devices in their Windows Mobile applications. Features include low-level sector access to device drivers, cluster access to logical partitions, management of the boot sector and the backup boot sector, the partition tables, the file allocation tables, FAT directory entries, and FAT logical organization. Built-in transparent cache layers dramatically improve FAT and cluster chain access.
The FATFS library has been developed by Wizcode LLC – leading producer of software for Windows Mobile Pocket PC devices.
Low level (disk) access – provides a set of APIs for accessing low level storage devices. Features include disk management helpers, storage card enumeration, sector access, and device identification.
High level (volume) access – high level functions for managing FAT volumes. All 3 FAT variations (FAT12, FAT16, and FAT32) are supported. Offers interfaces for enumeration of FAT partitions, formatting, file system management, direct FAT access, FAT file chain manipulation, and directory entry data access and conversion.
Cache – a transparent layer between the application using the library and the library itself that caches low-level and high-level operations and improving I/O performance. Low-level cache deals with sector access while high-level cache improves direct FAT access operations and cluster chain access time. All features of the cache layer (enabled or disabled, fixed vs. dynamic size, write-trough vs. write-back, flush frequency, cache entire FAT vs. read-on-demand, reference count hit/miss weights and entry age), are exposed to the application and can be fine-tuned programmatically.
Worker class separation – the worker code is completely separated from the user interface code. Callbacks are used to send various notification events back to the user interface.