Module index

Module ida_range

IDA Plugin SDK API wrapper: range

Global variables

var RANGE_KIND_FUNC
RANGE_KIND_FUNC = 1
var RANGE_KIND_HIDDEN_RANGE
RANGE_KIND_HIDDEN_RANGE = 3
var RANGE_KIND_SEGMENT
RANGE_KIND_SEGMENT = 2
var RANGE_KIND_UNKNOWN
RANGE_KIND_UNKNOWN = 0

Functions

def range_t_print(*args) ‑> size_t
Helper function. Should not be called directly!
range_t_print(cb) -> str
cb: range_t const *

Classes

class array_of_rangesets (*args)
Proxy of C++ qvector< rangeset_t > class.
__init__(self) -> array_of_rangesets
x: qvector< rangeset_t > const &

Methods

def add_unique(self, *args) ‑> bool
add_unique(self, x) -> bool
x: rangeset_t const &
def at(self, *args) ‑> rangeset_t const &
at(self, _idx) -> rangeset_t
_idx: size_t
def back(self)
def begin(self, *args) ‑> qvector< rangeset_t >::const_iterator
begin(self) -> rangeset_t
begin(self) -> rangeset_t
def capacity(self, *args) ‑> size_t
capacity(self) -> size_t
def clear(self, *args) ‑> void
clear(self)
def empty(self, *args) ‑> bool
empty(self) -> bool
def end(self, *args) ‑> qvector< rangeset_t >::const_iterator
end(self) -> rangeset_t
end(self) -> rangeset_t
def erase(self, *args) ‑> qvector< rangeset_t >::iterator
erase(self, it) -> rangeset_t
it: qvector< rangeset_t >::iterator
erase(self, first, last) -> rangeset_t
first: qvector< rangeset_t >::iterator last: qvector< rangeset_t >::iterator
def extract(self, *args) ‑> rangeset_t *
extract(self) -> rangeset_t
def find(self, *args) ‑> qvector< rangeset_t >::const_iterator
find(self, x) -> rangeset_t
x: rangeset_t const &
find(self, x) -> rangeset_t
x: rangeset_t const &
def front(self)
def grow(self, *args) ‑> void
grow(self, x=rangeset_t())
x: rangeset_t const &
def has(self, *args) ‑> bool
has(self, x) -> bool
x: rangeset_t const &
def inject(self, *args) ‑> void
inject(self, s, len)
s: rangeset_t * len: size_t
def insert(self, *args) ‑> qvector< rangeset_t >::iterator
insert(self, it, x) -> rangeset_t
it: qvector< rangeset_t >::iterator x: rangeset_t const &
def pop_back(self, *args) ‑> void
pop_back(self)
def push_back(self, *args) ‑> rangeset_t &
push_back(self, x)
x: rangeset_t const &
def qclear(self, *args) ‑> void
qclear(self)
def reserve(self, *args) ‑> void
reserve(self, cnt)
cnt: size_t
def resize(self, *args) ‑> void
resize(self, _newsize, x)
_newsize: size_t x: rangeset_t const &
resize(self, _newsize)
_newsize: size_t
def size(self, *args) ‑> size_t
size(self) -> size_t
def swap(self, *args) ‑> void
swap(self, r)
r: qvector< rangeset_t > &
def truncate(self, *args) ‑> void
truncate(self)
class range_t (*args)
Proxy of C++ range_t class.
__init__(self) -> range_t
ea1: ea_t ea2: ea_t

Subclasses

Instance variables

var endEA
var end_ea
range_t_end_ea_get(self) -> ea_t
var startEA
var start_ea
range_t_start_ea_get(self) -> ea_t

Methods

