IDA C++ SDK 9.2
Loading...
Searching...
No Matches
tiplace_t Class Reference

#include <kernwin.hpp>

Inheritance diagram for tiplace_t:
place_t

Public Member Functions

 tiplace_t ()
 tiplace_t (uint32 ord, tif_cursor_t c, int _lnnum)
bool valid_ord () const
void reset ()
bool is_header () const
bool is_footer () const
bool is_index () const
void set_header ()
void set_footer ()
 define_place_virtual_functions (tiplace_t)
virtual uint64 calc_udm_offset (const void *ud, ssize_t *p_udmidx=nullptr, int *p_bitoff=nullptr) const newapi
 for structs: calculate the offset that corresponds to the tiplace.
virtual void set_index_by_offset (void *ud, uint64 offset) new api
 for structs: calculate the index that corresponds to the offset and set it.
virtual type_t get_kind (const void *ud) const newapi
 get the kind of type this place represents
virtual bool fill_type_ref (til_type_ref_t *out, const void *ud) const newapi
 fill the type information for use in actions
Public Member Functions inherited from place_t
 place_t ()
 Constructor.
 place_t (int ln)
 Constructor.
 DEFINE_MEMORY_ALLOCATION_FUNCS () virtual void idaapi print(qstring *vout
 Generate a short description of the location.
virtual uval_t idaapi touval (void *ud) const =0
 Map the location to a number.
virtual place_t *idaapi clone () const =0
 Clone the location.
virtual void idaapi copyfrom (const place_t *from)=0
 Copy the specified location object to the current object.
virtual place_t *idaapi makeplace (void *ud, uval_t x, int lnnum) const =0
 Map a number to a location.
virtual int idaapi compare (const place_t *t2) const =0
 Deprecated. Please consider compare2(const place_t *, void *) instead.
virtual void idaapi adjust (void *ud)=0
 Adjust the current location to point to a displayable object.
virtual bool idaapi prev (void *ud)=0
 Move to the previous displayable location.
virtual bool idaapi next (void *ud)=0
 Move to the next displayable location.
virtual bool idaapi beginning (void *ud) const =0
 Are we at the first displayable object?
virtual bool idaapi ending (void *ud) const =0
 Are we at the last displayable object?
virtual int idaapi generate (qstrvec_t *out, int *out_deflnnum, color_t *out_pfx_color, bgcolor_t *out_bgcolor, void *ud, int maxsize) const =0
 Generate text lines for the current location.
virtual void idaapi serialize (bytevec_t *out) const =0
 Serialize this instance.
virtual bool idaapi deserialize (const uchar **pptr, const uchar *end)=0
 De-serialize into this instance.
virtual int idaapi id () const =0
 Get the place's ID (i.e., the value returned by register_place_class())
virtual const char *idaapi name () const =0
 Get this place type name.
virtual ea_t idaapi toea () const
 Map the location to an ea_t.
virtual bool idaapi rebase (const segm_move_infos_t &)
 Rebase the place instance.
virtual place_t *idaapi enter (uint32 *) const
 Visit this place, possibly 'unhiding' a section of text.
virtual void idaapi leave (uint32) const
 Leave this place, possibly 'hiding' a section of text that was previously expanded (at enter()-time.)
virtual int idaapi compare2 (const place_t *t2, void *) const
 Compare two locations except line numbers (lnnum).
virtual bool idaapi equals (const place_t *t2, void *ud) const
 Compare two places for equality, ignoring line numbers (lnnum).

Public Attributes

uint32 ordinal = 0
tif_cursor_t cursor = TIF_CURSOR_HEADER
Public Attributes inherited from place_t
int lnnum
 Number of line within the current object.
void *ud const = 0

Constructor & Destructor Documentation

◆ tiplace_t() [1/2]

tiplace_t::tiplace_t ( )
inline

◆ tiplace_t() [2/2]

tiplace_t::tiplace_t ( uint32 ord,
tif_cursor_t c,
int _lnnum )
inline

Member Function Documentation

◆ valid_ord()

bool tiplace_t::valid_ord ( ) const
inline

◆ reset()

void tiplace_t::reset ( )
inline

◆ is_header()

bool tiplace_t::is_header ( ) const
inline

◆ is_footer()

bool tiplace_t::is_footer ( ) const
inline

◆ is_index()

bool tiplace_t::is_index ( ) const
inline

◆ set_header()

void tiplace_t::set_header ( )
inline

◆ set_footer()

void tiplace_t::set_footer ( )
inline

◆ define_place_virtual_functions()

tiplace_t::define_place_virtual_functions ( tiplace_t )

◆ calc_udm_offset()

virtual uint64 tiplace_t::calc_udm_offset ( const void * ud,
ssize_t * p_udmidx = nullptr,
int * p_bitoff = nullptr ) const
virtual

for structs: calculate the offset that corresponds to the tiplace.

Parameters
udpointer to user-defined context data. Is supplied by ::linearray_t
p_udmidxplace to return the index of the current udt member, if any. if there is no member at the current offset, return -1
p_bitoffplace to return the bit offset of the item from the beginning of the bit bucket if there no bitfields, return -1
Returns
the current offset or uint64(-1)

◆ set_index_by_offset()

virtual void tiplace_t::set_index_by_offset ( void * ud,
uint64 offset )
newvirtual

for structs: calculate the index that corresponds to the offset and set it.

Parameters
udpointer to user-defined context data. Is supplied by ::linearray_t
offsetoffset of udt member

◆ get_kind()

virtual type_t tiplace_t::get_kind ( const void * ud) const
virtual

get the kind of type this place represents

Parameters
udpointer to user-defined context data. Is supplied by ::linearray_t
Returns
one of BTF_TYPEDEF, BTF_STRUCT, BTF_UNION, BTF_ENUM or BT_UNK

◆ fill_type_ref()

virtual bool tiplace_t::fill_type_ref ( til_type_ref_t * out,
const void * ud ) const
virtual

fill the type information for use in actions

Parameters
outpointer to storage
udpointer to user-defined context data. Is supplied by ::linearray_t
Returns
success

Member Data Documentation

◆ ordinal

uint32 tiplace_t::ordinal = 0

◆ cursor

tif_cursor_t tiplace_t::cursor = TIF_CURSOR_HEADER

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