56#define SEH_CONTINUE BADADDR
57#define SEH_SEARCH ea_t(0)
58#define SEH_HANDLE ea_t(1)
74#define CATCH_ID_ALL sval_t(-1)
75#define CATCH_ID_CLEANUP sval_t(-2)
109 bool empty(
void)
const {
return kind == TB_NONE ||
size() == 0; }
110 bool is_seh(
void)
const {
return kind == TB_SEH; }
111 bool is_cpp(
void)
const {
return kind == TB_CPP; }
119 if ( kind != TB_NONE )
125 if ( kind == TB_SEH )
127 else if ( kind == TB_CPP )
136 if ( kind == TB_CPP )
138 else if ( kind == TB_SEH )
146 if ( kind != TB_SEH )
162 if ( kind != TB_CPP )
207#define TBERR_NO_CATCHES 6
208#define TBERR_INTERSECT 7
221#define TBEA_CATCH 0x02
222#define TBEA_SEHTRY 0x04
223#define TBEA_SEHLPAD 0x08
224#define TBEA_SEHFILT 0x10
226#define TBEA_FALLTHRU 0x20
Reimplementation of vector class from STL.
Definition pro.h:2250
void clear(void)
Definition pro.h:2439
qvector< range_t > & operator=(const qvector< range_t > &x)
Definition pro.h:2448
size_t size(void) const
Definition pro.h:2423
Definition tryblks.hpp:84
uchar get_kind(void) const
Definition tryblks.hpp:108
const seh_t & seh() const
Definition tryblks.hpp:103
uchar level
Definition tryblks.hpp:95
tryblk_t & operator=(const tryblk_t &r)
Definition tryblks.hpp:115
tryblk_t(const tryblk_t &r)
Definition tryblks.hpp:107
void clear(void)
Definition tryblks.hpp:134
seh_t & seh()
Definition tryblks.hpp:102
seh_t & set_seh(void)
Definition tryblks.hpp:144
bool is_seh(void) const
Definition tryblks.hpp:110
bool empty(void) const
Definition tryblks.hpp:109
~tryblk_t()
Definition tryblks.hpp:106
tryblk_t()
Definition tryblks.hpp:105
bool is_cpp(void) const
Definition tryblks.hpp:111
const catchvec_t & cpp() const
Definition tryblks.hpp:99
catchvec_t & set_cpp(void)
Definition tryblks.hpp:160
catchvec_t & cpp()
Definition tryblks.hpp:98
unsigned int uint32
unsigned 32 bit value
Definition pro.h:348
adiff_t sval_t
signed value used by the processor.
Definition pro.h:446
uint64 ea_t
Definition pro.h:421
unsigned char uchar
unsigned 8 bit value
Definition pro.h:337
Definition tryblks.hpp:71
catch_t()
Definition tryblks.hpp:77
sval_t type_id
Definition tryblks.hpp:73
sval_t obj
Definition tryblks.hpp:72
Base class for an range.
Definition range.hpp:35
Vector of range_t instances.
Definition range.hpp:93
Definition tryblks.hpp:53
ea_t seh_code
Definition tryblks.hpp:55
void clear(void)
Definition tryblks.hpp:59
rangevec_t filter
Definition tryblks.hpp:54
Definition tryblks.hpp:34
void clear(void)
Definition tryblks.hpp:41
try_handler_t()
Definition tryblks.hpp:40
int fpreg
Definition tryblks.hpp:38
sval_t disp
Definition tryblks.hpp:35
DECLARE_TYPE_AS_MOVABLE(try_handler_t)
qvector< tryblk_t > tryblks_t
Definition tryblks.hpp:176
idaman bool ida_export is_ea_tryblks(ea_t ea, uint32 flags)
Check if the given address ea is part of tryblks description.
idaman ea_t ida_export find_syseh(ea_t ea)
Find the start address of the system eh region including the argument.
idaman size_t ida_export get_tryblks(tryblks_t *tbv, const range_t &range)
qvector< catch_t > catchvec_t
Definition tryblks.hpp:80
idaman void ida_export del_tryblks(const range_t &range)
Delete try block information in the specified range.
idaman int ida_export add_tryblk(const tryblk_t &tb)
Add one try block information.