hos/kernel/fs/ext2.cpp

38 lines
607 B
C++

// ext2.cpp
// ext2 filesystem driver for HOS
// Author: Josh Holtrop
// Date: 05/10/05
// Modified: 05/10/05
#define _HOS_CPP_ _HOS_CPP_
extern "C" {
#include "display/kout.h"
}
#include "ext2.h"
Ext2fs::Ext2fs(device_t dev)
{
myDevice = dev;
if (block_read(DEV_MAJOR(dev), DEV_MINOR(dev), 2, 2, &mySuper) < 1024)
{
myError = -1;
return;
}
if (mySuper.s_magic != EXT2_MAGIC)
{
myError = -2;
return;
}
myError = 0;
mySuperDirty = 0;
kprintf("Device: %d\n", myDevice);
}
Ext2fs::~Ext2fs()
{
if (mySuperDirty)
block_write(DEV_MAJOR(myDevice), DEV_MINOR(myDevice), 2, 2, &mySuper);
}