IDA SDK

- Main Page
- Header Files
- Classes
- Modules

- File List
- File Members

Classes | Functions | Macros | Typedefs
area.hpp File Reference

## Detailed Description

Contains the definition of areacb_t.

This is a base class used by many parts of IDA. It is a collection of address ranges in the program. It conceptually consists of separate area_t instances.

An area is a non-empty contiguous range of addresses (specified by its start and end addresses, the end address is excluded from the range) with some characteristics. For example, the ensemble of program segments is represented by an "areacb_t" called "segs".

Areas are stored in the Btree part of the IDA database. To learn more about Btrees (Balanced Trees): http://www.bluerwhite.org/btree/

## Classes
struct | area_t
| Base class for an area. More...
struct | areavec_t
| Vector of area_t instances. More...
class | areaset_t
| An ordered set of non-overlapping address ranges. More...
struct | area_visitor2_t
| Interface class for processing area_t objects. More...
class | areacb_t
| Definition of areas control block. More...
class | lock_area
| A helper class to lock an area pointer. More...

## Functions
idaman size_t ida_export | area_t_print (const area_t *, char *buf, size_t bufsize)
| Helper function. Should not be called directly!

## Macros
#define | AREASET_HELPER_DEFINITIONS(decl)
| Helper functions. Should not be called directly! More...
#define | OLD_AREA_VISITOR(decl)
| Helper functions. Should not be called directly! More...
#define | AREA_HELPER_DEFINITIONS(decl)
| Helper functions. Should not be called directly! More...

## Typedefs
typedef qvector< areaset_t > | array_of_areasets
| Array of areaset_t objects.

## Macro Definition Documentation

#define AREASET_HELPER_DEFINITIONS | ( |  | decl | ) |

Value:
decl bool ida_export areaset_t_add(areaset_t *, const area_t &area);\
decl bool ida_export areaset_t_sub(areaset_t *, const area_t &area);\
decl bool ida_export areaset_t_add2(areaset_t *, const areaset_t &aset);\
decl bool ida_export areaset_t_sub2(areaset_t *, const areaset_t &aset);\
decl bool ida_export areaset_t_has_common(const areaset_t *, const area_t &area, bool strict);\
decl bool ida_export areaset_t_has_common2(const areaset_t *, const areaset_t &aset);\
decl bool ida_export areaset_t_contains(const areaset_t *, const areaset_t &aset);\
decl size_t ida_export areaset_t_print(const areaset_t *, char *buf, size_t bufsize);\
decl bool ida_export areaset_t_intersect(areaset_t *, const areaset_t &aset);\
decl const area_t *ida_export areaset_t_find_area(const areaset_t *, ea_t ea);\
decl ea_t ida_export areaset_t_next_addr(const areaset_t *, ea_t ea);\
decl ea_t ida_export areaset_t_prev_addr(const areaset_t *, ea_t ea);\
decl ea_t ida_export areaset_t_next_area(const areaset_t *, ea_t ea);\
decl ea_t ida_export areaset_t_prev_area(const areaset_t *, ea_t ea);\
decl areavec_t::const_iterator ida_export areaset_t_lower_bound(const areaset_t *, ea_t ea);\
decl areavec_t::const_iterator ida_export areaset_t_upper_bound(const areaset_t *, ea_t ea);
area_t
Base class for an area.
Definition: area.hpp:41
ea_t
uint32 ea_t
effective address
Definition: pro.h:403
ida_export
#define ida_export
functions marked with this keyword are available as part of the IDA SDK
Definition: pro.h:257
areaset_t
An ordered set of non-overlapping address ranges.
Definition: area.hpp:136

Helper functions. Should not be called directly!

#define OLD_AREA_VISITOR | ( |  | decl | ) |

Helper functions. Should not be called directly!

#define AREA_HELPER_DEFINITIONS | ( |  | decl | ) |

Helper functions. Should not be called directly!