Implement /proc/PID/vm.

Refactored SyntheticFileSystem to maintain an arbitrary directory structure.
ProcFileSystem creates a directory entry in /proc for each new process.
This commit is contained in:
Andreas Kling 2018-10-26 17:42:12 +02:00
commit a32b3a3ddf
Notes: sideshowbarker 2024-07-19 18:38:09 +09:00
15 changed files with 217 additions and 39 deletions

View file

@ -3,15 +3,24 @@
#include <AK/Types.h>
#include <VirtualFileSystem/SyntheticFileSystem.h>
class Task;
class ProcFileSystem final : public SyntheticFileSystem {
public:
static ProcFileSystem& the();
virtual ~ProcFileSystem() override;
static RetainPtr<ProcFileSystem> create();
virtual bool initialize() override;
virtual const char* className() const override;
void addProcess(Task&);
void removeProcess(Task&);
private:
ProcFileSystem();
HashMap<pid_t, InodeIndex> m_pid2inode;
};