Mistake on this page?
Report an issue in GitHub or email us
Public Member Functions | Protected Member Functions | Friends
mbed::FileSystem Class Referenceabstract

#include <FileSystem.h>

Inheritance diagram for mbed::FileSystem:
mbed::FileSystemLike mbed::FileSystemHandle mbed::FileBase mbed::NonCopyable< FileSystemLike > mbed::NonCopyable< FileSystemHandle > mbed::NonCopyable< FileBase > FATFileSystem LittleFileSystem

Public Member Functions

 FileSystem (const char *name=NULL)
 
virtual int mount (BlockDevice *bd)=0
 
virtual int unmount ()=0
 
virtual int reformat (BlockDevice *bd=NULL)
 
virtual int remove (const char *path)
 
virtual int rename (const char *path, const char *newpath)
 
virtual int stat (const char *path, struct stat *st)
 
virtual int mkdir (const char *path, mode_t mode)
 
virtual int statvfs (const char *path, struct statvfs *buf)
 
- Public Member Functions inherited from mbed::FileSystemLike
 FileSystemLike (const char *name=NULL)
 
FileHandleopen (const char *path, int flags)
 
DirHandleopendir (const char *path)
 
- Public Member Functions inherited from mbed::FileSystemHandle
virtual ~FileSystemHandle ()
 
- Public Member Functions inherited from mbed::FileBase
 FileBase (const char *name, PathType t)
 
const char * getName (void)
 
PathType getPathType (void)
 

Protected Member Functions

virtual int file_open (fs_file_t *file, const char *path, int flags)=0
 
virtual int file_close (fs_file_t file)=0
 
virtual ssize_t file_read (fs_file_t file, void *buffer, size_t size)=0
 
virtual ssize_t file_write (fs_file_t file, const void *buffer, size_t size)=0
 
virtual int file_sync (fs_file_t file)
 
virtual int file_isatty (fs_file_t file)
 
virtual off_t file_seek (fs_file_t file, off_t offset, int whence)=0
 
virtual off_t file_tell (fs_file_t file)
 
virtual void file_rewind (fs_file_t file)
 
virtual off_t file_size (fs_file_t file)
 
virtual int dir_open (fs_dir_t *dir, const char *path)
 
virtual int dir_close (fs_dir_t dir)
 
virtual ssize_t dir_read (fs_dir_t dir, struct dirent *ent)
 
virtual void dir_seek (fs_dir_t dir, off_t offset)
 
virtual off_t dir_tell (fs_dir_t dir)
 
virtual void dir_rewind (fs_dir_t dir)
 
virtual size_t dir_size (fs_dir_t dir)
 
virtual int open (FileHandle **file, const char *path, int flags)
 
virtual int open (DirHandle **dir, const char *path)
 

Friends

class File
 
class Dir
 

Additional Inherited Members

- Static Public Member Functions inherited from mbed::FileBase
static FileBaselookup (const char *name, unsigned int len)
 
static FileBaseget (int n)
 

Detailed Description

A filesystem object provides filesystem operations and file operations for the File and Dir classes on a block device.

Implementations must provide at minimum file operations and mount operations for block devices.

Note
Synchronization level: Set by subclass

Constructor & Destructor Documentation

mbed::FileSystem::FileSystem ( const char *  name = NULL)

FileSystem lifetime

Parameters
nameName to add filesystem to tree as

Member Function Documentation

int mbed::FileSystem::dir_close ( fs_dir_t  dir)
protectedvirtual

Close a directory

Parameters
dirDir handle
Returns
0 on success, negative error code on failure

Reimplemented in LittleFileSystem, and FATFileSystem.

int mbed::FileSystem::dir_open ( fs_dir_t *  dir,
const char *  path 
)
protectedvirtual

Open a directory on the filesystem

Parameters
dirDestination for the handle to the directory
pathName of the directory to open
Returns
0 on success, negative error code on failure

Reimplemented in LittleFileSystem, and FATFileSystem.

ssize_t mbed::FileSystem::dir_read ( fs_dir_t  dir,
struct dirent ent 
)
protectedvirtual

