StuBS
Minix Class Reference
Inheritance diagram for Minix:
[legend]
Collaboration diagram for Minix:
[legend]

Public Member Functions

int mount (const void *data)
 
int sync ()
 
void umount ()
 
int open (File *file)
 
int close (File *file)
 
uint64_t get_block (Inode *inode, uint64_t logical_block, bool create, int *error)
 
Inodecreate (Inode *dir, const char *filename, size_t name_len, umode_t mode, int *error)
 
int link (Inode *dir, const char *filename, size_t name_len, Inode *inode)
 
int symlink (Inode *dir, const char *filename, size_t name_len, const char *symname)
 
int unlink (Inode *dir, const char *filename, size_t name_len, Inode *inode)
 
void truncate (Inode *inode, off_t length)
 
Inodelookup (Inode *dir, const char *filename, size_t name_len, int *error)
 
int iterate_dir (Inode *dir, Dir_Context *ctx)
 
int mkdir (Inode *parent_dir, const char *filename, size_t name_len, umode_t mode)
 
int rmdir (Inode *parent_dir, const char *filename, size_t name_len, Inode *dir)
 
int rename (Inode *old_dir, Inode *old_inode, const char *old_name, size_t old_name_len, Inode *new_dir, Inode *new_inode, const char *new_name, size_t new_name_len)
 
int write_inode (Inode *inode)
 
Inodeallocate_inode ()
 
- Public Member Functions inherited from Filesystem
virtual int mount (const void *data)=0
 
virtual int open (File *file)=0
 
virtual int close (File *file)=0
 
virtual uint64_t get_block (Inode *inode, uint64_t logical_block, bool create, int *error)=0
 
virtual ssize_t read (Inode *inode, void *buf, size_t count, off_t pos)
 
virtual ssize_t write (Inode *inode, const void *buf, size_t count, off_t pos)
 
virtual int punch_hole (Inode *inode, off_t from, off_t to)
 
virtual const char * get_link (Inode *inode, void(**cleanup_callback)(const char *buf), int *error)
 
virtual void truncate (Inode *inode, off_t length)=0
 
virtual int iterate_dir (Inode *directory, Dir_Context *ctx)=0
 
virtual Inodecreate (Inode *directory, const char *filename, size_t name_len, umode_t mode, int *error)=0
 
virtual int link (Inode *directory, const char *filename, size_t name_len, Inode *inode)=0
 
virtual int symlink (Inode *directory, const char *filename, size_t name_len, const char *symname)=0
 
virtual int unlink (Inode *directory, const char *filename, size_t name_len, Inode *inode)=0
 
virtual Inodelookup (Inode *directory, const char *filename, size_t name_len, int *error)=0
 
virtual int mkdir (Inode *parent_dir, const char *filename, size_t name_len, umode_t mode)=0
 
virtual int rmdir (Inode *parent_dir, const char *filename, size_t name_len, Inode *dir)=0
 
virtual int rename (Inode *old_dir, Inode *old_inode, const char *old_name, size_t old_name_len, Inode *new_dir, Inode *new_inode, const char *new_name, size_t new_name_len)=0
 
virtual Inodeallocate_inode ()=0
 
virtual int write_inode (Inode *inode)=0
 
virtual int sync ()=0
 
virtual void umount ()=0
 

Additional Inherited Members

- Public Attributes inherited from Filesystem
BlockDevicebdev
 
Inoderoot_inode
 
unsigned long num_inode_references
 

Member Function Documentation

◆ mount()

int Minix::mount ( const void *  data)
virtual

Implements Filesystem.

◆ sync()

int Minix::sync ( )
virtual

Implements Filesystem.

◆ umount()

void Minix::umount ( )
virtual

Implements Filesystem.

◆ open()

int Minix::open ( File file)
virtual

Implements Filesystem.

◆ close()

int Minix::close ( File file)
virtual

Implements Filesystem.

◆ get_block()

uint64_t Minix::get_block ( Inode inode,
uint64_t  logical_block,
bool  create,
int *  error 
)
virtual

Implements Filesystem.

◆ create()

Inode * Minix::create ( Inode dir,
const char *  filename,
size_t  name_len,
umode_t  mode,
int *  error 
)
virtual

Implements Filesystem.

◆ link()

int Minix::link ( Inode dir,
const char *  filename,
size_t  name_len,
Inode inode 
)
virtual

Implements Filesystem.

◆ symlink()

int Minix::symlink ( Inode dir,
const char *  filename,
size_t  name_len,
const char *  symname 
)
virtual

Implements Filesystem.

◆ unlink()

int Minix::unlink ( Inode dir,
const char *  filename,
size_t  name_len,
Inode inode 
)
virtual

Implements Filesystem.

◆ truncate()

void Minix::truncate ( Inode inode,
off_t  length 
)
virtual

Implements Filesystem.

◆ lookup()

Inode * Minix::lookup ( Inode dir,
const char *  filename,
size_t  name_len,
int *  error 
)
virtual

Implements Filesystem.

◆ iterate_dir()

int Minix::iterate_dir ( Inode dir,
Dir_Context ctx 
)
virtual

Implements Filesystem.

◆ mkdir()

int Minix::mkdir ( Inode parent_dir,
const char *  filename,
size_t  name_len,
umode_t  mode 
)
virtual

Implements Filesystem.

◆ rmdir()

int Minix::rmdir ( Inode parent_dir,
const char *  filename,
size_t  name_len,
Inode dir 
)
virtual

Implements Filesystem.

◆ rename()

int Minix::rename ( Inode old_dir,
Inode old_inode,
const char *  old_name,
size_t  old_name_len,
Inode new_dir,
Inode new_inode,
const char *  new_name,
size_t  new_name_len 
)
virtual

Implements Filesystem.

◆ write_inode()

int Minix::write_inode ( Inode inode)
virtual

Implements Filesystem.

◆ allocate_inode()

Inode * Minix::allocate_inode ( )
virtual

Implements Filesystem.


The documentation for this class was generated from the following files: