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(FileSystemOperations *Operator, uint64_t Mode, const char *Name, int Flags);
Device();
~Device();
};
/* Manage /system/mnt */
class Mount
{
public:
FileSystemNode *MountFileSystem(FileSystemOperations *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 FileSystemOperations *Operator, uint64_t Mode, const char *Name, int Flags);
Driver();
~Driver();
};
/* Manage /system/net */
class Network
{
public:
FileSystemNode *AddNetworkCard(struct FileSystemOperations *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__