mirror of
https://github.com/vivier/EMILE.git
synced 2025-01-18 06:31:23 +00:00
9bd9755dbb
Signed-off-by: Laurent Vivier <Laurent@Vivier.EU>
35 lines
580 B
C
35 lines
580 B
C
/*
|
|
*
|
|
* (c) 2008 Laurent Vivier <Laurent@Vivier.EU>
|
|
*
|
|
*/
|
|
|
|
#include "libext2.h"
|
|
#include "ext2.h"
|
|
#include "ext2_utils.h"
|
|
|
|
static int is_ext2(device_io_t *device)
|
|
{
|
|
struct ext2_super_block super;
|
|
ext2_get_super(device, &super);
|
|
if (super.s_magic == EXT2_SUPER_MAGIC)
|
|
return 1;
|
|
return 0;
|
|
}
|
|
|
|
int ext2_init(device_io_t *device, filesystem_io_t *fs)
|
|
{
|
|
if (!is_ext2(device))
|
|
return -1;
|
|
|
|
fs->mount = ext2_mount;
|
|
fs->open = ext2_open;
|
|
fs->read = ext2_read;
|
|
fs->lseek = ext2_lseek;
|
|
fs->close = ext2_close;
|
|
fs->umount = ext2_umount;
|
|
fs->fstat = ext2_fstat;
|
|
|
|
return 0;
|
|
}
|