Functions that deal with names.
A non-tail address of the program may have a name. Tail addresses (i.e. the addresses in the middle of an instruction or data item) cannot have names.
|
idaman bool ida_export | set_name (ea_t ea, const char *name, int flags=0) |
| Set or delete name of an item at the specified address. More...
|
|
bool | force_name (ea_t ea, const char *name, int flags=0) |
|
idaman bool ida_export | set_dummy_name (ea_t from, ea_t ea) |
| Give an autogenerated (dummy) name. More...
|
|
idaman bool ida_export | validate_name (qstring *name, nametype_t type, int flags=SN_NOCHECK) |
| Validate a name. More...
|
|
idaman bool ida_export | is_valid_cp (wchar32_t cp, nametype_t kind, void *data=nullptr) |
| Is the given codepoint acceptable in the given context?
|
|
idaman void ida_export | set_cp_validity (ucdr_kind_t kind, wchar32_t cp, wchar32_t endcp=BADCP, bool valid=true) |
| Mark the given codepoint (or range) as acceptable or unacceptable in the given context If 'endcp' is not BADCP, it is considered to be the end of the range: [cp, endcp), and is not included in the range.
|
|
idaman bool ida_export | get_cp_validity (ucdr_kind_t kind, wchar32_t cp, wchar32_t endcp=BADCP) |
| Is the given codepoint (or range) acceptable in the given context? If 'endcp' is not BADCP, it is considered to be the end of the range: [cp, endcp), and is not included in the range.
|
|
bool | is_ident_cp (wchar32_t cp) |
| Can a character appear in a name? (present in ::NameChars or ::MangleChars)
|
|
bool | is_strlit_cp (wchar32_t cp, const rangeset_crefvec_t *specific_ranges=nullptr) |
| Can a character appear in a string literal (present in ::StrlitChars) If 'specific_ranges' are specified, those will be used instead of the ones corresponding to the current culture (only if ::StrlitChars is configured to use the current culture)
|
|
bool | is_visible_cp (wchar32_t cp) |
| Can a character be displayed in a name? (present in ::NameChars)
|
|
idaman bool ida_export | is_ident (const char *name) |
| Is a valid name? (including ::MangleChars)
|
|
idaman bool ida_export | is_uname (const char *name) |
| Is valid user-specified name? (valid name & !dummy prefix). More...
|
|
idaman bool ida_export | is_valid_typename (const char *name) |
| Is valid type name? More...
|
|
idaman ea_t ida_export | dummy_name_ea (const char *name) |
| Is dummy name? More...
|
|
idaman ssize_t ida_export | extract_name (qstring *out, const char *line, int x) |
| Extract a name or address from the specified string. More...
|
|
idaman void ida_export | hide_name (ea_t ea) |
| Remove name from the list of names. More...
|
|
idaman void ida_export | show_name (ea_t ea) |
| Insert name to the list of names.
|
|
idaman ea_t ida_export | get_name_ea (ea_t from, const char *name) |
| Get the address of a name. More...
|
|
idaman ea_t ida_export | get_name_base_ea (ea_t from, ea_t to) |
| Get address of the name used in the expression for the address. More...
|
|
idaman int ida_export | get_name_value (uval_t *value, ea_t from, const char *name) |
| Get value of the name. More...
|
|
idaman ssize_t ida_export | get_ea_name (qstring *out, ea_t ea, int gtn_flags=0, getname_info_t *gtni=nullptr) |
| Get name at the specified address. More...
|
|
ssize_t | get_name (qstring *out, ea_t ea, int gtn_flags=0) |
|
ssize_t idaapi | get_visible_name (qstring *out, ea_t ea, int gtn_flags=0) |
|
ssize_t idaapi | get_colored_name (qstring *out, ea_t ea, int gtn_flags=0) |
|
ssize_t idaapi | get_short_name (qstring *out, ea_t ea, int gtn_flags=0) |
|
ssize_t idaapi | get_long_name (qstring *out, ea_t ea, int gtn_flags=0) |
|
ssize_t idaapi | get_colored_short_name (qstring *out, ea_t ea, int gtn_flags=0) |
|
ssize_t idaapi | get_colored_long_name (qstring *out, ea_t ea, int gtn_flags=0) |
|
ssize_t idaapi | get_demangled_name (qstring *out, ea_t ea, int32 inhibitor, int demform, int gtn_flags=0) |
|
ssize_t idaapi | get_colored_demangled_name (qstring *out, ea_t ea, int32 inhibitor, int demform, int gtn_flags=0) |
|
qstring | get_name (ea_t ea, int gtn_flags=0) |
|
qstring | get_visible_name (ea_t ea, int gtn_flags=0) |
|
qstring idaapi | get_colored_name (ea_t ea, int gtn_flags=0) |
|
qstring idaapi | get_short_name (ea_t ea, int gtn_flags=0) |
|
qstring idaapi | get_long_name (ea_t ea, int gtn_flags=0) |
|
qstring idaapi | get_colored_short_name (ea_t ea, int gtn_flags=0) |
|
qstring idaapi | get_colored_long_name (ea_t ea, int gtn_flags=0) |
|
qstring idaapi | get_demangled_name (ea_t ea, int32 inhibitor, int demform, int gtn_flags=0) |
|
qstring idaapi | get_colored_demangled_name (ea_t ea, int32 inhibitor, int demform, int gtn_flags=0) |
|
idaman color_t ida_export | get_name_color (ea_t from, ea_t ea) |
| Calculate flags for get_ea_name() function. More...
|
|
idaman ssize_t ida_export | get_name_expr (qstring *out, ea_t from, int n, ea_t ea, uval_t off, int flags=GETN_APPZERO) |
| Convert address to name expression (name with a displacement). More...
|
|
idaman ssize_t ida_export | get_nice_colored_name (qstring *buf, ea_t ea, int flags=0) |
| Get a nice colored name at the specified address. More...
|
|
idaman flags64_t ida_export | append_struct_fields (qstring *out, adiff_t *disp, int n, const tid_t *path, int plen, flags64_t flags, adiff_t delta, bool appzero) |
| Append names of struct fields to a name if the name is a struct name. More...
|
|
idaman int ida_export | get_struct_operand (adiff_t *disp, adiff_t *delta, tid_t *path, ea_t ea, int n) |
| Get offset within a structure if the operand refers to structure. More...
|
|
idaman void ida_export | reorder_dummy_names (void) |
| Renumber dummy names.
|
|
idaman int32 ida_export | demangle_name (qstring *out, const char *name, uint32 disable_mask, demreq_type_t demreq=DQT_FULL) |
| Demangle a name. More...
|
|
qstring idaapi | demangle_name (const char *name, uint32 disable_mask, demreq_type_t demreq=DQT_FULL) |
| Demangle a name.
|
|
int32 | detect_compiler_using_demangler (const char *name) |
|
idaman bool ida_export | is_name_defined_locally (func_t *pfn, const char *name, ignore_name_def_t ignore_name_def, ea_t ea1=BADADDR, ea_t ea2=BADADDR) |
| Is the name defined locally in the specified function? More...
|
|
idaman bool ida_export | cleanup_name (qstring *out, ea_t ea, const char *name, uint32 flags=0) |
|
|
- Parameters
-
- Return values
-
1 | ok, name is deleted |
0 | failure, invalid address |
|
bool | del_global_name (ea_t ea) |
|
bool | del_local_name (ea_t ea) |
|
|
This bit affects value of has_user_name(), has_auto_name() functions.
- Parameters
-
- Return values
-
1 | ok |
0 | no meaningful name is present at the specified address |
|
idaman bool ida_export | make_name_auto (ea_t ea) |
|
idaman bool ida_export | make_name_user (ea_t ea) |
|
|
idaman bool ida_export | is_public_name (ea_t ea) |
|
idaman void ida_export | make_name_public (ea_t ea) |
|
idaman void ida_export | make_name_non_public (ea_t ea) |
|
|
idaman bool ida_export | is_weak_name (ea_t ea) |
|
idaman void ida_export | make_name_weak (ea_t ea) |
|
idaman void ida_export | make_name_non_weak (ea_t ea) |
|
|
idaman size_t ida_export | get_nlist_size (void) |
| Get number of names in the list.
|
|
idaman size_t ida_export | get_nlist_idx (ea_t ea) |
| Get index of the name in the list. More...
|
|
idaman bool ida_export | is_in_nlist (ea_t ea) |
| Is the name included into the name list?
|
|
idaman ea_t ida_export | get_nlist_ea (size_t idx) |
| Get address from the list at 'idx'.
|
|
idaman const char *ida_export | get_nlist_name (size_t idx) |
| Get name using idx.
|
|
idaman void ida_export | rebuild_nlist (void) |
| Rebuild the name list.
|
|
|
Debug names exist during the debugging session.
The kernel does not verify them for anything and happily accepts any string as a name.
|
idaman int ida_export | set_debug_names (const ea_t *addrs, const char *const *names, int qty) |
|
idaman bool ida_export | set_debug_name (ea_t ea, const char *name) |
|
idaman ssize_t ida_export | get_debug_name (qstring *out, ea_t *ea_ptr, debug_name_how_t how) |
|
idaman void ida_export | del_debug_names (ea_t ea1, ea_t ea2) |
|
idaman ea_t ida_export | get_debug_name_ea (const char *name) |
|
idaman void ida_export | get_debug_names (ea_name_vec_t *names, ea_t ea1, ea_t ea2) |
|
|
#define | MAXNAMELEN 512 |
| Maximum length of a name in IDA (with the trailing zero)
|
|
#define | FUNC_IMPORT_PREFIX "__imp_" |
| Name prefix used by IDA for the imported functions.
|
|
#define | SN_CHECK 0x00 |
| Fail if the name contains invalid characters.
|
|
#define | SN_NOCHECK 0x01 |
| Replace invalid characters silently. More...
|
|
#define | SN_PUBLIC 0x02 |
| if set, make name public
|
|
#define | SN_NON_PUBLIC 0x04 |
| if set, make name non-public
|
|
#define | SN_WEAK 0x08 |
| if set, make name weak
|
|
#define | SN_NON_WEAK 0x10 |
| if set, make name non-weak
|
|
#define | SN_AUTO 0x20 |
| if set, make name autogenerated
|
|
#define | SN_NON_AUTO 0x40 |
| if set, make name non-autogenerated
|
|
#define | SN_NOLIST 0x80 |
| if set, exclude name from the list. More...
|
|
#define | SN_NOWARN 0x100 |
| don't display a warning if failed
|
|
#define | SN_LOCAL 0x200 |
| create local name. More...
|
|
#define | SN_IDBENC 0x400 |
| the name is given in the IDB encoding; non-ASCII bytes will be decoded accordingly. More...
|
|
#define | SN_FORCE 0x800 |
| if the specified name is already present in the database, try variations with a numerical suffix like "_123"
|
|
#define | SN_NODUMMY 0x1000 |
| automatically prepend the name with '_' if it begins with a dummy suffix such as 'sub_'. More...
|
|
#define | SN_DELTAIL 0x2000 |
| if name cannot be set because of a tail byte, delete the hindering item
|
|
#define | NT_NONE 0 |
| name doesn't exist or has no value
|
|
#define | NT_BYTE 1 |
| name is byte name (regular name)
|
|
#define | NT_LOCAL 2 |
| name is local label
|
|
#define | NT_STKVAR 3 |
| name is stack variable name
|
|
#define | NT_ENUM 4 |
| name is symbolic constant
|
|
#define | NT_ABS 5 |
| name is absolute symbol (SEG_ABSSYM)
|
|
#define | NT_SEG 6 |
| name is segment or segment register name
|
|
#define | NT_STROFF 7 |
| name is structure member
|
|
#define | NT_BMASK 8 |
| name is a bit group mask name
|
|
#define | NT_REGVAR 9 |
| name is a renamed register (*value is idx into pfn->regvars)
|
|
#define | GN_VISIBLE 0x0001 |
| replace forbidden characters by SUBSTCHAR
|
|
#define | GN_COLORED 0x0002 |
| return colored name
|
|
#define | GN_DEMANGLED 0x0004 |
| return demangled name
|
|
#define | GN_STRICT 0x0008 |
| fail if cannot demangle
|
|
#define | GN_SHORT 0x0010 |
| use short form of demangled name
|
|
#define | GN_LONG 0x0020 |
| use long form of demangled name
|
|
#define | GN_LOCAL 0x0040 |
| try to get local name first; if failed, get global
|
|
#define | GN_ISRET 0x0080 |
| for dummy names: use retloc
|
|
#define | GN_NOT_ISRET 0x0100 |
| for dummy names: do not use retloc
|
|
#define | GN_NOT_DUMMY 0x0200 |
| do not return a dummy name
|
|
#define | GETN_APPZERO 0x0001 |
| meaningful only if the name refers to a structure. More...
|
|
#define | GETN_NOFIXUP 0x0002 |
| ignore the fixup information when producing the name
|
|
#define | GETN_NODUMMY 0x0004 |
| do not create a new dummy name but pretend it exists
|
|
#define | GNCN_NOSEG 0x0001 |
| ignore the segment prefix when producing the name
|
|
#define | GNCN_NOCOLOR 0x0002 |
| generate an uncolored name
|
|
#define | GNCN_NOLABEL 0x0004 |
| don't generate labels
|
|
#define | GNCN_NOFUNC 0x0008 |
| don't generate funcname+... expressions
|
|
#define | GNCN_SEG_FUNC 0x0010 |
| generate both segment and function names (default is to omit segment name if a function name is present)
|
|
#define | GNCN_SEGNUM 0x0020 |
| segment part is displayed as a hex number
|
|
#define | GNCN_REQFUNC 0x0040 |
| return 0 if the address does not belong to a function
|
|
#define | GNCN_REQNAME 0x0080 |
| return 0 if the address can only be represented as a hex number
|
|
#define | GNCN_NODBGNM 0x0100 |
| don't use debug names
|
|
#define | GNCN_PREFDBG 0x0200 |
| if using debug names, prefer debug names over function names
|
|
#define | CN_KEEP_TRAILING__DIGITS 0x01 |
| do not remove "_\d+" at the end of name
|
|