def clear(self, *args) ‑> void
Set 'start_ea' , 'end_ea' to 0.
def compare(self, *args) ‑> int
Compare two 'range_t' instances, based on the start_ea.
compare(self, r) -> int
r (C++: const range_t &)
def contains(self, *args) ‑> bool
Is 'ea' in the address range?
contains(self, ea) -> bool
ea (C++: ea_t)
contains(self, r) -> bool
r: range_t const &
def empty(self, *args) ‑> bool
Is the size of the 'range_t' <= 0?
def extend(self, *args) ‑> void
Ensure that the 'range_t' includes 'ea'.
extend(self, ea)
ea (C++: ea_t)
def intersect(self, *args) ‑> void
Assign the 'range_t' to the intersection between the 'range_t' and 'r'.
intersect(self, r)
r (C++: const range_t &)
def overlaps(self, *args) ‑> bool
Is there an ea in 'r' that is also in this 'range_t' ?
overlaps(self, r) -> bool
r (C++: const range_t &)
def size(self, *args) ‑> asize_t
Get 'end_ea' - 'start_ea' .
class rangeset_t (*args)
Proxy of C++ rangeset_t class.
__init__(self) -> rangeset_t
range: range_t const &
__init__(self, ivs) -> rangeset_t
ivs: rangeset_t const &

Methods

def add(self, *args) ‑> bool
Add an address range to the set. If 'range' intersects an existing element e, then e is extended to include 'range', and any superfluous elements (subsets of e) are removed.
add(self, range) -> bool
range: address range to add. cannot be empty (C++: const
range_t &)
return: false if no elements were added (the set was unchanged)
add(self, start, _end) -> bool
start: ea_t _end: ea_t
return: false if no elements were added (the set was unchanged)
add(self, aset) -> bool
aset: rangeset_t const &
return: false if no elements were added (the set was unchanged)
def begin(self, *args) ‑> rangeset_t::iterator
Get an iterator that points to the first element in the set.
def cached_range(self, *args) ‑> range_t const *
When searching the rangeset, we keep a cached element to help speed up searches.
def clear(self, *args) ‑> void
Delete all elements from the set. See 'qvector::clear()'
def contains(self, *args) ‑> bool
Does an element of the rangeset contain 'ea'? See range_t::contains(ea_t)
contains(self, ea) -> bool
ea (C++: ea_t)
contains(self, aset) -> bool
aset: rangeset_t const &
def empty(self, *args) ‑> bool
Does the set have zero elements.
def end(self, *args) ‑> rangeset_t::iterator
Get an iterator that points to the end of the set. (This is NOT the last element)
def find_range(self, *args) ‑> range_t const *
Get the element from the set that contains 'ea'.
find_range(self, ea) -> range_t
ea (C++: ea_t)
return: NULL if there is no such element
def getrange(self, *args) ‑> range_t const &
Get the 'range_t' at index 'idx'.
getrange(self, idx) -> range_t
idx (C++: int)
def has_common(self, *args) ‑> bool
Is there an ea in 'range' that is also in the rangeset?
has_common(self, range) -> bool
range (C++: const range_t &)
has_common(self, aset) -> bool
aset: rangeset_t const &
def includes(self, *args) ‑> bool
Is every ea in 'range' contained in the rangeset?
includes(self, range) -> bool
range (C++: const range_t &)
def intersect(self, *args) ‑> bool
Set the rangeset to its intersection with 'aset'.
intersect(self, aset) -> bool
aset (C++: const rangeset_t &)
return: false if the set was unchanged
def is_equal(self, *args) ‑> bool
Do this rangeset and 'aset' have identical elements?
is_equal(self, aset) -> bool
aset (C++: const rangeset_t &)
def is_subset_of(self, *args) ‑> bool
Is every element in the rangeset contained in an element of 'aset'?
is_subset_of(self, aset) -> bool
aset (C++: const rangeset_t &)
def lastrange(self, *args) ‑> range_t const &
Get the last 'range_t' in the set.
def next_addr(self, *args) ‑> ea_t
Get the smallest ea_t value greater than 'ea' contained in the rangeset.
next_addr(self, ea) -> ea_t
ea (C++: ea_t)
def next_range(self, *args) ‑> ea_t
Get the smallest ea_t value greater than 'ea' that is not in the same range as 'ea'.
next_range(self, ea) -> ea_t
ea (C++: ea_t)
def nranges(self, *args) ‑> size_t
Get the number of 'range_t' elements in the set.
def prev_addr(self, *args) ‑> ea_t
Get the largest ea_t value less than 'ea' contained in the rangeset.
prev_addr(self, ea) -> ea_t
ea (C++: ea_t)
def prev_range(self, *args) ‑> ea_t
Get the largest ea_t value less than 'ea' that is not in the same range as 'ea'.
prev_range(self, ea) -> ea_t
ea (C++: ea_t)
def sub(self, *args) ‑> bool
Subtract an address range from the set. All subsets of 'range' will be removed, and all elements that intersect 'range' will be truncated/split so they do not include 'range'.
sub(self, range) -> bool
range: address range to subtract. cannot be empty. (C++: const
range_t &)
return: false if nothing was subtracted (the set was unchanged)
sub(self, ea) -> bool
ea: ea_t
return: false if nothing was subtracted (the set was unchanged)
sub(self, aset) -> bool
aset: rangeset_t const &
return: false if nothing was subtracted (the set was unchanged)
def swap(self, *args) ‑> void
Set this = 'r' and 'r' = this. See 'qvector::swap()'
swap(self, r)
r (C++: rangeset_t &)
class rangevec_base_t (*args)
Proxy of C++ qvector< range_t > class.
__init__(self) -> rangevec_base_t
x: qvector< range_t > const &

