description | A minimal FAT I/O library for embedded systems |
homepage URL | https://github.com/mbitsnbites/mfat |
repository URL | https://github.com/mbitsnbites/mfat.git |
owner | m@bitsnbites.eu |
last change | Thu, 31 Aug 2023 18:16:53 +0000 (31 20:16 +0200) |
last refresh | Thu, 21 Nov 2024 07:52:47 +0000 (21 08:52 +0100) |
mirror URL | git://repo.or.cz/mfat.git |
https://repo.or.cz/mfat.git | |
ssh://git@repo.or.cz/mfat.git | |
bundle info | mfat.git downloadable bundles |
content tags |
MFAT is a minimal I/O library for FAT (File Allocation Table) volumes.
The library has been designed for embedded systems, and its small code and memory footprint makes it suitable for inclusion in firmware/ROM and/or small OS kernels.
The internal MFAT context is statically allocated, meaning:
Also: MFAT is still work-in-progress.
The API of this library is modelled after the POSIX.1-2017 file I/O C API:s.
These are the MFAT functions that are inspired by POSIX functions:
MFAT function | POSIX prototype |
---|---|
mfat_close() | close() |
mfat_closedir() | closedir() |
mfat_fdopendir() | fdopendir() |
mfat_fstat() | fstat() |
mfat_lseek() | lseek() |
mfat_open() | open() |
mfat_opendir() | opendir() |
mfat_read() | read() |
mfat_readdir() | readdir() |
mfat_stat() | stat() |
mfat_sync() | sync() |
mfat_write() | write() |
Note that the library is not fully POSIX compliant. For instance:
While the library itself is not fully POSIX compliant, it is suitable as a low level I/O implementation layer for higher level libraries, such as newlib.
It is also easy to modify existing programs that use POSIX I/O routines to use the MFAT library instead.
14 months ago | master | logtree |
23 months ago | feature/cache_path_lookups | logtree |