IDA C++ SDK 9.2
Loading...
Searching...
No Matches
dirspec_t Struct Referenceabstract

Directory tree specialization. More...

#include <dirtree.hpp>

Public Types

enum  { DSF_INODE_EA = 0x01 , DSF_PRIVRANGE = 0x02 , DSF_ORDERABLE = 0x04 , DSF_UNQ_NAMES = 0x08 }

Public Member Functions

 dirspec_t (const char *nm=nullptr, uint32 f=0)
virtual ~dirspec_t ()
virtual bool get_name (qstring *out, inode_t inode, uint32 name_flags=DTN_FULL_NAME)=0
 get the entry name.
virtual inode_t get_inode (const char *dirpath, const char *name)=0
 get the entry inode in the specified directory
virtual qstring get_attrs (inode_t inode) const =0
virtual bool rename_inode (inode_t inode, const char *newname)=0
 rename the entry
virtual void unlink_inode (inode_t inode)
 event: unlinked an inode
bool is_orderable () const
bool unique_names () const
bool has_inode_ea () const

Public Attributes

uint32 dsf_flags
qstring id

Detailed Description

Directory tree specialization.

This is an abstract base class that represents 'file items' of our directory structure.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
DSF_INODE_EA 
DSF_PRIVRANGE 
DSF_ORDERABLE 
DSF_UNQ_NAMES 

Constructor & Destructor Documentation

◆ dirspec_t()

dirspec_t::dirspec_t ( const char * nm = nullptr,
uint32 f = 0 )
inline

◆ ~dirspec_t()

virtual dirspec_t::~dirspec_t ( )
inlinevirtual

Member Function Documentation

◆ get_name()

virtual bool dirspec_t::get_name ( qstring * out,
inode_t inode,
uint32 name_flags = DTN_FULL_NAME )
pure virtual

get the entry name.

for example, the structure name

Parameters
[out]outmay be nullptr; in this case get_name can be used to validate an inode.
inodeinode number of the entry
name_flagshow exactly the name should be retrieved. combination of bits for get_...name() methods bits
Returns
false if the entry does not exist.

◆ get_inode()

virtual inode_t dirspec_t::get_inode ( const char * dirpath,
const char * name )
pure virtual

get the entry inode in the specified directory

Parameters
dirpaththe absolute directory path with trailing slash
namethe entry name in the directory
Returns
the entry inode

◆ get_attrs()

virtual qstring dirspec_t::get_attrs ( inode_t inode) const
pure virtual

◆ rename_inode()

virtual bool dirspec_t::rename_inode ( inode_t inode,
const char * newname )
pure virtual

rename the entry

Parameters
inode
newname
Returns
success

◆ unlink_inode()

virtual void dirspec_t::unlink_inode ( inode_t inode)
inlinevirtual

event: unlinked an inode

Parameters
inode

◆ is_orderable()

bool dirspec_t::is_orderable ( ) const
inline

◆ unique_names()

bool dirspec_t::unique_names ( ) const
inline

◆ has_inode_ea()

bool dirspec_t::has_inode_ea ( ) const
inline

Member Data Documentation

◆ dsf_flags

uint32 dirspec_t::dsf_flags

◆ id

qstring dirspec_t::id

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