Read the next directory entry

Parameters
dirDir handle
entThe directory entry to fill out
Returns
1 on reading a filename, 0 at end of directory, negative error on failure

Reimplemented in LittleFileSystem, and FATFileSystem.

void mbed::FileSystem::dir_rewind ( fs_dir_t  dir)
protectedvirtual

Rewind the current position to the beginning of the directory

Parameters
dirDir handle

Reimplemented in LittleFileSystem, and FATFileSystem.

void mbed::FileSystem::dir_seek ( fs_dir_t  dir,
off_t  offset 
)
protectedvirtual

Set the current position of the directory

Parameters
dirDir handle
offsetOffset of the location to seek to, must be a value returned from dir_tell

Reimplemented in LittleFileSystem, and FATFileSystem.

size_t mbed::FileSystem::dir_size ( fs_dir_t  dir)
protectedvirtual

Get the sizeof the directory

Parameters
dirDir handle
Returns
Number of files in the directory
off_t mbed::FileSystem::dir_tell ( fs_dir_t  dir)
protectedvirtual

Get the current position of the directory

Parameters
dirDir handle
Returns
Position of the directory that can be passed to dir_rewind

Reimplemented in LittleFileSystem, and FATFileSystem.

virtual int mbed::FileSystem::file_close ( fs_file_t  file)
protectedpure virtual

Close a file

Parameters
fileFile handle
Returns
0 on success, negative error code on failure

Implemented in LittleFileSystem, and FATFileSystem.

int mbed::FileSystem::file_isatty ( fs_file_t  file)
protectedvirtual

Check if the file in an interactive terminal device If so, line buffered behaviour is used by default

Parameters
fileFile handle
Returns
True if the file is a terminal
virtual int mbed::FileSystem::file_open ( fs_file_t *  file,
const char *  path,
int  flags 
)
protectedpure virtual

Open a file on the filesystem

Parameters
fileDestination for the handle to a newly created file
pathThe name of the file to open
flagsThe flags to open the file in, one of O_RDONLY, O_WRONLY, O_RDWR, bitwise or'd with one of O_CREAT, O_TRUNC, O_APPEND
Returns
0 on success, negative error code on failure

Implemented in LittleFileSystem, and FATFileSystem.

virtual ssize_t mbed::FileSystem::file_read ( fs_file_t  file,
void *  buffer,
size_t  size 
)
protectedpure virtual

Read the contents of a file into a buffer

Parameters
fileFile handle
bufferThe buffer to read in to
sizeThe number of bytes to read
Returns
The number of bytes read, 0 at end of file, negative error on failure

Implemented in LittleFileSystem, and FATFileSystem.

void mbed::FileSystem::file_rewind ( fs_file_t  file)
protectedvirtual

Rewind the file position to the beginning of the file

Parameters
fileFile handle
Note
This is equivalent to file_seek(file, 0, FS_SEEK_SET)
virtual off_t mbed::FileSystem::file_seek ( fs_file_t  file,
off_t  offset,
int  whence 
)
protectedpure virtual

Move the file position to a given offset from from a given location

Parameters
fileFile handle
offsetThe offset from whence to move to
whenceThe start of where to seek SEEK_SET to start from beginning of file, SEEK_CUR to start from current position in file, SEEK_END to start from end of file
Returns
The new offset of the file

Implemented in LittleFileSystem, and FATFileSystem.

off_t mbed::FileSystem::file_size ( fs_file_t  file)
protectedvirtual

Get the size of the file

Parameters
fileFile handle
Returns
Size of the file in bytes

Reimplemented in LittleFileSystem, and FATFileSystem.

int mbed::FileSystem::file_sync ( fs_file_t  file)
protectedvirtual

Flush any buffers associated with the file

Parameters
fileFile handle
Returns
0 on success, negative error code on failure

Reimplemented in LittleFileSystem, and FATFileSystem.

off_t mbed::FileSystem::file_tell ( fs_file_t  file)
protectedvirtual

Get the file position of the file

