|
|
| netnode (nodeidx_t num=BADNODE) |
| Constructor to create a netnode to access information about the specified linear address (possibly missing)
|
|
| operator nodeidx_t () const |
| Conversion from netnode to a linear address.
|
|
| netnode (const char *_name, size_t namlen=0, bool do_create=false) |
| Construct an instance of netnode class to access the specified netnode. More...
|
|
|
- Note
- You can check if a netnode already exists with exist()
|
bool | create (const char *_name, size_t namlen=0) |
| Create a named netnode. More...
|
|
bool | create (void) |
| Create unnamed netnode. More...
|
|
void | kill (void) |
| Delete a netnode with all information attached to it.
|
|
|
ssize_t | get_name (qstring *buf) const |
| Get the netnode name. More...
|
|
bool | rename (const char *newname, size_t namlen=0) |
| Rename a netnode. More...
|
|
|
ssize_t | valobj (void *buf, size_t bufsize) const |
| Get value of netnode. More...
|
|
ssize_t | valstr (qstring *buf) const |
| Get string value of netnode. More...
|
|
ssize_t | valstr (char *buf, size_t bufsize) const |
|
bool | set (const void *value, size_t length=0) |
| Set value of netnode. More...
|
|
bool | delvalue (void) |
| Delete value of netnode. More...
|
|
bool | set_long (nodeidx_t x) |
| Value of netnode as a long number:
|
|
bool | value_exists (void) const |
|
nodeidx_t | long_value (void) const |
|
|
altvals: a sparse array of 32-bit values.
indexes in this array may be 8-bit or 32-bit values
|
nodeidx_t | altval (nodeidx_t alt, uchar tag=atag) const |
| Get altval element of the specified array. More...
|
|
nodeidx_t | altval_ea (ea_t ea, uchar tag=atag) const |
|
bool | altset (nodeidx_t alt, nodeidx_t value, uchar tag=atag) |
| Set value of altval array. More...
|
|
bool | altset_ea (ea_t ea, nodeidx_t value, uchar tag=atag) |
|
bool | altdel (nodeidx_t alt, uchar tag=atag) |
| Delete element of altval array. More...
|
|
bool | altdel_ea (ea_t ea, uchar tag=atag) |
|
bool | easet (ea_t ea, ea_t addr, uchar tag) |
| Store/retrieve/delete an address value in the netnode that corresponds to an address. More...
|
|
ea_t | eaget (ea_t ea, uchar tag) const |
|
bool | eadel (ea_t ea, uchar tag) |
|
bool | easet_idx (nodeidx_t idx, ea_t addr, uchar tag) |
|
ea_t | eaget_idx (nodeidx_t idx, uchar tag) |
|
bool | easet_idx8 (uchar idx, ea_t addr, uchar tag) |
|
ea_t | eaget_idx8 (uchar idx, uchar tag) const |
|
bool | eadel_idx8 (uchar idx, uchar tag) |
|
nodeidx_t | altfirst (uchar tag=atag) const |
| Get first existing element of altval array. More...
|
|
nodeidx_t | altnext (nodeidx_t cur, uchar tag=atag) const |
| Get next existing element of altval array. More...
|
|
nodeidx_t | altlast (uchar tag=atag) const |
| Get last element of altval array. More...
|
|
nodeidx_t | altprev (nodeidx_t cur, uchar tag=atag) const |
| Get previous existing element of altval array. More...
|
|
size_t | altshift (nodeidx_t from, nodeidx_t to, nodeidx_t size, uchar tag=atag) |
| Shift the altval array elements. More...
|
|
void | altadjust (nodeidx_t from, nodeidx_t to, nodeidx_t size, bool(idaapi *should_skip)(nodeidx_t ea)=nullptr) |
| Adjust values of altval arrays elements. More...
|
|
void | altadjust2 (nodeidx_t from, nodeidx_t to, nodeidx_t size, altadjust_visitor_t &av) |
|
|
The following functions behave in the same manner as the functions described above.
The only difference is that the array value is 8-bits.
- index: 32 bits
- value: 8 bits
|
uchar | charval (nodeidx_t alt, uchar tag) const |
|
bool | charset (nodeidx_t alt, uchar val, uchar tag) |
|
bool | chardel (nodeidx_t alt, uchar tag) |
|
uchar | charval_ea (ea_t ea, uchar tag) const |
|
bool | charset_ea (ea_t ea, uchar val, uchar tag) |
|
bool | chardel_ea (ea_t ea, uchar tag) |
|
nodeidx_t | charfirst (uchar tag) const |
|
nodeidx_t | charnext (nodeidx_t cur, uchar tag) const |
|
nodeidx_t | charlast (uchar tag) const |
|
nodeidx_t | charprev (nodeidx_t cur, uchar tag) const |
|
size_t | charshift (nodeidx_t from, nodeidx_t to, nodeidx_t size, uchar tag) |
|
|
Another set of functions to work with altvals.
The only difference is that the array index is 8-bits, and therefore the array may contain up to 256 elements only.
- index: 8 bits
- value: 32 bits
|
nodeidx_t | altval_idx8 (uchar alt, uchar tag) const |
|
bool | altset_idx8 (uchar alt, nodeidx_t val, uchar tag) |
|
bool | altdel_idx8 (uchar alt, uchar tag) |
|
nodeidx_t | altfirst_idx8 (uchar tag) const |
|
nodeidx_t | altnext_idx8 (uchar cur, uchar tag) const |
|
nodeidx_t | altlast_idx8 (uchar tag) const |
|
nodeidx_t | altprev_idx8 (uchar cur, uchar tag) const |
|
|
Another set of functions to work with altvals.
- index: 8 bits
- value: 8 bits
|
uchar | charval_idx8 (uchar alt, uchar tag) const |
|
bool | charset_idx8 (uchar alt, uchar val, uchar tag) |
|
bool | chardel_idx8 (uchar alt, uchar tag) |
|
nodeidx_t | charfirst_idx8 (uchar tag) const |
|
nodeidx_t | charnext_idx8 (uchar cur, uchar tag) const |
|
nodeidx_t | charlast_idx8 (uchar tag) const |
|
nodeidx_t | charprev_idx8 (uchar cur, uchar tag) const |
|
|
- Note
- To delete range of elements in an altval array, see supdel_range()
|
bool | altdel (void) |
| Delete all elements of altval array. More...
|
|
bool | altdel_all (uchar tag=atag) |
| Delete all elements of the specified altval array. More...
|
|
|
supvals: an array of arbitrary sized objects.
(size of each object is limited by MAXSPECSIZE). indexes in this array may be 8-bit or 32-bit values.
|
ssize_t | supval (nodeidx_t alt, void *buf, size_t bufsize, uchar tag=stag) const |
| Get value of the specified supval array element. More...
|
|
ssize_t | supval_ea (ea_t ea, void *buf, size_t bufsize, uchar tag=stag) const |
|
ssize_t | supstr (qstring *buf, nodeidx_t alt, uchar tag=stag) const |
| Get string value of the specified supval array element. More...
|
|
ssize_t | supstr_ea (qstring *buf, ea_t ea, uchar tag=stag) const |
|
ssize_t | supstr (nodeidx_t alt, char *buf, size_t bufsize, uchar tag=stag) const |
|
ssize_t | supstr_ea (ea_t ea, char *buf, size_t bufsize, uchar tag=stag) const |
|
bool | supset (nodeidx_t alt, const void *value, size_t length=0, uchar tag=stag) |
| Set value of supval array element. More...
|
|
bool | supset_ea (ea_t ea, const void *value, size_t length=0, uchar tag=stag) |
|
bool | supdel (nodeidx_t alt, uchar tag=stag) |
| Delete supval element. More...
|
|
bool | supdel_ea (ea_t ea, uchar tag=stag) |
|
nodeidx_t | lower_bound (nodeidx_t cur, uchar tag=stag) const |
| Get lower bound of existing elements of supval array. More...
|
|
nodeidx_t | lower_bound_ea (ea_t ea, uchar tag=stag) const |
|
nodeidx_t | supfirst (uchar tag=stag) const |
| Get first existing element of supval array. More...
|
|
nodeidx_t | supnext (nodeidx_t cur, uchar tag=stag) const |
| Get next existing element of supval array. More...
|
|
nodeidx_t | suplast (uchar tag=stag) const |
| Get last existing element of supval array. More...
|
|
nodeidx_t | supprev (nodeidx_t cur, uchar tag=stag) const |
| Get previous existing element of supval array. More...
|
|
size_t | supshift (nodeidx_t from, nodeidx_t to, nodeidx_t size, uchar tag=stag) |
| Shift the supval array elements. More...
|
|
|
The following functions behave in the same manner as the functions described above.
The only difference is that the array index is 8-bits and therefore the array may contains up to 256 elements only.
|
ssize_t | supval_idx8 (uchar alt, void *buf, size_t bufsize, uchar tag) const |
|
ssize_t | supstr_idx8 (uchar alt, char *buf, size_t bufsize, uchar tag) const |
|
ssize_t | supstr_idx8 (qstring *buf, uchar alt, uchar tag) const |
|
bool | supset_idx8 (uchar alt, const void *value, size_t length, uchar tag) |
|
bool | supdel_idx8 (uchar alt, uchar tag) |
|
nodeidx_t | lower_bound_idx8 (uchar alt, uchar tag) const |
|
nodeidx_t | supfirst_idx8 (uchar tag) const |
|
nodeidx_t | supnext_idx8 (uchar alt, uchar tag) const |
|
nodeidx_t | suplast_idx8 (uchar tag) const |
|
nodeidx_t | supprev_idx8 (uchar alt, uchar tag) const |
|
|
bool | supdel (void) |
| Delete all elements of supval array. More...
|
|
bool | supdel_all (uchar tag) |
| Delete all elements of the specified supval array. More...
|
|
int | supdel_range (nodeidx_t idx1, nodeidx_t idx2, uchar tag) |
| Delete range of elements in the specified supval array. More...
|
|
int | supdel_range_idx8 (uchar idx1, uchar idx2, uchar tag) |
| Same as above, but accepts 8-bit indexes.
|
|
|
Associative arrays indexed by strings.
hashvals: Indexes in this array are strings. Values are arbitrary sized (max size is MAXSPECSIZE)
|
ssize_t | hashval (const char *idx, void *buf, size_t bufsize, uchar tag=htag) const |
| Get value of the specified hash element. More...
|
|
ssize_t | hashstr (qstring *buf, const char *idx, uchar tag=htag) const |
| Similar to supstr(), but accepts a hash index.
|
|
ssize_t | hashstr (const char *idx, char *buf, size_t bufsize, uchar tag=htag) const |
|
nodeidx_t | hashval_long (const char *idx, uchar tag=htag) const |
| Get value of the specified hash element. More...
|
|
bool | hashset (const char *idx, const void *value, size_t length=0, uchar tag=htag) |
| Set value of hash element. More...
|
|
bool | hashset (const char *idx, nodeidx_t value, uchar tag=htag) |
| Set value of hash element to long value. More...
|
|
bool | hashdel (const char *idx, uchar tag=htag) |
| Delete hash element. More...
|
|
ssize_t | hashfirst (qstring *buf, uchar tag=htag) const |
| Get first existing element of hash. More...
|
|
ssize_t | hashfirst (char *buf, size_t bufsize, uchar tag=htag) const |
|
ssize_t | hashnext (qstring *buf, const char *idx, uchar tag=htag) const |
| Get next existing element of hash. More...
|
|
ssize_t | hashnext (const char *idx, char *buf, size_t bufsize, uchar tag=htag) const |
|
ssize_t | hashlast (qstring *buf, uchar tag=htag) const |
| Get last existing element of hash. More...
|
|
ssize_t | hashlast (char *buf, size_t bufsize, uchar tag=htag) const |
|
ssize_t | hashprev (qstring *buf, const char *idx, uchar tag=htag) const |
| Get previous existing element of supval array. More...
|
|
ssize_t | hashprev (const char *idx, char *buf, size_t bufsize, uchar tag=htag) const |
|
bool | hashdel_all (uchar tag=htag) |
| Delete all elements of hash. More...
|
|
|
Virtually unlimited size binary objects.
Blobs are stored in several supval array elements.
|
size_t | blobsize (nodeidx_t _start, uchar tag) |
| Get size of blob. More...
|
|
size_t | blobsize_ea (ea_t ea, uchar tag) |
|
void * | getblob (void *buf, size_t *bufsize, nodeidx_t _start, uchar tag) |
| Get blob from a netnode. More...
|
|
void * | getblob_ea (void *buf, size_t *bufsize, ea_t ea, uchar tag) |
|
template<class T > |
ssize_t | getblob (qvector< T > *blob, nodeidx_t _start, uchar tag) |
| Get blob from a netnode. More...
|
|
template<class T > |
ssize_t | getblob_ea (qvector< T > *blob, ea_t ea, uchar tag) |
|
ssize_t | getblob (qstring *buf, nodeidx_t _start, uchar tag) |
| Get blob from a netnode into a qstring* and make sure the string is null-terminated. More...
|
|
bool | setblob (const void *buf, size_t size, nodeidx_t _start, uchar tag) |
| Store a blob in a netnode. More...
|
|
bool | setblob_ea (const void *buf, size_t size, ea_t ea, uchar tag) |
|
int | delblob (nodeidx_t _start, uchar tag) |
| Delete a blob. More...
|
|
int | delblob_ea (ea_t ea, uchar tag) |
|
size_t | blobshift (nodeidx_t from, nodeidx_t to, nodeidx_t size, uchar tag) |
| Shift the blob array elements. More...
|
|
|
bool | start (void) |
| Get first netnode in the graph. More...
|
|
bool | end (void) |
| Get last netnode in the graph. More...
|
|
bool | next (void) |
| Get next netnode in the graph. More...
|
|
bool | prev (void) |
| Get prev netnode in the graph. More...
|
|
|
- Parameters
-
destnode | the destination netnode |
count | how many netnodes to copy |
- Returns
- number of copied/moved keys, BADNODE if failure or not enough memory
|
size_t | copyto (netnode destnode, nodeidx_t count=1) |
|
size_t | moveto (netnode destnode, nodeidx_t count=1) |
|
|
bool | operator== (netnode &n) const |
|
bool | operator!= (netnode &n) const |
|
bool | operator== (nodeidx_t x) const |
|
bool | operator!= (nodeidx_t x) const |
|