250#define ITEM_END_FIXUP 0x0001
251#define ITEM_END_INITED 0x0002
255#define ITEM_END_NAME 0x0004
256#define ITEM_END_XREF 0x0008
257#define ITEM_END_CANCEL 0x0010
280#define GFE_VALUE 0x0001
284#define GFE_IDB_VALUE 0x0002
286#define GFE_32BIT 0x0004
346#define MS_VAL 0x000000FF
347#define FF_IVL 0x00000100
377 {
return (
nbits(ea)+7)/8; }
729#define GMB_READALL 0x01
731#define GMB_WAITBOX 0x02
773#define MS_CLS 0x00000600
774#define FF_CODE 0x00000600
775#define FF_DATA 0x00000400
776#define FF_TAIL 0x00000200
777#define FF_UNK 0x00000000
785inline THREAD_SAFE
constexpr bool idaapi
is_code(
flags64_t F) {
return (F & MS_CLS) == FF_CODE; }
791inline THREAD_SAFE
constexpr bool idaapi
is_data(
flags64_t F) {
return (F & MS_CLS) == FF_DATA; }
797inline THREAD_SAFE
constexpr bool idaapi
is_tail(
flags64_t F) {
return (F & MS_CLS) == FF_TAIL; }
810inline THREAD_SAFE
constexpr bool idaapi
is_head(
flags64_t F) {
return (F & FF_DATA) != 0; }
839#define DELIT_SIMPLE 0x0000
840#define DELIT_EXPAND 0x0001
845#define DELIT_DELNAMES 0x0002
848#define DELIT_NOTRUNC 0x0004
850#define DELIT_NOUNAME 0x0008
853#define DELIT_NOCMT 0x0010
856#define DELIT_KEEPFUNC 0x0020
895#define MS_COMM 0x000FF800
896#define FF_COMM 0x00000800
897#define FF_REF 0x00001000
898#define FF_LINE 0x00002000
899#define FF_NAME 0x00004000
900#define FF_LABL 0x00008000
901#define FF_FLOW 0x00010000
902#define FF_SIGN 0x00020000
903#define FF_BNOT 0x00040000
904#define FF_UNUSED 0x00080000
913inline THREAD_SAFE
constexpr bool idaapi
is_flow(
flags64_t F) {
return (F & FF_FLOW) != 0; }
923inline THREAD_SAFE
constexpr bool idaapi
has_cmt(
flags64_t F) {
return (F & FF_COMM) != 0; }
939#define FF_ANYNAME (FF_LABL|FF_NAME)
1051#define MS_N_TYPE 0xFLLU
1052#define FF_N_VOID 0x0
1053#define FF_N_NUMH 0x1
1054#define FF_N_NUMD 0x2
1055#define FF_N_CHAR 0x3
1058#define FF_N_NUMB 0x6
1059#define FF_N_NUMO 0x7
1060#define FF_N_ENUM 0x8
1062#define FF_N_STRO 0xA
1065#define FF_N_CUST 0xD
1077 return 20 + (4 * (
n + (
n > 1)));
1223#define OPND_OUTER 0x80
1225#define OPND_MASK 0x0F
1226#define OPND_ALL OPND_MASK
1471#define DT_TYPE 0xF0000000
1473#define FF_BYTE 0x00000000
1474#define FF_WORD 0x10000000
1475#define FF_DWORD 0x20000000
1476#define FF_QWORD 0x30000000
1477#define FF_TBYTE 0x40000000
1478#define FF_STRLIT 0x50000000
1479#define FF_STRUCT 0x60000000
1480#define FF_OWORD 0x70000000
1481#define FF_FLOAT 0x80000000
1482#define FF_DOUBLE 0x90000000
1483#define FF_PACKREAL 0xA0000000
1484#define FF_ALIGN 0xB0000000
1486#define FF_CUSTOM 0xD0000000
1487#define FF_YWORD 0xE0000000
1488#define FF_ZWORD 0xF0000000
1696#define ALOPT_IGNHEADS 0x01
1701#define ALOPT_IGNPRINT 0x02
1704#define ALOPT_IGNCLT 0x04
1709#define ALOPT_MAX4K 0x08
1711#define ALOPT_ONLYTERM 0x10
1714#define ALOPT_APPEND 0x20
1738#define STRCONV_ESCAPE 0x00000001
1739#define STRCONV_REPLCHAR 0x00000002
1740#define STRCONV_INCLLEN 0x00000004
1778 size_t *maxcps =
nullptr,
1798#define PSTF_TNORM 0x00
1799#define PSTF_TBRIEF 0x01
1800#define PSTF_TINLIN 0x02
1801#define PSTF_TMASK 0x03
1802#define PSTF_HOTKEY 0x04
1803#define PSTF_ENC 0x08
1804#define PSTF_ONLY_ENC 0x0B
1805#define PSTF_ATTRIB 0x10
1821 qstring *out_tooltip =
nullptr,
1857 bool suppress_events=
false);
1952#define MS_CODE 0xF0000000
1953#define FF_FUNC 0x10000000
1955#define FF_IMMD 0x40000000
1956#define FF_JUMP 0x80000000
1991#define DTP_NODUP 0x0001
2173idaman
bool ida_export attach_custom_data_format(
int dtid,
int dfid);
2243idaman
bool ida_export
set_cmt(
ea_t ea,
const char *comm,
bool rptble);
2330#define PBSENC_DEF1BPU 0
2331#define PBSENC_ALL -1
2375 int strlits_encoding=PBSENC_DEF1BPU,
2392 size_t *out_matched_idx=
nullptr);
2405 if ( mask !=
nullptr )
2407 return bin_search(start_ea, end_ea, bbv, flags);
2414#define BIN_SEARCH_CASE 0x01
2415#define BIN_SEARCH_NOCASE 0x00
2416#define BIN_SEARCH_NOBREAK 0x02
2417#define BIN_SEARCH_INITED 0x04
2418#define BIN_SEARCH_NOSHOW 0x08
2419#define BIN_SEARCH_FORWARD 0x00
2420#define BIN_SEARCH_BACKWARD 0x10
2421#define BIN_SEARCH_BITMASK 0x20
2432 return find_byte(ea, maxea-ea, 0, BIN_SEARCH_INITED);
2442 return find_byter(minea, ea-minea, 0, BIN_SEARCH_INITED);
2465 int bin_search_flags);
2468#define SKIP_FF_MASK ((const uchar *)0xFF)
2476 int bin_search_flags)
2478 if ( (bin_search_flags & BIN_SEARCH_CASE) == 0 )
2483 if ( mask !=
nullptr )
2485 if ( (bin_search_flags & BIN_SEARCH_BITMASK) != 0 )
2486 return ((c1 ^ c2) & mask[i]) == 0;
2487 if ( mask == SKIP_FF_MASK )
2492 else if ( mask[i] == 0 )
2503 const char *ubinstr,
2506 int strlits_encoding=0);
2544 const char *description,
2608#define GET_ITEM_HEAD_BODY \
2609 if ( is_tail(get_flags32(ea)) ) \
2610 ea = prev_not_tail(ea); \
2709 const char *
const start = buf;
2711 for (
size_t i = 0; i <
len; i++ )
2712 buf += ::qsnprintf(buf,
end - buf,
"%02X", *bytes++);
idaman bool ida_export is_attached_custom_data_format(int dtid, int dfid)
Is the custom data format attached to the custom data type?
idaman ea_t ida_export prev_head(ea_t ea, ea_t minea)
Get start of previous defined item.
ea_t idaapi get_item_head(ea_t ea)
Get the start address of the item at 'ea'.
Definition bytes.hpp:2612
THREAD_SAFE constexpr bool idaapi has_value(flags64_t F)
Do flags contain byte value?
Definition bytes.hpp:352
idaman uint32 ida_export get_16bit(ea_t ea)
Get 16bits of the program at 'ea'.
idaman asize_t ida_export get_data_elsize(ea_t ea, flags64_t F, const opinfo_t *ti=nullptr)
Get size of data type specified in flags 'F'.
idaman uchar ida_export get_byte(ea_t ea)
Get one byte (8-bit) of the program at 'ea'.
qvector< compiled_binpat_t > compiled_binpat_vec_t
Definition bytes.hpp:2328
idaman uint32 ida_export get_32bit(ea_t ea)
Get not more than 32bits of the program at 'ea'.
idaman bool ida_export is_mapped(ea_t ea)
Is the specified address 'ea' present in the program?
int bytesize(ea_t ea)
Get number of bytes required to store a byte at the given address.
Definition bytes.hpp:376
idaman bool ida_export parse_binpat_str(compiled_binpat_vec_t *out, ea_t ea, const char *in, int radix, int strlits_encoding=PBSENC_DEF1BPU, qstring *errbuf=nullptr)
Convert user-specified binary string to internal representation.
idaman bool ida_export del_hidden_range(ea_t ea)
Delete hidden range.
idaman size_t ida_export get_max_strlit_length(ea_t ea, int32 strtype, int options=0)
Determine maximum length of string literal.
idaman hidden_range_t *ida_export get_last_hidden_range(void)
Get pointer to the last hidden range.
idaman uint64 ida_export get_64bit(ea_t ea)
Get not more than 64bits of the program at 'ea'.
idaman void ida_export add_dword(ea_t ea, uint64 value)
Add a value to one dword of the program.
idaman bool ida_export get_octet(uchar *out, octet_generator_t *ogen)
idaman bool ida_export patch_qword(ea_t ea, uint64 x)
Patch a qword of the program.
bool bytes_match_for_bin_search(uchar c1, uchar c2, const uchar *mask, int i, int bin_search_flags)
Definition bytes.hpp:2471
idaman hidden_range_t *ida_export get_first_hidden_range(void)
Get pointer to the first hidden range.
idaman ea_t ida_export next_addr(ea_t ea)
Get next address in the program (i.e.
idaman void ida_export put_qword(ea_t ea, uint64 x)
Set value of one qword (8 bytes) of the program.
flags64_t idaapi get_flags32(ea_t ea)
Get only 32 low bits of flags.
Definition bytes.hpp:296
idaman hidden_range_t *ida_export get_next_hidden_range(ea_t ea)
Get pointer to next hidden range.
idaman ushort ida_export get_word(ea_t ea)
Get one word (16-bit) of the program at 'ea'.
bool is_visible_finally(ea_t ea)
Is the address visible on the screen (not hidden)?
idaman ea_t ida_export use_mapping(ea_t ea)
Translate address according to current mappings.
ea_t idaapi prev_unknown(ea_t ea, ea_t minea)
Similar to prev_that(), but will find the previous address that is unexplored.
Definition bytes.hpp:154
idaman ssize_t ida_export get_bytes(void *buf, ssize_t size, ea_t ea, int gmb_flags=0, void *mask=nullptr)
Get the specified number of bytes of the program into the buffer.
idaman bool ida_export detach_custom_data_format(int dtid, int dfid)
Attach the data format to the data type.
idaman ssize_t ida_export get_manual_insn(qstring *buf, ea_t ea)
Retrieve the user-specified string for the manual instruction.
idaman int ida_export find_custom_data_type(const char *name)
Get id of a custom data type.
idaman void ida_export put_word(ea_t ea, uint64 x)
Set value of one word of the program.
idaman uchar ida_export get_db_byte(ea_t ea)
Get one byte (8-bit) of the program at 'ea' from the database.
idaman size_t ida_export get_mappings_qty(void)
Get number of mappings.
idaman bool ida_export get_mapping(ea_t *from, ea_t *to, asize_t *size, size_t n)
Get memory mapping range by its number.
ea_t adjust_visea(ea_t ea)
Adjust the address and get the nearest visible address.
asize_t get_item_size(ea_t ea)
Get size of item (instruction/data) in bytes.
Definition bytes.hpp:266
idaman void ida_export patch_bytes(ea_t ea, const void *buf, size_t size)
Patch the specified number of bytes of the program.
idaman bool ida_export unregister_custom_data_type(int dtid)
Unregister a data type.
idaman opinfo_t *ida_export get_opinfo(opinfo_t *buf, ea_t ea, int n, flags64_t flags)
Get additional information about an operand representation.
idaman bool ida_export get_item_refinfo(refinfo_t *ri, ea_t ea, int n)
Get refinfo of the item at 'ea'.
idaman asize_t ida_export get_possible_item_varsize(ea_t ea, const tinfo_t &tif)
Return the possible size of the item at EA of type TIF if TIF is the variable structure.
idaman bool ida_export patch_dword(ea_t ea, uint64 x)
Patch a dword of the program.
flags64_t idaapi get_full_flags(ea_t ea)
Get full flags value for address 'ea'.
Definition bytes.hpp:311
idaman ea_t ida_export prev_that(ea_t ea, ea_t minea, testf_t *testf, void *ud=nullptr)
Find previous address with a flag satisfying the function 'testf'.
idaman bool ida_export patch_byte(ea_t ea, uint64 x)
Patch a byte of the program.
idaman flags64_t ida_export get_item_flag(ea_t from, int n, ea_t ea, bool appzero)
Get flag of the item at 'ea' even if it is a tail byte of some array or structure.
idaman int ida_export get_custom_data_formats(intvec_t *out, int dtid)
Get list of attached custom data formats for the specified data type.
ea_t idaapi next_unknown(ea_t ea, ea_t maxea)
Similar to next_that(), but will find the next address that is unexplored.
Definition bytes.hpp:130
idaman ea_t ida_export prev_visea(ea_t ea)
Get previous visible address.
idaman hidden_range_t *ida_export get_hidden_range(ea_t ea)
Get pointer to hidden range structure, in: linear address.
idaman ssize_t ida_export get_strlit_contents(qstring *utf8, ea_t ea, size_t len, int32 type, size_t *maxcps=nullptr, int flags=0)
Get contents of string literal, as UTF-8-encoded codepoints.
idaman bool ida_export can_define_item(ea_t ea, asize_t length, flags64_t flags)
Can define item (instruction/data) of the specified 'length', starting at 'ea'?
idaman ea_t ida_export find_byte(ea_t sEA, asize_t size, uchar value, int bin_search_flags)
Find forward a byte with the specified value (only 8-bit value from the database).
idaman ea_t ida_export prev_addr(ea_t ea)
Get previous address in the program.
idaman ea_t ida_export prev_not_tail(ea_t ea)
Get address of previous non-tail byte.
THREAD_SAFE ssize_t get_hex_string(char *buf, size_t bufsize, const uchar *bytes, size_t len)
Definition bytes.hpp:2707
idaman error_t ida_export enable_flags(ea_t start_ea, ea_t end_ea, storage_type_t stt)
Allocate flags for address range.
ea_t idaapi prev_inited(ea_t ea, ea_t minea)
Find the previous initialized address.
Definition bytes.hpp:2437
idaman bool ida_export patch_word(ea_t ea, uint64 x)
Patch a word of the program.
idaman uint64 ida_export get_original_qword(ea_t ea)
Get original qword value (that was before patching) This function DOESN'T work for wide byte processo...
idaman hidden_range_t *ida_export get_prev_hidden_range(ea_t ea)
Get pointer to previous hidden range.
idaman asize_t ida_export chunk_size(ea_t ea)
Get size of the contiguous address block containing 'ea'.
idaman bool ida_export add_mapping(ea_t from, ea_t to, asize_t size)
IDA supports memory mapping.
idaman int ida_export is_varsize_item(ea_t ea, flags64_t F, const opinfo_t *ti=nullptr, asize_t *itemsize=nullptr)
Is the item at 'ea' variable size?
idaman int ida_export get_hidden_range_qty(void)
Get number of hidden ranges.
DECLARE_TYPE_AS_MOVABLE(compiled_binpat_t)
idaman bool ida_export equal_bytes(ea_t ea, const uchar *image, const uchar *mask, size_t len, int bin_search_flags)
Compare 'len' bytes of the program starting from 'ea' with 'image'.
idaman int ida_export get_hidden_range_num(ea_t ea)
Get number of a hidden range.
idaman bool ida_export del_items(ea_t ea, int flags=0, asize_t nbytes=1, may_destroy_cb_t *may_destroy=nullptr)
Convert item (instruction/data) to unexplored bytes.
idaman uint64 ida_export get_original_byte(ea_t ea)
Get original byte value (that was before patching).
idaman ea_t ida_export bin_search(ea_t start_ea, ea_t end_ea, const compiled_binpat_vec_t &data, int flags, size_t *out_matched_idx=nullptr)
Search for a pattern in the program.
idaman const data_format_t *ida_export get_custom_data_format(int dfid)
Get definition of a registered custom data format.
idaman error_t ida_export disable_flags(ea_t start_ea, ea_t end_ea)
Deallocate flags for address range.
idaman uint64 ida_export get_wide_dword(ea_t ea)
Get two wide words (4 'bytes') of the program at 'ea'.
idaman int ida_export register_custom_data_format(const data_format_t *dtform)
Register a new data format.
idaman bool ida_export get_data_value(uval_t *v, ea_t ea, asize_t size)
Get the value at of the item at 'ea'.
idaman bool ida_export print_strlit_type(qstring *out, int32 strtype, qstring *out_tooltip=nullptr, int flags=0)
Get string type information: the string type name (possibly decorated with hotkey markers),...
idaman bool ida_export is_manual_insn(ea_t ea)
Is the instruction overridden?
idaman uint64 ida_export get_qword(ea_t ea)
Get one qword (64-bit) of the program at 'ea'.
idaman void ida_export add_qword(ea_t ea, uint64 value)
Add a value to one qword of the program.
idaman void ida_export add_word(ea_t ea, uint64 value)
Add a value to one word of the program.
idaman ssize_t ida_export get_cmt(qstring *buf, ea_t ea, bool rptble)
Get an indented comment.
idaman void ida_export put_bytes(ea_t ea, const void *buf, size_t size)
Modify the specified number of bytes of the program.
idaman void ida_export put_dword(ea_t ea, uint64 x)
Set value of one dword of the program.
idaman bool ida_export put_byte(ea_t ea, uint64 x)
Set value of one byte of the program.
idaman ea_t ida_export next_visea(ea_t ea)
Get next visible address.
idaman ea_t ida_export find_binary(ea_t startea, ea_t endea, const char *ubinstr, int radix, int sflag, int strlits_encoding=0)
idaman bool ida_export update_hidden_range(const hidden_range_t *ha)
Update hidden range information in the database.
idaman const data_type_t *ida_export get_custom_data_type(int dtid)
Get definition of a registered custom data type.
idaman int ida_export register_custom_data_type(const data_type_t *dtinfo)
Register a new data type.
idaman ea_t ida_export calc_max_item_end(ea_t ea, int how=15)
Calculate maximal reasonable end address of a new item.
idaman bool ida_export leading_zero_important(ea_t ea, int n)
Check if leading zeroes are important.
idaman bool ida_export set_cmt(ea_t ea, const char *comm, bool rptble)
Set an indented comment.
idaman ea_t ida_export chunk_start(ea_t ea)
Get start of the contiguous address block containing 'ea'.
idaman bool ida_export add_hidden_range(ea_t ea1, ea_t ea2, const char *description, const char *header, const char *footer, bgcolor_t color=DEFCOLOR)
Mark a range of addresses as hidden.
flags64_t idaapi get_flags(ea_t ea)
Get flags value for address 'ea'.
Definition bytes.hpp:304
idaman bool ida_export create_strlit(ea_t start, size_t len, int32 strtype)
Convert to string literal and give a meaningful name.
idaman bool ida_export append_cmt(ea_t ea, const char *str, bool rptble)
Append to an indented comment.
idaman ea_t ida_export get_item_end(ea_t ea)
Get the end address of the item at 'ea'.
idaman bool ida_export get_zero_ranges(rangeset_t *zranges, const range_t *range)
Return set of ranges with zero initialized bytes.
bool is_first_visea(ea_t ea)
Is an address the first visible address?
idaman void ida_export add_byte(ea_t ea, uint32 value)
Add a value to one byte of the program.
idaman int ida_export get_custom_data_types(intvec_t *out, asize_t min_size=0, asize_t max_size=BADADDR)
Get list of registered custom data type ids.
ea_t idaapi next_inited(ea_t ea, ea_t maxea)
Find the next initialized address.
Definition bytes.hpp:2427
idaman ea_t ida_export next_chunk(ea_t ea)
Get the first address of next contiguous chunk in the program.
idaman ea_t ida_export next_that(ea_t ea, ea_t maxea, testf_t *testf, void *ud=nullptr)
Find next address with a flag satisfying the function 'testf'.
idaman int ida_export nbits(ea_t ea)
Get number of bits in a byte at the given address.
idaman hidden_range_t *ida_export getn_hidden_range(int n)
Get pointer to hidden range structure, in: number of hidden range.
idaman uint32 ida_export get_dword(ea_t ea)
Get one dword (32-bit) of the program at 'ea'.
idaman bool ida_export unregister_custom_data_format(int dfid)
Unregister a data format.
idaman bool ida_export set_opinfo(ea_t ea, int n, flags64_t flag, const opinfo_t *ti, bool suppress_events=false)
Set additional information about an operand representation.
bool idaapi may_destroy_cb_t(ea_t)
del_items' callback function
Definition bytes.hpp:817
idaman uint64 ida_export get_wide_byte(ea_t ea)
Get one wide byte of the program at 'ea'.
idaman ea_t ida_export next_head(ea_t ea, ea_t maxea)
Get start of next defined item.
bool idaapi testf_t(flags64_t flags, void *ud)
Flag tester - see next_that(), prev_that()
Definition bytes.hpp:109
idaman ea_t ida_export find_free_chunk(ea_t start, asize_t size, asize_t alignment)
Search for a hole in the addressing space of the program.
idaman void ida_export set_manual_insn(ea_t ea, const char *manual_insn)
Set manual instruction string.
idaman void ida_export del_value(ea_t ea)
Delete byte value from flags.
idaman bool ida_export is_loaded(ea_t ea)
Does the specified address have a byte value (is initialized?)
idaman uint64 ida_export get_original_dword(ea_t ea)
Get original dword (that was before patching) This function works for wide byte processors too.
idaman int ida_export find_custom_data_format(const char *name)
Get id of a custom data format.
idaman ea_t ida_export find_byter(ea_t sEA, asize_t size, uchar value, int bin_search_flags)
Find reverse a byte with the specified value (only 8-bit value from the database).
idaman flags64_t ida_export get_flags_ex(ea_t ea, int how)
Get flags for the specified address, extended form.
idaman ea_t ida_export next_not_tail(ea_t ea)
Get address of next non-tail byte.
idaman int ida_export visit_patched_bytes(ea_t ea1, ea_t ea2, int(idaapi *cb)(ea_t ea, qoff64_t fpos, uint64 o, uint64 v, void *ud), void *ud=nullptr)
Visit all the patched bytes one byte at a time.
idaman ssize_t ida_export get_predef_insn_cmt(qstring *buf, const insn_t &ins)
Get predefined comment.
idaman bool ida_export revert_byte(ea_t ea)
Revert patched byte.
asize_t get_full_data_elsize(ea_t ea, flags64_t F, const opinfo_t *ti=nullptr)
Get full size of data type specified in flags 'F'.
Definition bytes.hpp:1880
idaman error_t ida_export change_storage_type(ea_t start_ea, ea_t end_ea, storage_type_t stt)
Change flag storage type for address range.
idaman void ida_export del_mapping(ea_t ea)
Delete memory mapping range.
bool is_last_visea(ea_t ea)
Is an address the last visible address?
idaman ea_t ida_export prev_chunk(ea_t ea)
Get the last address of previous contiguous chunk in the program.
idaman uint64 ida_export get_wide_word(ea_t ea)
Get one wide word (2 'byte') of the program at 'ea'.
idaman uint64 ida_export get_original_word(ea_t ea)
Get original word value (that was before patching).
Vector of bytes (use for dynamic memory)
Definition pro.h:3773
bytevec_t & append(const void *buf, size_t sz)
Append bytes to the bytevec.
Definition pro.h:3782
Reimplementation of vector class from STL.
Definition pro.h:2250
void push_back(T &&x)
Append a new element to the end the qvector with a move semantics.
Definition pro.h:2361
Primary mechanism for managing type information.
Definition typeinf.hpp:3046
THREAD_SAFE bool idaapi is_func(flags64_t F)
Is function start?
Definition bytes.hpp:1969
THREAD_SAFE bool idaapi has_immd(flags64_t F)
Has immediate value?
Definition bytes.hpp:1964
idaman bool ida_export set_immd(ea_t ea)
Set 'has immediate operand' flag.
idaman flags64_t ida_export get_flags_by_size(size_t size)
Get flags from size (in bytes).
constexpr flags64_t idaapi align_flag(void)
Get a flags64_t representing an alignment directive.
Definition bytes.hpp:1505
THREAD_SAFE constexpr bool idaapi is_struct(flags64_t F)
FF_STRUCT
Definition bytes.hpp:1522
THREAD_SAFE constexpr bool idaapi is_float(flags64_t F)
FF_FLOAT
Definition bytes.hpp:1518
constexpr flags64_t idaapi word_flag(void)
Get a flags64_t representing a word.
Definition bytes.hpp:1495
THREAD_SAFE constexpr bool idaapi is_custom(flags64_t F)
FF_CUSTOM
Definition bytes.hpp:1524
THREAD_SAFE constexpr bool idaapi f_is_strlit(flags64_t F, void *)
See is_strlit()
Definition bytes.hpp:1536
constexpr flags64_t idaapi cust_flag(void)
Get a flags64_t representing custom type data.
Definition bytes.hpp:1504
THREAD_SAFE constexpr bool idaapi is_oword(flags64_t F)
FF_OWORD
Definition bytes.hpp:1514
THREAD_SAFE constexpr bool idaapi is_pack_real(flags64_t F)
FF_PACKREAL
Definition bytes.hpp:1520
THREAD_SAFE constexpr bool idaapi is_yword(flags64_t F)
FF_YWORD
Definition bytes.hpp:1515
THREAD_SAFE constexpr bool idaapi is_double(flags64_t F)
FF_DOUBLE
Definition bytes.hpp:1519
THREAD_SAFE constexpr bool idaapi f_is_qword(flags64_t F, void *)
See is_qword()
Definition bytes.hpp:1529
THREAD_SAFE constexpr bool idaapi is_word(flags64_t F)
FF_WORD
Definition bytes.hpp:1511
constexpr flags64_t idaapi dword_flag(void)
Get a flags64_t representing a double word.
Definition bytes.hpp:1496
THREAD_SAFE constexpr bool idaapi f_is_tbyte(flags64_t F, void *)
See is_tbyte()
Definition bytes.hpp:1532
constexpr flags64_t idaapi tbyte_flag(void)
Get a flags64_t representing a tbyte.
Definition bytes.hpp:1501
THREAD_SAFE constexpr bool idaapi is_tbyte(flags64_t F)
FF_TBYTE
Definition bytes.hpp:1517
THREAD_SAFE constexpr bool idaapi f_is_oword(flags64_t F, void *)
See is_oword()
Definition bytes.hpp:1530
constexpr flags64_t idaapi byte_flag(void)
Get a flags64_t representing a byte.
Definition bytes.hpp:1494
THREAD_SAFE constexpr bool idaapi is_zword(flags64_t F)
FF_ZWORD
Definition bytes.hpp:1516
THREAD_SAFE constexpr bool idaapi f_is_double(flags64_t F, void *)
See is_double()
Definition bytes.hpp:1534
THREAD_SAFE constexpr bool idaapi f_is_word(flags64_t F, void *)
See is_word()
Definition bytes.hpp:1527
constexpr flags64_t idaapi qword_flag(void)
Get a flags64_t representing a quad word.
Definition bytes.hpp:1497
THREAD_SAFE constexpr bool idaapi is_qword(flags64_t F)
FF_QWORD
Definition bytes.hpp:1513
constexpr flags64_t idaapi packreal_flag(void)
Get a flags64_t representing a packed decimal real.
Definition bytes.hpp:1508
constexpr flags64_t idaapi stru_flag(void)
Get a flags64_t representing a struct.
Definition bytes.hpp:1503
constexpr flags64_t idaapi float_flag(void)
Get a flags64_t representing a float.
Definition bytes.hpp:1506
THREAD_SAFE constexpr bool idaapi f_is_dword(flags64_t F, void *)
See is_dword()
Definition bytes.hpp:1528
THREAD_SAFE constexpr bool idaapi f_is_float(flags64_t F, void *)
See is_float()
Definition bytes.hpp:1533
constexpr flags64_t idaapi yword_flag(void)
Get a flags64_t representing a ymm word.
Definition bytes.hpp:1499
constexpr flags64_t idaapi zword_flag(void)
Get a flags64_t representing a zmm word.
Definition bytes.hpp:1500
THREAD_SAFE constexpr bool idaapi is_strlit(flags64_t F)
FF_STRLIT
Definition bytes.hpp:1521
THREAD_SAFE constexpr bool idaapi f_is_struct(flags64_t F, void *)
See is_struct()
Definition bytes.hpp:1537
THREAD_SAFE constexpr bool idaapi f_is_custom(flags64_t F, void *)
See is_custom()
Definition bytes.hpp:1539
constexpr flags64_t idaapi oword_flag(void)
Get a flags64_t representing a octaword.
Definition bytes.hpp:1498
constexpr flags64_t idaapi code_flag(void)
FF_CODE
Definition bytes.hpp:1493
THREAD_SAFE constexpr bool idaapi is_dword(flags64_t F)
FF_DWORD
Definition bytes.hpp:1512
THREAD_SAFE constexpr bool idaapi is_same_data_type(flags64_t F1, flags64_t F2)
Do the given flags specify the same data type?
Definition bytes.hpp:1544
constexpr flags64_t idaapi double_flag(void)
Get a flags64_t representing a double.
Definition bytes.hpp:1507
THREAD_SAFE constexpr bool idaapi is_align(flags64_t F)
FF_ALIGN
Definition bytes.hpp:1523
THREAD_SAFE constexpr bool idaapi f_is_align(flags64_t F, void *)
See is_align()
Definition bytes.hpp:1538
THREAD_SAFE constexpr bool idaapi f_is_byte(flags64_t F, void *)
See is_byte()
Definition bytes.hpp:1526
THREAD_SAFE constexpr bool idaapi f_is_pack_real(flags64_t F, void *)
See is_pack_real()
Definition bytes.hpp:1535
THREAD_SAFE constexpr bool idaapi f_is_yword(flags64_t F, void *)
See is_yword()
Definition bytes.hpp:1531
THREAD_SAFE constexpr bool idaapi is_byte(flags64_t F)
FF_BYTE
Definition bytes.hpp:1510
constexpr flags64_t idaapi strlit_flag(void)
Get a flags64_t representing a string literal.
Definition bytes.hpp:1502
bool idaapi create_word(ea_t ea, asize_t length, bool force=false)
Convert to word.
Definition bytes.hpp:1587
idaman bool ida_export create_data(ea_t ea, flags64_t dataflag, asize_t size, tid_t tid)
Convert to data (byte, word, dword, etc).
bool idaapi create_struct(ea_t ea, asize_t length, tid_t tid, bool force=false)
Convert to struct.
Definition bytes.hpp:1637
bool idaapi create_yword(ea_t ea, asize_t length, bool force=false)
Convert to ymm word.
Definition bytes.hpp:1607
idaman int ida_export calc_def_align(ea_t ea, int mina, int maxa)
Calculate the default alignment exponent.
idaman int ida_export calc_min_align(asize_t length)
Calculate the minimal possible alignment exponent.
idaman bool ida_export create_align(ea_t ea, asize_t length, int alignment)
Create an alignment item.
bool idaapi create_qword(ea_t ea, asize_t length, bool force=false)
Convert to quadword.
Definition bytes.hpp:1597
bool idaapi create_double(ea_t ea, asize_t length, bool force=false)
Convert to double.
Definition bytes.hpp:1627
THREAD_SAFE flags64_t idaapi calc_dflags(flags64_t f, bool force)
Definition bytes.hpp:1580
bool idaapi create_byte(ea_t ea, asize_t length, bool force=false)
Convert to byte.
Definition bytes.hpp:1582
bool idaapi create_dword(ea_t ea, asize_t length, bool force=false)
Convert to dword.
Definition bytes.hpp:1592
bool idaapi create_oword(ea_t ea, asize_t length, bool force=false)
Convert to octaword/xmm word.
Definition bytes.hpp:1602
bool idaapi create_float(ea_t ea, asize_t length, bool force=false)
Convert to float.
Definition bytes.hpp:1622
idaman int ida_export calc_max_align(ea_t endea)
Calculate the maximal possible alignment exponent.
bool idaapi create_packed_real(ea_t ea, asize_t length, bool force=false)
Convert to packed decimal real.
Definition bytes.hpp:1632
bool idaapi create_custdata(ea_t ea, asize_t length, int dtid, int fid, bool force=false)
Convert to custom data type.
Definition bytes.hpp:1642
bool idaapi create_zword(ea_t ea, asize_t length, bool force=false)
Convert to zmm word.
Definition bytes.hpp:1612
idaman bool ida_export create_32bit_data(ea_t ea, asize_t length)
Convert to 32-bit quantity (take the byte size into account)
idaman bool ida_export create_16bit_data(ea_t ea, asize_t length)
Convert to 16-bit quantity (take the byte size into account)
bool idaapi create_tbyte(ea_t ea, asize_t length, bool force=false)
Convert to tbyte.
Definition bytes.hpp:1617
idaman bool ida_export op_stroff(const insn_t &insn, int n, const tid_t *path, int path_len, adiff_t delta)
Set operand representation to be 'struct offset'.
idaman int ida_export get_stroff_path(tid_t *path, adiff_t *delta, ea_t ea, int n)
Get struct path of operand.
idaman int ida_export get_radix(flags64_t F, int n)
Get radix of the operand, in: flags.
idaman ssize_t ida_export get_forced_operand(qstring *buf, ea_t ea, int n)
Get forced operand.
idaman bool ida_export op_based_stroff(const insn_t &insn, int n, adiff_t opval, ea_t base)
Set operand representation to be 'struct offset' if the operand likely points to a structure member.
constexpr flags64_t idaapi combine_flags(flags64_t F)
Definition bytes.hpp:1385
idaman bool ida_export set_forced_operand(ea_t ea, int n, const char *op)
Set forced operand.
idaman bool ida_export is_forced_operand(ea_t ea, int n)
Is operand manually defined?
constexpr flags64_t get_operand_flag(uint8 typebits, int n)
Place operand n's type flag in the right nibble of a 64-bit flags set.
Definition bytes.hpp:1087
idaman bool ida_export set_op_type(ea_t ea, flags64_t type, int n)
(internal function) change representation of operand(s).
idaman bool ida_export op_adds_xrefs(flags64_t F, int n)
Should processor module create xrefs from the operand?
constexpr bool is_flag_for_operand(flags64_t F, uint8 typebits, int n)
Check that the 64-bit flags set has the expected type for operand n.
Definition bytes.hpp:1100
idaman bool ida_export op_stkvar(ea_t ea, int n)
Set operand representation to be 'stack variable'.
idaman bool ida_export clr_op_type(ea_t ea, int n)
Remove operand representation information.
idaman int ida_export get_default_radix(void)
Get default base of number for the current processor.
idaman bool ida_export op_enum(ea_t ea, int n, tid_t id, uchar serial=0)
Set operand representation to be enum type If applied to unexplored bytes, converts them to 16/32bit ...
idaman bool ida_export op_seg(ea_t ea, int n)
Set operand representation to be 'segment'.
idaman bool ida_export op_custfmt(ea_t ea, int n, int fid)
Set custom data format for operand (fid-custom data format id)
idaman tid_t ida_export get_enum_id(uchar *serial, ea_t ea, int n)
Get enum id of 'enum' operand.
constexpr int get_operand_type_shift(uint32 n)
Get the shift in flags64_t for the nibble representing operand n's type.
Definition bytes.hpp:1075
THREAD_SAFE constexpr bool idaapi is_custfmt0(flags64_t F)
Does the first operand use a custom data representation?
Definition bytes.hpp:1190
THREAD_SAFE constexpr bool idaapi is_stkvar1(flags64_t F)
Is the second operand a stack variable?
Definition bytes.hpp:1175
THREAD_SAFE constexpr bool idaapi is_custfmt1(flags64_t F)
Does the second operand use a custom data representation?
Definition bytes.hpp:1195
THREAD_SAFE constexpr bool idaapi is_enum1(flags64_t F)
Is the second operand a symbolic constant (enum member)?
Definition bytes.hpp:1155
THREAD_SAFE constexpr bool idaapi is_defarg1(flags64_t F)
Is the second operand defined? Initially operand has no defined representation.
Definition bytes.hpp:1115
idaman bool ida_export is_numop0(flags64_t F)
Is the first operand a number (i.e. binary, octal, decimal or hex?)
THREAD_SAFE constexpr bool idaapi is_off0(flags64_t F)
Is the first operand offset? (example: push offset xxx)
Definition bytes.hpp:1120
THREAD_SAFE constexpr bool idaapi is_stroff1(flags64_t F)
Is the second operand an offset within a struct?
Definition bytes.hpp:1165
THREAD_SAFE constexpr bool idaapi is_float0(flags64_t F)
Is the first operand a floating point number?
Definition bytes.hpp:1180
THREAD_SAFE constexpr bool idaapi is_stroff0(flags64_t F)
Is the first operand an offset within a struct?
Definition bytes.hpp:1160
THREAD_SAFE constexpr flags64_t get_optype_flags1(flags64_t F)
Get flags for second operand.
Definition bytes.hpp:1215
THREAD_SAFE constexpr bool idaapi is_stkvar0(flags64_t F)
Is the first operand a stack variable?
Definition bytes.hpp:1170
idaman bool ida_export is_numop1(flags64_t F)
Is the second operand a number (i.e. binary, octal, decimal or hex?)
THREAD_SAFE constexpr bool idaapi is_defarg0(flags64_t F)
Is the first operand defined? Initially operand has no defined representation.
Definition bytes.hpp:1110
THREAD_SAFE constexpr flags64_t get_optype_flags0(flags64_t F)
Get flags for first operand.
Definition bytes.hpp:1210
THREAD_SAFE constexpr bool idaapi is_float1(flags64_t F)
Is the second operand a floating point number?
Definition bytes.hpp:1185
THREAD_SAFE constexpr bool idaapi is_char1(flags64_t F)
Is the second operand character constant? (example: mov al, 'a')
Definition bytes.hpp:1135
THREAD_SAFE constexpr bool idaapi is_seg1(flags64_t F)
Is the second operand segment selector? (example: mov dx, seg dseg)
Definition bytes.hpp:1145
THREAD_SAFE constexpr bool idaapi is_off1(flags64_t F)
Is the second operand offset? (example: mov ax, offset xxx)
Definition bytes.hpp:1125
THREAD_SAFE constexpr bool idaapi is_seg0(flags64_t F)
Is the first operand segment selector? (example: push seg seg001)
Definition bytes.hpp:1140
THREAD_SAFE constexpr bool idaapi is_enum0(flags64_t F)
Is the first operand a symbolic constant (enum member)?
Definition bytes.hpp:1150
THREAD_SAFE constexpr bool idaapi is_char0(flags64_t F)
Is the first operand character constant? (example: push 'a')
Definition bytes.hpp:1130
idaman bool ida_export is_enum(flags64_t F, int n)
is enum?
idaman bool ida_export is_defarg(flags64_t F, int n)
is defined?
idaman bool ida_export is_stroff(flags64_t F, int n)
is struct offset?
idaman bool ida_export is_seg(flags64_t F, int n)
is segment?
idaman bool ida_export is_manual(flags64_t F, int n)
is forced operand? (use is_forced_operand())
idaman bool ida_export is_off(flags64_t F, int n)
is offset?
idaman bool ida_export is_stkvar(flags64_t F, int n)
is stack variable?
idaman bool ida_export is_numop(flags64_t F, int n)
is number (bin, oct, dec, hex)?
idaman bool ida_export is_suspop(ea_t ea, flags64_t F, int n)
is suspicious operand?
idaman bool ida_export is_char(flags64_t F, int n)
is character constant?
idaman bool ida_export is_fltnum(flags64_t F, int n)
is floating point number?
idaman bool ida_export is_custfmt(flags64_t F, int n)
is custom data format?
constexpr flags64_t idaapi flt_flag(void)
see FF_opbits
Definition bytes.hpp:1407
constexpr flags64_t idaapi enum_flag(void)
see FF_opbits
Definition bytes.hpp:1404
constexpr flags64_t idaapi custfmt_flag(void)
see FF_opbits
Definition bytes.hpp:1408
constexpr flags64_t idaapi seg_flag(void)
see FF_opbits
Definition bytes.hpp:1409
constexpr flags64_t idaapi stroff_flag(void)
see FF_opbits
Definition bytes.hpp:1405
constexpr flags64_t idaapi off_flag(void)
see FF_opbits
Definition bytes.hpp:1403
constexpr flags64_t idaapi hex_flag(void)
Get number flag of the base, regardless of current processor - better to use num_flag()
Definition bytes.hpp:1413
constexpr flags64_t idaapi bin_flag(void)
Get number flag of the base, regardless of current processor - better to use num_flag()
Definition bytes.hpp:1416
idaman flags64_t ida_export num_flag(void)
Get number of default base (bin, oct, dec, hex)
constexpr flags64_t idaapi oct_flag(void)
Get number flag of the base, regardless of current processor - better to use num_flag()
Definition bytes.hpp:1415
constexpr flags64_t idaapi dec_flag(void)
Get number flag of the base, regardless of current processor - better to use num_flag()
Definition bytes.hpp:1414
constexpr flags64_t idaapi char_flag(void)
see FF_opbits
Definition bytes.hpp:1402
constexpr flags64_t idaapi stkvar_flag(void)
see FF_opbits
Definition bytes.hpp:1406
bool idaapi op_oct(ea_t ea, int n)
set op type to oct_flag()
Definition bytes.hpp:1434
bool idaapi op_hex(ea_t ea, int n)
set op type to hex_flag()
Definition bytes.hpp:1432
bool idaapi op_num(ea_t ea, int n)
set op type to num_flag()
Definition bytes.hpp:1431
bool idaapi op_dec(ea_t ea, int n)
set op type to dec_flag()
Definition bytes.hpp:1433
bool idaapi op_flt(ea_t ea, int n)
set op type to flt_flag()
Definition bytes.hpp:1436
bool idaapi op_chr(ea_t ea, int n)
set op type to char_flag()
Definition bytes.hpp:1430
bool idaapi op_bin(ea_t ea, int n)
set op type to bin_flag()
Definition bytes.hpp:1435
THREAD_SAFE constexpr bool idaapi is_tail(flags64_t F)
Does flag denote tail byte?
Definition bytes.hpp:797
THREAD_SAFE constexpr bool idaapi f_is_head(flags64_t F, void *)
Does flag denote start of instruction OR data?
Definition bytes.hpp:811
THREAD_SAFE constexpr bool idaapi f_is_tail(flags64_t F, void *)
Does flag denote tail byte?
Definition bytes.hpp:798
THREAD_SAFE constexpr bool idaapi is_head(flags64_t F)
Does flag denote start of instruction OR data?
Definition bytes.hpp:810
THREAD_SAFE constexpr bool idaapi is_not_tail(flags64_t F)
Does flag denote tail byte?
Definition bytes.hpp:799
THREAD_SAFE constexpr bool idaapi is_data(flags64_t F)
Does flag denote start of data?
Definition bytes.hpp:791
THREAD_SAFE constexpr bool idaapi f_is_data(flags64_t F, void *)
Does flag denote start of data?
Definition bytes.hpp:792
THREAD_SAFE constexpr bool idaapi f_is_code(flags64_t F, void *)
Does flag denote start of an instruction?
Definition bytes.hpp:786
THREAD_SAFE constexpr bool idaapi is_unknown(flags64_t F)
Does flag denote unexplored byte?
Definition bytes.hpp:805
THREAD_SAFE constexpr bool idaapi is_code(flags64_t F)
Does flag denote start of an instruction?
Definition bytes.hpp:785
THREAD_SAFE constexpr bool idaapi f_is_not_tail(flags64_t F, void *)
Does flag denote tail byte?
Definition bytes.hpp:800
THREAD_SAFE constexpr bool idaapi has_auto_name(flags64_t F)
Does the current byte have auto-generated (no special prefix) name?
Definition bytes.hpp:949
idaman bool ida_export is_bnot(ea_t ea, flags64_t F, int n)
Should we negate the operand?
idaman bool ida_export is_lzero(ea_t ea, int n)
Display leading zeroes?
THREAD_SAFE constexpr bool idaapi has_dummy_name(flags64_t F)
Does the current byte have dummy (auto-generated, with special prefix) name?
Definition bytes.hpp:943
THREAD_SAFE constexpr bool idaapi has_cmt(flags64_t F)
Does the current byte have an indented comment?
Definition bytes.hpp:923
THREAD_SAFE constexpr bool idaapi f_has_xref(flags64_t f, void *)
Does the current byte have cross-references to it?
Definition bytes.hpp:929
idaman bool ida_export toggle_bnot(ea_t ea, int n)
Toggle binary negation of operand. also see is_bnot()
THREAD_SAFE constexpr bool idaapi f_has_cmt(flags64_t f, void *)
Definition bytes.hpp:924
bool idaapi toggle_lzero(ea_t ea, int n)
Toggle lzero bit.
Definition bytes.hpp:1027
THREAD_SAFE constexpr bool idaapi f_has_name(flags64_t f, void *)
Does the current byte have non-trivial (non-dummy) name?
Definition bytes.hpp:935
THREAD_SAFE constexpr bool idaapi is_flow(flags64_t F)
Does the previous instruction exist and pass execution flow to the current byte?
Definition bytes.hpp:913
THREAD_SAFE constexpr bool idaapi f_has_extra_cmts(flags64_t f, void *)
Definition bytes.hpp:919
THREAD_SAFE constexpr bool idaapi has_user_name(flags64_t F)
Does the current byte have user-specified name?
Definition bytes.hpp:959
THREAD_SAFE constexpr bool idaapi has_name(flags64_t F)
Does the current byte have non-trivial (non-dummy) name?
Definition bytes.hpp:934
THREAD_SAFE constexpr bool idaapi f_has_dummy_name(flags64_t f, void *)
Does the current byte have dummy (auto-generated, with special prefix) name?
Definition bytes.hpp:944
idaman bool ida_export set_lzero(ea_t ea, int n)
Set toggle lzero bit.
THREAD_SAFE constexpr bool idaapi has_any_name(flags64_t F)
Does the current byte have any name?
Definition bytes.hpp:954
idaman bool ida_export is_invsign(ea_t ea, flags64_t F, int n)
Should sign of n-th operand inverted during output?
THREAD_SAFE constexpr bool idaapi f_has_user_name(flags64_t F, void *)
Does the current byte have user-specified name?
Definition bytes.hpp:960
THREAD_SAFE constexpr bool idaapi has_xref(flags64_t F)
Does the current byte have cross-references to it?
Definition bytes.hpp:928
THREAD_SAFE constexpr bool idaapi has_extra_cmts(flags64_t F)
Does the current byte have additional anterior or posterior lines?
Definition bytes.hpp:918
idaman bool ida_export toggle_sign(ea_t ea, int n)
Toggle sign of n-th operand.
idaman bool ida_export clr_lzero(ea_t ea, int n)
Clear toggle lzero bit.
idaman const char * end
Definition pro.h:1001
idaman size_t n
Definition pro.h:997
const tinfo_t & type
Definition hexrays.hpp:7301
storage_type_t
Storage types for flag bits.
Definition ida.hpp:99
bool inf_is_wide_high_byte_first(void)
Definition ida.hpp:641
int nbytes
Definition kernwin.hpp:2861
uval_t uval_t
Definition kernwin.hpp:1878
idaman size_t len
Definition kernwin.hpp:1356
asize_t size
Definition kernwin.hpp:6339
size_t max_size
Definition kernwin.hpp:7958
High level functions that deal with the generation of the disassembled text lines.
unsigned __int64 uint64
Definition llong.hpp:13
Definitions of various information kept in netnodes.
unsigned int uint32
unsigned 32 bit value
Definition pro.h:348
qvector< int > intvec_t
vector of integers
Definition pro.h:2765
uint64 asize_t
Definition pro.h:423
uint32 bgcolor_t
background color in RGB
Definition pro.h:5012
int64 adiff_t
Definition pro.h:424
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 size_t bufsize
Definition pro.h:600
int error_t
Error code (errno)
Definition pro.h:458
INLINE THREAD_SAFE int ida_local qtoupper(char c)
Get uppercase equivalent of given char.
Definition pro.h:952
uint64 flags64_t
64-bit flags for each address
Definition pro.h:5009
ptrdiff_t ssize_t
Signed size_t - used to check for size overflows when the counter becomes negative.
Definition pro.h:381
unsigned short ushort
unsigned 16 bit value
Definition pro.h:338
ea_t tid_t
type id (for enums, structs, etc)
Definition pro.h:5010
unsigned char uint8
unsigned 8 bit value
Definition pro.h:344
_qstring< char > qstring
regular string
Definition pro.h:3694
Contains the definition of range_t.
Definition bytes.hpp:2308
rangevec_t strlits
Definition bytes.hpp:2311
bytevec_t mask
Definition bytes.hpp:2310
bytevec_t bytes
Definition bytes.hpp:2309
bool operator==(const compiled_binpat_t &r) const
Definition bytes.hpp:2318
void qclear()
Definition bytes.hpp:2316
bool all_bytes_defined() const
Definition bytes.hpp:2315
compiled_binpat_t()
Definition bytes.hpp:2314
int encidx
Definition bytes.hpp:2312
bool operator!=(const compiled_binpat_t &r) const
Definition bytes.hpp:2325
Information about a data type.
Definition bytes.hpp:1987
asize_t(idaapi *calc_item_size)(void *ud
This function is used to determine size of the (possible) item at 'ea'.
const char * asm_keyword
keyword to use for this type in the assembly if nullptr, the data type cannot be used in the listing ...
Definition bytes.hpp:1997
ea_t asize_t maxsize
Definition bytes.hpp:2024
int cbsize
size of this structure
Definition bytes.hpp:1988
const char * menu_name
Visible data type name to use in menus if nullptr, no menu item will be created.
Definition bytes.hpp:1993
ea_t ea
Definition bytes.hpp:2012
bool is_present_in_menus() const
Should this type be shown in UI menus.
Definition bytes.hpp:2004
DECLARE_COMPARISONS(data_type_t)
bool(idaapi *may_create_at)(void *ud
May create data?
void * ud
user-defined data to be passed to callbacks
Definition bytes.hpp:1989
int props
properties
Definition bytes.hpp:1990
const char * hotkey
Hotkey for the corresponding menu item if nullptr, no hotkey will be associated with the menu item.
Definition bytes.hpp:1995
ea_t size_t nbytes
Definition bytes.hpp:2013
asize_t value_size
size of the value in bytes
Definition bytes.hpp:2000
const char * name
name of the data type. must be unique
Definition bytes.hpp:1992
Hidden ranges - address ranges which can be replaced by their descriptions.
Definition bytes.hpp:2517
char * footer
footer lines to display if the range is expanded
Definition bytes.hpp:2520
bool visible
the range state
Definition bytes.hpp:2521
bgcolor_t color
range color
Definition bytes.hpp:2522
char * header
header lines to display if the range is expanded
Definition bytes.hpp:2519
char * description
description to display if the range is collapsed
Definition bytes.hpp:2518
Get 8 bits of the program at 'ea'.
Definition bytes.hpp:454
bool high_byte_first
Definition bytes.hpp:458
octet_generator_t(ea_t _ea)
Definition bytes.hpp:459
void invert_byte_order()
Definition bytes.hpp:460
DECLARE_COMPARISONS(octet_generator_t)
Definition bytes.hpp:462
ea_t ea
Definition bytes.hpp:456
uint64 value
Definition bytes.hpp:455
int avail_bits
Definition bytes.hpp:457
Base class for an range.
Definition range.hpp:35
range_t(ea_t ea1=0, ea_t ea2=0)
Definition range.hpp:39
Vector of range_t instances.
Definition range.hpp:93
Information about a reference.
Definition nalt.hpp:1010
Additional information about an operand type.
Definition nalt.hpp:1244