Parameters
fileFile handle
Returns
The current offset in the file

Reimplemented in LittleFileSystem, and FATFileSystem.

virtual ssize_t mbed::FileSystem::file_write ( fs_file_t  file,
const void *  buffer,
size_t  size 
)
protectedpure virtual

Write the contents of a buffer to a file

Parameters
fileFile handle
bufferThe buffer to write from
sizeThe number of bytes to write
Returns
The number of bytes written, negative error on failure

Implemented in LittleFileSystem, and FATFileSystem.

int mbed::FileSystem::mkdir ( const char *  path,
mode_t  mode 
)
virtual

Create a directory in the filesystem.

Parameters
pathThe name of the directory to create.
modeThe permissions with which to create the directory
Returns
0 on success, negative error code on failure

Reimplemented from mbed::FileSystemHandle.

Reimplemented in LittleFileSystem, and FATFileSystem.

virtual int mbed::FileSystem::mount ( BlockDevice bd)
pure virtual

Mounts a filesystem to a block device

Parameters
bdBlockDevice to mount to
Returns
0 on success, negative error code on failure

Implemented in LittleFileSystem, and FATFileSystem.

int mbed::FileSystem::open ( FileHandle **  file,
const char *  filename,
int  flags 
)
protectedvirtual

Open a file on the filesystem

Parameters
fileDestination for the handle to a newly created file
filenameThe name of the file to open
flagsThe flags to open the file in, one of O_RDONLY, O_WRONLY, O_RDWR, bitwise or'd with one of O_CREAT, O_TRUNC, O_APPEND
Returns
0 on success, negative error code on failure

Implements mbed::FileSystemHandle.

int mbed::FileSystem::open ( DirHandle **  dir,
const char *  path 
)
protectedvirtual

Open a directory on the filesystem

Parameters
dirDestination for the handle to the directory
pathName of the directory to open
Returns
0 on success, negative error code on failure

Reimplemented from mbed::FileSystemHandle.

int mbed::FileSystem::reformat ( BlockDevice bd = NULL)
virtual

Reformats a filesystem, results in an empty and mounted filesystem

Parameters
bdBlockDevice to reformat and mount. If NULL, the mounted block device will be used. Note: if mount fails, bd must be provided. Default: NULL
Returns
0 on success, negative error code on failure

Reimplemented in LittleFileSystem, and FATFileSystem.

int mbed::FileSystem::remove ( const char *  path)
virtual

Remove a file from the filesystem.

Parameters
pathThe name of the file to remove.
Returns
0 on success, negative error code on failure

Reimplemented from mbed::FileSystemHandle.

Reimplemented in LittleFileSystem, and FATFileSystem.

int mbed::FileSystem::rename ( const char *  path,
const char *  newpath 
)
virtual

Rename a file in the filesystem.

Parameters
pathThe name of the file to rename.
newpathThe name to rename it to
Returns
0 on success, negative error code on failure

Reimplemented from mbed::FileSystemHandle.

Reimplemented in LittleFileSystem, and FATFileSystem.

int mbed::FileSystem::stat ( const char *  path,
struct stat st 
)
virtual

Store information about the file in a stat structure

Parameters
pathThe name of the file to find information about
stThe stat buffer to write to
Returns
0 on success, negative error code on failure

Reimplemented from mbed::FileSystemHandle.

Reimplemented in LittleFileSystem, and FATFileSystem.

int mbed::FileSystem::statvfs ( const char *  path,
struct statvfs buf 
)
virtual

Store information about the mounted filesystem in a statvfs structure

Parameters
pathThe name of the file to find information about
bufThe stat buffer to write to
Returns
0 on success, negative error code on failure

Reimplemented from mbed::FileSystemHandle.

Reimplemented in LittleFileSystem, and FATFileSystem.

virtual int mbed::FileSystem::unmount ( )
pure virtual

Unmounts a filesystem from the underlying block device

Returns
0 on success, negative error code on failure

Implemented in LittleFileSystem, and FATFileSystem.


The documentation for this class was generated from the following files:
Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.