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 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)

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: