Latest available version: IDA and decompilers v8.4.240320sp1 see all releases
Hex-Rays logo State-of-the-art binary code analysis tools
email icon

Inherits place_t.

Public Member Functions

 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 ()
 
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. More...
 
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. More...
 
virtual type_t get_kind (const void *ud) const newapi
 get the kind of type this place represents More...
 
virtual bool fill_type_ref (til_type_ref_t *out, const void *ud) const newapi
 fill the type information for use in actions More...
 
- Public Member Functions inherited from place_t
 place_t (void)
 Constructor.
 
 place_t (int ln)
 Constructor.
 
virtual void idaapi print (qstring *vout, void *ud) const =0
 Generate a short description of the location. More...
 
virtual uval_t idaapi touval (void *ud) const =0
 Map the location to a number. More...
 
virtual place_t *idaapi clone (void) const =0
 Clone the location. More...
 
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. More...
 
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. More...
 
virtual bool idaapi prev (void *ud)=0
 Move to the previous displayable location. More...
 
virtual bool idaapi next (void *ud)=0
 Move to the next displayable location. More...
 
virtual bool idaapi beginning (void *ud) const =0
 Are we at the first displayable object?. More...
 
virtual bool idaapi ending (void *ud) const =0
 Are we at the last displayable object?. More...
 
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. More...
 
virtual void idaapi serialize (bytevec_t *out) const =0
 Serialize this instance. More...
 
virtual bool idaapi deserialize (const uchar **pptr, const uchar *end)=0
 De-serialize into this instance. More...
 
virtual int idaapi id () const =0
 Get the place's ID (i.e., the value returned by register_place_class()) More...
 
virtual const char *idaapi name () const =0
 Get this place type name. More...
 
virtual ea_t idaapi toea () const
 Map the location to an ea_t. More...
 
virtual bool idaapi rebase (const segm_move_infos_t &)
 Rebase the place instance. More...
 
virtual place_t *idaapi enter (uint32 *) const
 Visit this place, possibly 'unhiding' a section of text. More...
 
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). More...
 

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.
 

Member Function Documentation

◆ 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

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