Iros
 
Loading...
Searching...
No Matches
iris::Inode Class Reference

#include <iris/fs/inode.h>

Inheritance diagram for iris::Inode:
[legend]

Public Member Functions

 Inode (InodeImpl impl)
 
auto backing_object () -> mm::BackingObject &
 
auto mount () const -> di::Optional< Mount & >
 
void set_mount (di::Box< Mount > mount)
 
- Public Member Functions inherited from di::vocab::IntrusiveRefCount< T >
template<typename = void>
constexpr auto arc_from_this ()
 
- Public Member Functions inherited from di::util::Immovable
 Immovable ()=default
 
 Immovable (Immovable &&)=delete
 

Friends

auto tag_invoke (di::Tag< inode_read >, Inode &self, mm::BackingObject &backing_object, u64 page_number) -> di::AnySenderOf< mm::PhysicalAddress >
 
auto tag_invoke (di::Tag< inode_read_directory >, Inode &self, mm::BackingObject &backing_object, u64 &offset, UserspaceBuffer< byte > buffer) -> di::AnySenderOf< usize >
 
auto tag_invoke (di::Tag< inode_lookup >, Inode &self, di::Arc< TNode > parent, di::TransparentStringView name) -> di::AnySenderOf< di::Arc< TNode > >
 
auto tag_invoke (di::Tag< inode_metadata >, Inode &self) -> di::AnySenderOf< Metadata >
 
auto tag_invoke (di::Tag< inode_create_node >, Inode &self, di::Arc< TNode > parent, di::TransparentStringView name, MetadataType type) -> di::AnySenderOf< di::Arc< TNode > >
 
auto tag_invoke (di::Tag< inode_truncate >, Inode &self, u64 size) -> di::AnySenderOf<>
 
auto tag_invoke (di::Tag< inode_hack_raw_data >, Inode &self) -> di::AnySenderOf< di::Span< byte const > >
 

Additional Inherited Members

- Protected Member Functions inherited from di::vocab::IntrusiveRefCount< T >
 IntrusiveRefCount ()=default
 

Constructor & Destructor Documentation

◆ Inode()

iris::Inode::Inode ( InodeImpl impl)
inlineexplicit

Member Function Documentation

◆ backing_object()

auto iris::Inode::backing_object ( ) -> mm::BackingObject&
inline

◆ mount()

auto iris::Inode::mount ( ) const -> di::Optional<Mount&>
inline

◆ set_mount()

void iris::Inode::set_mount ( di::Box< Mount > mount)
inline

Friends And Related Symbol Documentation

◆ tag_invoke [1/7]

auto tag_invoke ( di::Tag< inode_create_node > ,
Inode & self,
di::Arc< TNode > parent,
di::TransparentStringView name,
MetadataType type ) -> di::AnySenderOf<di::Arc<TNode>>
friend

◆ tag_invoke [2/7]

auto tag_invoke ( di::Tag< inode_hack_raw_data > ,
Inode & self ) -> di::AnySenderOf<di::Span<byte const>>
friend

◆ tag_invoke [3/7]

auto tag_invoke ( di::Tag< inode_lookup > ,
Inode & self,
di::Arc< TNode > parent,
di::TransparentStringView name ) -> di::AnySenderOf<di::Arc<TNode>>
friend

◆ tag_invoke [4/7]

auto tag_invoke ( di::Tag< inode_metadata > ,
Inode & self ) -> di::AnySenderOf<Metadata>
friend

◆ tag_invoke [5/7]

auto tag_invoke ( di::Tag< inode_read > ,
Inode & self,
mm::BackingObject & backing_object,
u64 page_number ) -> di::AnySenderOf<mm::PhysicalAddress>
friend

◆ tag_invoke [6/7]

auto tag_invoke ( di::Tag< inode_read_directory > ,
Inode & self,
mm::BackingObject & backing_object,
u64 & offset,
UserspaceBuffer< byte > buffer ) -> di::AnySenderOf<usize>
friend

◆ tag_invoke [7/7]

auto tag_invoke ( di::Tag< inode_truncate > ,
Inode & self,
u64 size ) -> di::AnySenderOf<>
friend

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