#ifndef _NUCLEUS_VFS_H #define _NUCLEUS_VFS_H #include #include #include #include typedef struct FSType FSType; typedef struct FileSystem FileSystem; typedef struct Inode Inode; typedef struct InodeOps InodeOps; typedef Inode *(*mount_callback_t)(FSType *, int, const char *, void *); /* Structure for an Inode */ struct Inode { Object obj; ino_t ino; uid_t uid; gid_t gid; mode_t mode; nlink_t nlink; size_t size; dev_t dev; InodeOps *ops; union { ObjectList *pages; }; }; struct InodeOps { }; extern ObjectType fstypeType; extern ObjectType fsType; extern ObjectType inodeType; void init_vfs(void); void register_fstype(const char *name, mount_callback_t mount); #endif