Add filesystem header
This commit is contained in:
parent
97e48d1e8b
commit
15ea32dbcd
33
inc/kernel/filesystem/filesystem.h
Normal file
33
inc/kernel/filesystem/filesystem.h
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
#pragma once
|
||||||
|
#include <lainlib/mutex/ticketlock.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
|
||||||
|
/************************
|
||||||
|
*** Team Kitty, 2021 ***
|
||||||
|
*** Chroma ***
|
||||||
|
***********************/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Abstract base class for filesystem implementations.
|
||||||
|
* ! Do not instantiate!
|
||||||
|
*/
|
||||||
|
|
||||||
|
class FileSystem {
|
||||||
|
public:
|
||||||
|
virtual void Init(size_t Sector, size_t Size) = 0;
|
||||||
|
virtual const char* GetName() = 0;
|
||||||
|
|
||||||
|
/*********** File Manipulation***********/
|
||||||
|
virtual size_t GetFileSize(const char* FilePath) = 0;
|
||||||
|
virtual bool FileExists(const char* FilePath) = 0;
|
||||||
|
|
||||||
|
virtual uint8_t* Read(const char* FilePath) = 0;
|
||||||
|
virtual size_t ReadIntoBuffer(const char* FilePath, size_t Offset, size_t Length, uint8_t* Target) = 0;
|
||||||
|
|
||||||
|
virtual size_t Write(const char* FilePath, uint8_t* Data) = 0;
|
||||||
|
virtual size_t WriteFromBuffer(const char* FilePath, size_t Offset, size_t Length, uint8_t* Buffer) = 0;
|
||||||
|
|
||||||
|
private:
|
||||||
|
ticketlock_t Lock;
|
||||||
|
};
|
Loading…
Reference in New Issue
Block a user