Files
Ext2FS/fs/ext2/ext2_fs.h
T
2019-06-20 16:59:28 +08:00

41 lines
780 B
C++

#pragma once
#include "types.h"
#include "fs/vfs.h"
#include "dev/block_dev.h"
#include "ext2_disk_stru.h"
#include "ext2_inode.h"
#include "ext2_dentry.h"
namespace EXT2 {
class EXT2_Inode;
class EXT2_DEntry;
class EXT2_FS: public VFS::FS {
void printFS();
void printInode(Inode*);
public:
int block_to_pos(int block);
int inode_to_pos(int inode_n);
SuperBlock* sb;
std::list<GroupDescriptor*> gdt_list;
_u32 block_size;
_u32 group_cnt;
_u32 alloc_inode();
_u32 alloc_block();
void write_super();
void write_gdt();
void write_inode_bitmap(GroupDescriptor*);
EXT2_FS(Dev::BlockDevice* dev);
void mount();
~EXT2_FS();
};
}