Subclasses

Methods

def add_unique(self, *args) ‑> bool
add_unique(self, x) -> bool
x: range_t const &
def at(self, *args) ‑> range_t const &
at(self, _idx) -> range_t
_idx: size_t
def back(self)
def begin(self, *args) ‑> qvector< range_t >::const_iterator
begin(self) -> range_t
begin(self) -> range_t
def capacity(self, *args) ‑> size_t
capacity(self) -> size_t
def clear(self, *args) ‑> void
clear(self)
def empty(self, *args) ‑> bool
empty(self) -> bool
def end(self, *args) ‑> qvector< range_t >::const_iterator
end(self) -> range_t
end(self) -> range_t
def erase(self, *args) ‑> qvector< range_t >::iterator
erase(self, it) -> range_t
it: qvector< range_t >::iterator
erase(self, first, last) -> range_t
first: qvector< range_t >::iterator last: qvector< range_t >::iterator
def extract(self, *args) ‑> range_t *
extract(self) -> range_t
def find(self, *args) ‑> qvector< range_t >::const_iterator
find(self, x) -> range_t
x: range_t const &
find(self, x) -> range_t
x: range_t const &
def front(self)
def grow(self, *args) ‑> void
grow(self, x=range_t())
x: range_t const &
def has(self, *args) ‑> bool
has(self, x) -> bool
x: range_t const &
def inject(self, *args) ‑> void
inject(self, s, len)
s: range_t * len: size_t
def insert(self, *args) ‑> qvector< range_t >::iterator
insert(self, it, x) -> range_t
it: qvector< range_t >::iterator x: range_t const &
def pop_back(self, *args) ‑> void
pop_back(self)
def push_back(self, *args) ‑> range_t &
push_back(self, x)
x: range_t const &
def qclear(self, *args) ‑> void
qclear(self)
def reserve(self, *args) ‑> void
reserve(self, cnt)
cnt: size_t
def resize(self, *args) ‑> void
resize(self, _newsize, x)
_newsize: size_t x: range_t const &
resize(self, _newsize)
_newsize: size_t
def size(self, *args) ‑> size_t
size(self) -> size_t
def swap(self, *args) ‑> void
swap(self, r)
r: qvector< range_t > &
def truncate(self, *args) ‑> void
truncate(self)
class rangevec_t (*args)
Proxy of C++ rangevec_t class.
__init__(self) -> rangevec_t

Ancestors

Subclasses

Inherited members