mbed library for NZ32-SC151

Embed: (wiki syntax)

« Back to documentation index

LocalFileSystem Class Reference

LocalFileSystem Class Reference

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

#include <LocalFileSystem.h>

Inherits mbed::FileSystemLike.

Public Member Functions

virtual FileHandleopen (const char *name, int flags)
 Opens a file from the filesystem.
virtual int remove (const char *filename)
 Remove a file from the filesystem.
virtual DirHandleopendir (const char *name)
 Opens a directory in the filesystem and returns a DirHandle representing the directory stream.
virtual int rename (const char *oldname, const char *newname)
 Rename a file in the filesystem.
virtual int mkdir (const char *name, mode_t mode)
 Creates a directory in the filesystem.

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.

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 87 of file LocalFileSystem.h.


Member Function Documentation

virtual int mkdir ( const char *  name,
mode_t  mode 
) [virtual, inherited]

Creates a directory in the filesystem.

Parameters:
nameThe name of the directory to create.
modeThe permissions to create the directory with.
Returns:
0 on success, -1 on failure.

Definition at line 97 of file FileSystemLike.h.

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

Opens a file from the filesystem.

Parameters:
filenameThe name of the file to open.
flagsOne of O_RDONLY, O_WRONLY, or O_RDWR, OR'd with zero or more of O_CREAT, O_TRUNC, or O_APPEND.
Returns:
A pointer to a FileHandle object representing the file on success, or NULL on failure.

Implements FileSystemLike.

Definition at line 193 of file LocalFileSystem.cpp.

DirHandle * opendir ( const char *  name ) [virtual]

Opens a directory in the filesystem and returns a DirHandle representing the directory stream.

Parameters:
nameThe name of the directory to open.
Returns:
A DirHandle representing the directory stream, or NULL on failure.

Reimplemented from FileSystemLike.

Definition at line 217 of file LocalFileSystem.cpp.

int remove ( const char *  filename ) [virtual]

Remove a file from the filesystem.

Parameters:
filenamethe name of the file to remove.
returns0 on success, -1 on failure.

Reimplemented from FileSystemLike.

Definition at line 213 of file LocalFileSystem.cpp.

virtual int rename ( const char *  oldname,
const char *  newname 
) [virtual, inherited]

Rename a file in the filesystem.

Parameters:
oldnamethe name of the file to rename.
newnamethe name to rename it to.
Returns:
0 on success, -1 on failure.

Definition at line 75 of file FileSystemLike.h.