26#if !defined(IDAFREE) && !defined(IDAHOME)
58 return ea == BADADDR32 ? BADADDR : ea;
72 return ea == BADADDR32 ? BADADDR : ea;
110 for (
int i=0; i <
n; ++i )
129 mmdsr.
read(&ea32,
sizeof(ea32));
134 mmdsr.
read(&ea,
sizeof(ea));
148 if ( node.
getblob(&buf, start, tag) > 0 )
181#define CVT64_ZERO_IDX 0x00800000
194#define CVT64_NODE_DEVICE { helper, stag, nodeidx_t(-1) }
195#define CVT64_NODE_IDP_FLAGS { helper, atag|NETMAP_VAL, nodeidx_t(-1) }
210 size_t node_info_qty);
Vector of bytes (use for dynamic memory)
Definition pro.h:3773
Definition of the IDA database node.
Definition netnode.hpp:241
bool setblob(const void *buf, size_t size, nodeidx_t _start, uchar tag)
Store a blob in a netnode.
Definition netnode.hpp:1012
void * getblob(void *buf, size_t *bufsize, nodeidx_t _start, uchar tag)
Get blob from a netnode.
Definition netnode.hpp:952
void resize_noinit(size_t _newsize)
Definition pro.h:2504
const T & at(size_t _idx) const
Get element at index '_idx'.
Definition pro.h:2427
iterator begin(void)
Get an iterator that points to the first element in the qvector.
Definition pro.h:2609
size_t size(void) const
Get the number of elements in the qvector.
Definition pro.h:2423
THREAD_SAFE ea_t mmdsr_unpack_node2ea(memory_deserializer_t &mmdsr)
Unpack a netnode index.
Definition cvt64.hpp:80
THREAD_SAFE sval_t mmdsr_unpack_sval(memory_deserializer_t &mmdsr, sval_t base=0)
Unpack as a signed value.
Definition cvt64.hpp:88
THREAD_SAFE ea_t mmdsr_unpack_ea(memory_deserializer_t &mmdsr, ea_t base=0)
Unpack an address.
Definition cvt64.hpp:52
idaman int ida_export cvt64_node_supval_for_event(va_list va, const cvt64_node_tag_t *node_info, size_t node_info_qty)
Helper for the processor_t::ev_cvt64_supval event.
THREAD_SAFE ea_t mmdsr_read_ea(memory_deserializer_t &mmdsr)
Read a stored (without packing) address.
Definition cvt64.hpp:123
THREAD_SAFE ea_t mmdsr_unpack_ea_neg(memory_deserializer_t &mmdsr, ea_t base)
Unpack an address relative to the specified base address.
Definition cvt64.hpp:66
int cvt64_blob(netnode node, nodeidx_t start, uchar tag)
Convert a blob whose content does not depend on the IDA bitness.
Definition cvt64.hpp:145
THREAD_SAFE void mmdsr_unpack_eavec(eavec_t *vec, memory_deserializer_t &mmdsr, ea_t ea)
Unpack vector of addresses.
Definition cvt64.hpp:99
idaman THREAD_SAFE va_list va
See qsscanf()
Definition err.h:21
idaman size_t n
Definition pro.h:997
idaman ea_t ida_export node2ea(nodeidx_t ndx)
nodeidx64_t nodeidx_t
Definition netnode.hpp:114
uint32 ea32_t
32-bit address, regardless of IDA bitness.
Definition pro.h:450
adiff_t sval_t
signed value used by the processor.
Definition pro.h:446
uint64 ea_t
Definition pro.h:421
int int32
signed 32 bit value
Definition pro.h:347
unsigned char uchar
unsigned 8 bit value
Definition pro.h:337
idaman bool ida_export is_cvt64()
is IDA converting IDB into I64?
qvector< ea_t > eavec_t
vector of addresses
Definition pro.h:2764
Descriptor of information stored in a netnode.
Definition cvt64.hpp:164
int tag
Definition cvt64.hpp:182
nodeidx_t node
netnode id
Definition cvt64.hpp:166
nodeidx_t exact_alt
The index described by the descriptor.
Definition cvt64.hpp:190
ea_t unpack_ea()
Definition pro.h:4397
ssize_t read(void *obj, size_t objsize)
Definition pro.h:4453
void unpack_eavec(eavec_t *vec, ea_t ea)
Definition pro.h:4428
uint16 unpack_dw()
Definition pro.h:4394
uint32 unpack_dd()
Definition pro.h:4395
ea32_t start_ea
Definition cvt64.hpp:38
range32_t(ea_t ea1, ea_t ea2)
Definition cvt64.hpp:42
range32_t()
Definition cvt64.hpp:41
ea32_t end_ea
Definition cvt64.hpp:39