Rtos API example

Embed: (wiki syntax)

« Back to documentation index

LocalFileSystem Class Reference

A filesystem for accessing the local mbed Microcontroller USB disk drive. More...

#include <LocalFileSystem.h>

Inherits mbed::FileSystemLike, and NonCopyable< LocalFileSystem >.

Public Member Functions

virtual int open (FileHandle **file, const char *path, int flags)
 Open a file on the filesystem.
virtual int open (DirHandle **dir, const char *name)
 Open a directory on the filesystem.
virtual int remove (const char *filename)
 Remove a file from the filesystem.
 MBED_DEPRECATED_SINCE ("mbed-os-5.5","Replaced by `int open(FileHandle **, ...)` for propagating error codes") FileHandle *open(const char *path
 Open a file on the filesystem.
virtual int rename (const char *path, const char *newpath)
 Rename a file in the filesystem.
virtual int stat (const char *path, struct stat *st)
 Store information about the file in a stat structure.
virtual int mkdir (const char *path, mode_t mode)
 Create a directory in the filesystem.

Protected Member Functions

 MBED_DEPRECATED ("Invalid copy construction of a NonCopyable resource.") NonCopyable(const NonCopyable &)
 NonCopyable copy constructor.
 MBED_DEPRECATED ("Invalid copy assignment of a NonCopyable resource.") NonCopyable &operator
 NonCopyable copy assignment operator.

Private Member Functions

 MBED_DEPRECATED ("Invalid copy construction of a NonCopyable resource.") NonCopyable(const NonCopyable &)
 NonCopyable copy constructor.
 MBED_DEPRECATED ("Invalid copy assignment of a NonCopyable resource.") NonCopyable &operator
 NonCopyable copy assignment operator.

Detailed Description

A filesystem for accessing the local mbed Microcontroller USB disk drive.

This allows programs to read and write files on the same disk drive that is used to program the mbed Microcontroller. Once created, the standard C file access functions are used to open, read and write files.

Note:
Synchronization level: Thread safe

Example:

 #include "mbed.h"

 LocalFileSystem local("local");               // Create the local filesystem under the name "local"

 int main() {
     FILE *fp = fopen("/local/out.txt", "w");  // Open "out.txt" on the local file system for writing
     fprintf(fp, "Hello World!");
     fclose(fp);
     remove("/local/out.txt");                 // Removes the file "out.txt" from the local file system

     DIR *d = opendir("/local");               // Opens the root directory of the local file system
     struct dirent *p;
     while((p = readdir(d)) != NULL) {         // Print the names of the files in the local file system
       printf("%s\n", p->d_name);              // to stdout.
     }
     closedir(d);
 }
Note:
If the microcontroller program makes an access to the local drive, it will be marked as "removed" on the Host computer. This means it is no longer accessible from the Host Computer.

The drive will only re-appear when the microcontroller program exists. Note that if the program does not exit, you will need to hold down reset on the mbed Microcontroller to be able to see the drive again!

Definition at line 105 of file LocalFileSystem.h.


Member Function Documentation

MBED_DEPRECATED ( "Invalid copy construction of a NonCopyable< FileBase > resource."   ) const [protected, inherited]

NonCopyable copy constructor.

A compile time warning is issued when this function is used and a runtime warning is printed when the copy construction of the non copyable happens.

If you see this warning, your code is probably doing something unspecified. Copy of non copyable resources can lead to resource leak and random error.

Definition at line 171 of file NonCopyable.h.

MBED_DEPRECATED ( "Invalid copy assignment of a NonCopyable< FileBase > resource."   ) [protected, inherited]

NonCopyable copy assignment operator.

A compile time warning is issued when this function is used and a runtime warning is printed when the copy construction of the non copyable happens.

If you see this warning, your code is probably doing something unspecified. Copy of non copyable resources can lead to resource leak and random error.

MBED_DEPRECATED_SINCE ( "mbed-os-5.5"  ,
"Replaced by `int open(FileHandle **, ...)` for propagating error codes"   
) const [inherited]

Open a file on the filesystem.

Parameters:
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:
A file handle on success, NULL on failure
virtual int mkdir ( const char *  path,
mode_t  mode 
) [virtual, inherited]

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 in FATFileSystem, and FileSystem.

int open ( DirHandle **  dir,
const char *  path 
) [virtual]

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 FileSystemHandle.

Definition at line 269 of file LocalFileSystem.cpp.

int open ( FileHandle **  file,
const char *  filename,
int  flags 
) [virtual]

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 FileSystemHandle.

Definition at line 239 of file LocalFileSystem.cpp.

int 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 FileSystemHandle.

Definition at line 263 of file LocalFileSystem.cpp.

virtual int rename ( const char *  path,
const char *  newpath 
) [virtual, inherited]

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 in FATFileSystem, and FileSystem.

virtual int stat ( const char *  path,
struct stat *  st 
) [virtual, inherited]

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 in FATFileSystem, and FileSystem.