StuBS
|
#include <fs/minix/minix.h>
Public Member Functions | |
Minix () | |
~Minix () | |
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) |
Inode * | create (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) |
Inode * | lookup (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) |
Inode * | allocate_inode () |
![]() | |
Filesystem () | |
virtual | ~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) |
Private Member Functions | |
Inode * | iget (unsigned long ino, int *error) |
int | new_block () |
Minix_Disk_Inode * | raw_inode (ino_t ino, Block *block, int *error) |
Inode * | new_inode (umode_t mode, int *error) |
int | block_to_path (unsigned long block, int offsets[DEPTH]) |
Indirect * | get_branch (Inode *inode, int depth, int *offsets, Indirect chain[DEPTH], int *err) |
int | alloc_branch (int num, int *offsets, Indirect *branch) |
Minix_Dirent * | find_dirent (Inode *dir, const char *filename, size_t name_len, Block *p_block, int *error) |
int | add_link (Inode *dir, Inode *inode, const char *name, size_t name_len) |
int | delete_entry (Inode *dir, const char *filename, size_t name_len) |
int | make_empty_dir (Inode *inode, Inode *parent_dir) |
void | free_branches (Inode *inode, block_t *p, block_t *q, int depth) |
Indirect * | find_shared (Inode *inode, int depth, int offsets[DEPTH], Indirect chain[DEPTH], block_t *top) |
void | free_data (block_t *p, const block_t *q) |
void | free_block (unsigned long block) |
void | clear_disk_inode (Inode *inode) |
void | free_inode (Inode *inode) |
int | check_dir_is_empty (Inode *dir) |
unsigned int | dir_block_last_byte (Inode *dir, unsigned long lblock) |
Private Attributes | |
friend | MinixInode |
Minix_Super_Block * | super |
Block | super_block |
Block * | imap |
Block * | zmap |
Additional Inherited Members | |
![]() | |
BlockDevice * | bdev |
Inode * | root_inode |
unsigned long | num_inode_references |
|
inline |
|
inline |
|
virtual |
Implements Filesystem.
|
virtual |
Implements Filesystem.
|
virtual |
Implements Filesystem.
|
virtual |
Implements Filesystem.
|
virtual |
Implements Filesystem.
|
virtual |
Implements Filesystem.
|
virtual |
Implements Filesystem.
Implements Filesystem.
|
virtual |
Implements Filesystem.
Implements Filesystem.
Implements Filesystem.
Implements Filesystem.
|
virtual |
Implements Filesystem.
|
virtual |
Implements Filesystem.
|
virtual |
Implements Filesystem.
|
virtual |
Implements Filesystem.
|
virtual |
Implements Filesystem.
|
virtual |
Implements Filesystem.
|
private |
|
private |
|
private |
|
private |
|
inlineprivate |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
inlineprivate |
|
private |
|
private |
|
private |
|
private |
|
private |