custloc_desc_t Struct Reference
Description of a custom argloc. More...
#include <typeinf.hpp>
Public Attributes | |
size_t | cbsize |
size of this structure | |
const char * | name |
name of the custom argloc type. must be unique | |
void(idaapi * | copy )(argloc_t *empty_dst, const argloc_t &src) |
Copy src into empty_dst. | |
void(idaapi * | cleanup )(argloc_t *loc) |
Clear contents of loc before it is modified (may be nullptr) | |
bool(idaapi * | verify )(const argloc_t &loc, int size, const rangeset_t *gaps, bool part_of_scattered) |
May be nullptr. | |
int(idaapi * | compare )(const argloc_t &a, const argloc_t &b) |
Lexical comparison of two arglocs. | |
size_t(idaapi * | print )(char *buf, size_t bufsize, const argloc_t &loc, asize_t size, int praloc_flags) |
Get textual description of the location (not the value at the location!) | |
bool(idaapi * | deref_field )(argloc_t *out, tinfo_t *tif, const argloc_t &strloc, const tinfo_t &struct_tif, asize_t off, const qstring &name) |
Dereference the struct/union pointed by 'strloc': take member at offset 'off' (or use the field name), improve member 'tif' if necessary. | |
bool(idaapi * | deref_array )(argloc_t *out, tinfo_t *tif, const argloc_t &arrloc, const tinfo_t &array_tif, asize_t n, asize_t elsize) |
Dereference the array pointed by 'arrloc': take member number 'n' (element size is 'elsize'), improve member 'tif' if necessary. | |
bool(idaapi * | deref_ptr )(argloc_t *out, tinfo_t *tif, const argloc_t &ptrloc) |
Dereference the pointer at 'loc': retrieve location of the pointed object, improve 'tif' of the pointed object if necessary. | |
bool(idaapi * | read_value )(value_u *value, const argloc_t &loc, int size, const tinfo_t &tif) |
Read the pointer at 'loc': retrieve value of a simple object. More... | |
bool(idaapi * | write_value )(const argloc_t &loc, const idc_value_t &idcv, const value_u &scalar_value, int size, qstring *errbuf) |
Update value at 'loc'. More... | |
asize_t(idaapi * | calc_string_length )(const argloc_t &loc, const tinfo_t &string_tif) |
Calc max natural string length at 'loc' in the debugged process memory. | |
bool(idaapi * | get_string )(qstring *out, tinfo_t *elem_tif, const argloc_t &loc, const tinfo_t &string_tif, size_t len) |
Retrieve string at 'loc' from the debugged process memory, returns quoted string value. | |
asize_t(idaapi * | guess_array_size )(const argloc_t &loc, const tinfo_t &array_tif) |
Retrieve size of array at 'loc' (number of elements) | |
bool(idaapi * | get_tinfo )(tinfo_t *out, const argloc_t &loc) |
Retrieve type of the object at 'loc'. | |
int(idaapi * | calc_number_of_children )(const argloc_t &loc, const tinfo_t &tif) |
Calculate the number of children for the given location. More... | |
size_t(idaapi * | print_ptr_value )(char *buf, size_t bufsize, bool *is_valid_ptr, const argloc_t &loc, const tinfo_t &tif) |
Get string containing a printable representation of the pointer at 'loc'. More... | |
Detailed Description
Description of a custom argloc.
Custom arglocs can be added by plugins in order to describe the locations unsupported by the ida kernel.
Member Data Documentation
◆ read_value
bool(idaapi * custloc_desc_t::read_value) (value_u *value, const argloc_t &loc, int size, const tinfo_t &tif) |
Read the pointer at 'loc': retrieve value of a simple object.
the object value must fit value_u.
◆ write_value
bool(idaapi * custloc_desc_t::write_value) (const argloc_t &loc, const idc_value_t &idcv, const value_u &scalar_value, int size, qstring *errbuf) |
Update value at 'loc'.
if idcv is VT_LONG/VT_INT64/VT_FLOAT, the value in native format is copied to 'scalar_value' for your convenience. otherwise please use 'idcv' and not 'scalar_value'.
◆ calc_number_of_children
Calculate the number of children for the given location.
(arrays, structs, ptrs may have children and therefore be expanded)
◆ print_ptr_value
size_t(idaapi * custloc_desc_t::print_ptr_value) (char *buf, size_t bufsize, bool *is_valid_ptr, const argloc_t &loc, const tinfo_t &tif) |
Get string containing a printable representation of the pointer at 'loc'.
Returns the number of characters printed. May be nullptr.
The documentation for this struct was generated from the following file:
Generated by