mFS file system library for EEPROM memory chips.
« Back to documentation index
mfs Class Reference
mFS File System class
More...
#include <mfs.h >
Public Member Functions
mfs (int i2c_address)
Create a new file system object.
char read (char *data, uint32_t block, uint32_t byte, uint32_t n)
Read data from specified fs block.
char write (char *data, uint32_t block, uint32_t byte, uint32_t n)
Write data to specified fs block.
char getNextFreeBlock (uint32_t *blockOut)
Locate next free block.
char findNextFile (uint32_t block, char *filenameOut, uint32_t *blockOut)
Locates next starting file from parameter block.
char getFirstBlockOfFile (char filename[20], uint32_t *blockOut)
Get block number of the given file.
char createFile (char filename[20])
Create a new empty file.
char removeFile (char filename[20])
Remove a file from the file system.
char renameFile (char oldFilename[20], char newFilename[20])
Rename a file.
char setFileFlags (char *flags, char filename[20])
Set user modifiable flags.
char getFileFlags (char *flags, char filename[20])
Read user modifiable flags.
uint32_t free ()
Get number of free blocks.
uint32_t mkfs (bool createLabel)
Format new file system.
Detailed Description
mFS File System class
This class is used as a handle for the fs in use.
Definition at line 92 of file mfs.h .
Constructor & Destructor Documentation
Create a new file system object.
Parameters:
xi2c_address a Physical I2C address of the EEPROM chip
Definition at line 22 of file mfs.cpp .
Member Function Documentation
char createFile
(
char
filename [20] )
Create a new empty file.
Reserves one block for the file created.
Parameters:
filename[20] Filename input.
Returns: Error code: 0 = OK, 1 = File exists already, 2 = Out of space
Definition at line 112 of file mfs.cpp .
char findNextFile
(
uint32_t
block ,
char *
filenameOut ,
uint32_t *
blockOut
)
Locates next starting file from parameter block.
Parameters:
block Start scanning from this block.
*filenameOut Return name of the file found.
Returns block number of the file found.
Returns: Error code: 0 = OK, 1 = Empty fs
Definition at line 68 of file mfs.cpp .
Get number of free blocks.
Returns: Number of free blocks.
Definition at line 242 of file mfs.cpp .
char getFileFlags
(
char *
flags ,
char
filename [20]
)
Read user modifiable flags.
desc RO|HIDDEN|LOCK
bit 3 2 1
Parameters:
*flags Flag output
filename[20] Filename input.
Returns: Error code: 0 = OK, 1 = File doesn't exists
Definition at line 223 of file mfs.cpp .
char getFirstBlockOfFile
(
char
filename [20],
uint32_t *
blockOut
)
Get block number of the given file.
Returns block number of the block flaged with FBOF flag.
Parameters:
filename[20] Filename input.
Returns block number of the first block of the given file.
Returns: Error code: 0 = OK, 1 = File not found
Definition at line 95 of file mfs.cpp .
char getNextFreeBlock
(
uint32_t *
blockOut )
Locate next free block.
Parameters:
*blockOut Returns next free block from begining of the fs.
Returns: Error code: 0 = OK, 1 = Out of space
Definition at line 51 of file mfs.cpp .
uint32_t mkfs
(
bool
createLabel )
Format new file system.
Note: Keep in mind that only first byte is checked for functionality and if it's broken the who file system is useless.
Parameters:
createLabel Create volume label at the begining of the file system. (there is no specified use for volume labels atm).
Returns: Number of bad block headers.
Definition at line 260 of file mfs.cpp .
char read
(
char *
data ,
uint32_t
block ,
uint32_t
byte ,
uint32_t
n
)
Read data from specified fs block.
Parameters:
*data Pointer for readed data
block Block number.
byte Selected byte.
n Bytes to be read.
Returns: Error code: 0 = OK, 1 = Incorrect input
Definition at line 27 of file mfs.cpp .
char removeFile
(
char
filename [20] )
Remove a file from the file system.
Parameters:
filename[20] Filename input.
Returns: Error code: 0 = OK, 1 = File doesn't exists, 2 = RO file
Definition at line 149 of file mfs.cpp .
char renameFile
(
char
oldFilename [20],
char
newFilename [20]
)
Rename a file.
Parameters:
oldFilename[20] Old filename.
newFilename[20] New file name.
Returns: Error code: 0 = OK, 1 = File doesn't exists, 2 = RO file, 3 = fs is corrupted
Definition at line 182 of file mfs.cpp .
char setFileFlags
(
char *
flags ,
char
filename [20]
)
Set user modifiable flags.
desc RO|HIDDEN|LOCK
bit 3 2 1
Parameters:
*flags Flag input
filename[20] Filename input.
Returns: Error code: 0 = OK, 1 = File doesn't exists, 2 = File system is corrupted
Definition at line 202 of file mfs.cpp .
char write
(
char *
data ,
uint32_t
block ,
uint32_t
byte ,
uint32_t
n
)
Write data to specified fs block.
Parameters:
*data Pointer for readed data
block Block number.
byte Selected byte.
n Bytes to be read.
Returns: Error code: 0 = OK, 1 = Incorrect input
Definition at line 39 of file mfs.cpp .