svn / FATFileSystem / trunk / FATFileSystem.h

Revision 16, 1.5 kB (checked in by rolf.meyer@…, 3 years ago)

Finaly the FATFileSystem works on both targets ;-)
Sorry for the delay.

Line 
1/* mbed Microcontroller Library - FATFileSystem
2 * Copyright (c) 2008, sford
3 */
4
5/* Library: FATFileSystem.h
6 * A library of stuff to make a fat filesystem on top of a block device
7 */
8
9#ifndef MBED_FATFILESYSTEM_H
10#define MBED_FATFILESYSTEM_H
11
12#ifndef FFSDEBUG_ENABLED
13#define FFSDEBUG_ENABLED 0
14#endif
15
16#if FFSDEBUG_ENABLED
17#define FFSDEBUG(FMT, ...) printf(FMT, ##__VA_ARGS__)
18#else
19#define FFSDEBUG(FMT, ...)
20#endif
21
22#include "FileSystemLike.h"
23#include "FileHandle.h"
24#include "ff.h"
25#include "diskio.h"
26
27namespace mbed {
28/* Class: FATFileSystem
29 * The class itself
30 */
31class FATFileSystem : public FileSystemLike {
32public:
33
34    FATFileSystem(const char* n);
35    virtual ~FATFileSystem();
36   
37    /* Function: open
38       * open a file on the filesystem. never called directly
39       */
40    virtual FileHandle *open(const char* name, int flags);
41    virtual int remove(const char *filename);
42    virtual int format();
43        virtual DirHandle *opendir(const char *name);
44        virtual int mkdir(const char *name, mode_t mode);
45   
46    FATFS _fs;                              // Work area (file system object) for logical drive
47    static FATFileSystem *_ffs[_DRIVES];    // FATFileSystem objects, as parallel to FatFs drives array
48    int _fsid;
49   
50    virtual int disk_initialize() { return 0; }
51    virtual int disk_status() { return 0; }
52    virtual int disk_read(char *buffer, int sector) = 0;
53    virtual int disk_write(const char *buffer, int sector) = 0;
54    virtual int disk_sync() { return 0; }
55    virtual int disk_sectors() = 0;
56     
57};
58   
59}
60
61#endif
Note: See TracBrowser for help on using the browser.