Ext
 All Files Functions
Functions
inode.h File Reference

Contains inode struct and its methods. More...

#include <stdint.h>
#include <stdbool.h>
#include "superblock.h"

Go to the source code of this file.

Functions

struct __attribute__ ((__packed__)) inode_info
 Contains information about inode. More...
 
size_t sizeof_inode (const struct superblock *superblock)
 Count size of inode in bytes. More...
 
void init_inode (struct inode *inode, uint16_t id, bool is_file, const struct superblock *superblock)
 Constructor of inode. More...
 
void destroy_inode (struct inode *inode)
 Destructor of inode. More...
 
ssize_t read_inode (int fd, struct inode *inode, uint16_t inode_id, const struct superblock *superblock)
 Read inode from memory. More...
 
ssize_t write_inode (int fd, struct inode *inode, const struct superblock *superblock)
 Write inode from memory. More...
 
uint16_t sizeof_inodes_block (const struct superblock *superblock)
 Calculate size of block of all inodes. More...
 

Detailed Description

Contains inode struct and its methods.

Author
yaishenka
Date
13.03.2021

Definition in file inode.h.

Function Documentation

struct __attribute__ ( (__packed__)  )

Contains information about inode.

Main inode struct.

This struct contains info that can be simply written to memory

This struct represent inode

Definition at line 19 of file inode.h.

void destroy_inode ( struct inode *  inode)

Destructor of inode.

Parameters
inode

Definition at line 44 of file inode.c.

void init_inode ( struct inode *  inode,
uint16_t  id,
bool  is_file,
const struct superblock *  superblock 
)

Constructor of inode.

Parameters
inodeempty instance of inode
idid of inode
is_file

Definition at line 34 of file inode.c.

ssize_t read_inode ( int  fd,
struct inode *  inode,
uint16_t  inode_id,
const struct superblock *  superblock 
)

Read inode from memory.

Parameters
fdopened fd
inodeempty instance of inode
inode_idid of inode to read
superblockthe superblock with metadata of FS
Returns
sizeof(inode) if reading is ok; -1 otherwise and destruct inode object
Warning
printf strerror(errno) to stderr

Definition at line 49 of file inode.c.

size_t sizeof_inode ( const struct superblock *  superblock)

Count size of inode in bytes.

Parameters
superblockthe superblock with metadata of FS
Returns
size of inode in FS
Author
yaishenka
Date
11.03.2021

Definition at line 12 of file inode.c.

uint16_t sizeof_inodes_block ( const struct superblock *  superblock)

Calculate size of block of all inodes.

Parameters
superblock
Returns

Definition at line 111 of file inode.c.

ssize_t write_inode ( int  fd,
struct inode *  inode,
const struct superblock *  superblock 
)

Write inode from memory.

Parameters
fdopened fd
inodeinstance of inode
superblockthe superblock with metadata of FS
Returns
sizeof(inode) if writing is ok; -1 otherwise
Warning
printf strerror(errno) to stderr

Definition at line 83 of file inode.c.