mirror of
https://github.com/Fennix-Project/Kernel.git
synced 2025-08-24 20:45:02 +00:00
.github
.vscode
Architecture
Core
FileSystem
Library
SystemCalls
Tasking
include
boot
filesystem
ext2.hpp
fat.hpp
initrd.hpp
mounts.hpp
ustar.hpp
assert.h
atomic.hpp
bitmap.hpp
cargs.h
convert.h
cpu.hpp
cstring
cwalk.h
debug.h
display.hpp
driver.hpp
filesystem.hpp
hashmap.hpp
interrupts.hpp
io.h
ipc.hpp
kconfig.hpp
limits.h
lock.hpp
memory.hpp
pci.hpp
power.hpp
printf.h
rand.hpp
smartptr.hpp
smp.hpp
symbols.hpp
sys.h
syscalls.hpp
task.hpp
time.hpp
types.h
uart.hpp
vector.hpp
.gitignore
DAPI.hpp
Doxyfile
Fennix Kernel.code-workspace
Fex.hpp
KConfig.cpp
KThread.cpp
Kernel.cpp
LICENSE
Makefile
README.md
kernel.h
98 lines
1.9 KiB
C++
98 lines
1.9 KiB
C++
#ifndef __FENNIX_KERNEL_FILESYSTEM_DEV_H__
|
|
#define __FENNIX_KERNEL_FILESYSTEM_DEV_H__
|
|
|
|
#include <types.h>
|
|
|
|
#include <filesystem.hpp>
|
|
|
|
namespace FileSystem
|
|
{
|
|
/* Manage /system/dev */
|
|
class Device
|
|
{
|
|
public:
|
|
FileSystemNode *AddFileSystem(FileSystemOpeations *Operator, uint64_t Mode, const char *Name, int Flags);
|
|
Device();
|
|
~Device();
|
|
};
|
|
|
|
/* Manage /system/mnt */
|
|
class Mount
|
|
{
|
|
public:
|
|
FileSystemNode *MountFileSystem(FileSystemOpeations *Operator, uint64_t Mode, const char *Name);
|
|
void DetectAndMountFS(void *drive);
|
|
Mount();
|
|
~Mount();
|
|
};
|
|
|
|
/* Manage /system/prc */
|
|
class Process
|
|
{
|
|
public:
|
|
Process();
|
|
~Process();
|
|
};
|
|
|
|
/* Manage /system/drv */
|
|
class Driver
|
|
{
|
|
public:
|
|
FileSystemNode *AddDriver(struct FileSystemOpeations *Operator, uint64_t Mode, const char *Name, int Flags);
|
|
Driver();
|
|
~Driver();
|
|
};
|
|
|
|
/* Manage /system/net */
|
|
class Network
|
|
{
|
|
public:
|
|
FileSystemNode *AddNetworkCard(struct FileSystemOpeations *Operator, uint64_t Mode, const char *Name, int Flags);
|
|
Network();
|
|
~Network();
|
|
};
|
|
|
|
/* Manage /system/dev/serialX */
|
|
class Serial
|
|
{
|
|
public:
|
|
Serial();
|
|
~Serial();
|
|
};
|
|
|
|
/* Manage /system/dev/random */
|
|
class Random
|
|
{
|
|
public:
|
|
Random();
|
|
~Random();
|
|
};
|
|
|
|
/* Manage /system/dev/null */
|
|
class Null
|
|
{
|
|
public:
|
|
Null();
|
|
~Null();
|
|
};
|
|
|
|
/* Manage /system/dev/zero */
|
|
class Zero
|
|
{
|
|
public:
|
|
Zero();
|
|
~Zero();
|
|
};
|
|
|
|
/* Manage /system/dev/fbX */
|
|
class FB
|
|
{
|
|
public:
|
|
void SetFrameBufferData(uint64_t Address, uint64_t Size, uint32_t Width, uint32_t Height, uint32_t PixelsPerScanLine);
|
|
FB();
|
|
~FB();
|
|
};
|
|
}
|
|
|
|
#endif // !__FENNIX_KERNEL_FILESYSTEM_DEV_H__
|