43     char fullFilePath[256];
    44     strncpy(fullFilePath, DRIVE, 
sizeof(fullFilePath));
    45     strncat(fullFilePath, filePath, 
_MIN(strlen(fullFilePath), 
sizeof(fullFilePath)));
    47     if (strncmp(mode, 
"r", MAX_MODE_LEN) == 0)
    51     else if (strncmp(mode, 
"r+", MAX_MODE_LEN) == 0)
    55     else if (strncmp(mode, 
"w", MAX_MODE_LEN) == 0 ||
    56                 strncmp(mode, 
"wb", MAX_MODE_LEN) == 0)
    60     else if (strncmp(mode, 
"w+", MAX_MODE_LEN) == 0 ||
    61                 (strncmp(mode, 
"wb+", MAX_MODE_LEN) == 0))
    65     else if (strncmp(mode, 
"a", MAX_MODE_LEN) == 0)
    74     else if (strncmp(mode, 
"a+", MAX_MODE_LEN) == 0)
    83     else if (strncmp(mode, 
"wx", MAX_MODE_LEN) == 0)
    87     else if (strncmp(mode, 
"w+x", MAX_MODE_LEN) == 0)
   157         return static_cast<int>(ch);
   169     std::size_t bytes_written = 0;
   174     g_indicateFsWriteMs = 50;
   182     return bytes_written;
   189     va_start(args, format);
   190     result = 
vprintf(format, args);
   206     if (
f_read(&
m_file, buffer, bytesToRead, &bytesRead) == 
FR_OK && bytesRead == bytesToRead)
   208         return static_cast<int>(buffer[0]);
   215     std::size_t bytes_read = 0;
 
FRESULT f_write(FIL *fp, const void *buff, UINT btw, UINT *bw)
 
bool open(const char *filePath, const char *mode) OVERRIDE
 
FRESULT f_read(FIL *fp, void *buff, UINT btr, UINT *br)
 
int f_vprintf(FIL *, const TCHAR *, va_list arp)
 
int putch(char ch) OVERRIDE
 
std::size_t read(void *bytes, std::size_t len) OVERRIDE
 
FRESULT f_lseek(FIL *fp, DWORD ofs)
 
std::size_t write(const void *bytes, std::size_t len) OVERRIDE
 
int f_puts(const TCHAR *, FIL *)
 
CONST_EXPRESSION std::uint32_t SYNC_FREQ_MS
 
int puts(const char *str) OVERRIDE
 
FRESULT f_open(FIL *fp, const TCHAR *path, BYTE mode)
 
ROSCPP_DECL std::string append(const std::string &left, const std::string &right)
 
int vprintf(const char *format, va_list args) OVERRIDE
 
int lprintf(const char *format,...) OVERRIDE