mFS file system library for EEPROM memory chips.

Embed: (wiki syntax)

« Back to documentation index

mfs Class Reference

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

mfs ( int  i2c_address )

Create a new file system object.

Parameters:
xi2c_addressa 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:
blockStart scanning from this block.
*filenameOutReturn name of the file found.
Returnsblock number of the file found.
Returns:
Error code: 0 = OK, 1 = Empty fs

Definition at line 68 of file mfs.cpp.

uint32_t free (  )

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:
*flagsFlag 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.
Returnsblock 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:
*blockOutReturns 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:
createLabelCreate 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:
*dataPointer for readed data
blockBlock number.
byteSelected byte.
nBytes 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:
*flagsFlag 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:
*dataPointer for readed data
blockBlock number.
byteSelected byte.
nBytes to be read.
Returns:
Error code: 0 = OK, 1 = Incorrect input

Definition at line 39 of file mfs.cpp.