1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-11-05 01:43:40 +03:00

Add FS::info64 call for filesystems > 4GB (#6154)

Fixes #6082

Add an info64() call which returns used and total sizes as 64 bit
quantities.  A default wrapper that just copies the 32-bit values is
included for LittleFS/SPIFFS which can't hit those capacities.
This commit is contained in:
Earle F. Philhower, III
2019-05-30 10:51:55 -07:00
committed by GitHub
parent 69311c8fe1
commit 44bda41cf6
6 changed files with 74 additions and 5 deletions

View File

@@ -137,6 +137,7 @@ protected:
FS *_baseFS;
};
// Backwards compatible, <4GB filesystem usage
struct FSInfo {
size_t totalBytes;
size_t usedBytes;
@@ -146,6 +147,17 @@ struct FSInfo {
size_t maxPathLength;
};
// Support > 4GB filesystems (SD, etc.)
struct FSInfo64 {
uint64_t totalBytes;
uint64_t usedBytes;
size_t blockSize;
size_t pageSize;
size_t maxOpenFiles;
size_t maxPathLength;
};
class FSConfig
{
public:
@@ -186,6 +198,7 @@ public:
bool format();
bool info(FSInfo& info);
bool info64(FSInfo64& info);
File open(const char* path, const char* mode);
File open(const String& path, const char* mode);