B.A.T. working FATFileSystem

Fork of FATFileSystem by mbed official

Revision:
4:3ff2606d5713
Parent:
3:e960e2b81a3c
Child:
5:b3b3370574cf
diff -r e960e2b81a3c -r 3ff2606d5713 FATFileSystem.h
--- a/FATFileSystem.h	Mon Mar 17 14:09:00 2014 +0000
+++ b/FATFileSystem.h	Thu Aug 28 13:15:31 2014 +0100
@@ -30,8 +30,8 @@
 using namespace mbed;
 
 /**
-  * FATFileSystem based on ChaN's Fat Filesystem library v0.8 
-  */
+ * FATFileSystem based on ChaN's Fat Filesystem library v0.8 
+ */
 class FATFileSystem : public FileSystemLike {
 public:
 
@@ -41,36 +41,51 @@
     static FATFileSystem * _ffs[_VOLUMES];   // FATFileSystem objects, as parallel to FatFs drives array
     FATFS _fs;                               // Work area (file system object) for logical drive
     int _fsid;
-    
+
     /**
-      * Opens a file on the filesystem
-      */
+     * Opens a file on the filesystem
+     */
     virtual FileHandle *open(const char* name, int flags);
     
     /**
      * Removes a file path
      */
     virtual int remove(const char *filename);
-
+    
+    /**
+     * Renames a file
+     */
+    virtual int rename(const char *oldname, const char *newname);
+    
     /**
      * Formats a logical drive, FDISK artitioning rule, 512 bytes per cluster
      */
     virtual int format();
-
+    
     /**
-      * Opens a directory on the filesystem
-      */
+     * Opens a directory on the filesystem
+     */
     virtual DirHandle *opendir(const char *name);
     
     /**
      * Creates a directory path
      */
     virtual int mkdir(const char *name, mode_t mode);
+    
+    /**
+     * Mounts the filesystem
+     */
+    virtual int mount();
+    
+    /**
+     * Unmounts the filesystem
+     */
+    virtual int unmount();
 
     virtual int disk_initialize() { return 0; }
     virtual int disk_status() { return 0; }
-    virtual int disk_read(uint8_t * buffer, uint64_t sector) = 0;
-    virtual int disk_write(const uint8_t * buffer, uint64_t sector) = 0;
+    virtual int disk_read(uint8_t * buffer, uint64_t sector, uint8_t count) = 0;
+    virtual int disk_write(const uint8_t * buffer, uint64_t sector, uint8_t count) = 0;
     virtual int disk_sync() { return 0; }
     virtual uint64_t disk_sectors() = 0;