IDAPython 8.4
Loading...
Searching...
No Matches
ida_name Namespace Reference

Detailed Description

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.

Classes

class  ea_name_t
 Proxy of C++ ea_name_t class. More...
 
class  ea_name_vec_t
 Proxy of C++ qvector< ea_name_t > class. More...
 
class  NearestName
 Utility class to help find the nearest name in a given ea/name dictionary. More...
 

Functions

"qstring" get_name (*args)
 get_name(ea) -> qstring
 
"qstring" get_colored_name (*args)
 get_colored_name(ea) -> qstring
 
"bool" set_name (*args)
 set_name(ea, name, flags=0) -> bool Set or delete name of an item at the specified address.
 
"bool" force_name (*args)
 force_name(ea, name, flags=0) -> bool
 
"bool" del_global_name (*args)
 del_global_name(ea) -> bool
 
"bool" del_local_name (*args)
 del_local_name(ea) -> bool
 
"bool" set_dummy_name (*args)
 set_dummy_name(<em>from, ea) -> bool Give an autogenerated (dummy) name.
 
"bool" make_name_auto (*args)
 make_name_auto(ea) -> bool
 
"bool" make_name_user (*args)
 make_name_user(ea) -> bool
 
"bool" is_valid_cp (*args)
 is_valid_cp(cp, kind, data=None) -> bool Is the given codepoint acceptable in the given context?
 
"void" set_cp_validity (*args)
 set_cp_validity(kind, cp, endcp=wchar32_t(-1), 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
 
"bool" get_cp_validity (*args)
 get_cp_validity(kind, cp, endcp=wchar32_t(-1)) -> bool 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 (*args)
 is_ident_cp(cp) -> bool Can a character appear in a name? (present in ::NameChars or ::MangleChars)
 
"bool" is_strlit_cp (*args)
 is_strlit_cp(cp, specific_ranges=None) -> bool 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 (*args)
 is_visible_cp(cp) -> bool Can a character be displayed in a name? (present in ::NameChars)
 
"bool" is_ident (*args)
 is_ident(name) -> bool Is a valid name? (including ::MangleChars)
 
"bool" is_valid_name (*args)
 is_valid_name(name, cpuregs_permitted) -> bool
 
"bool" is_uname (*args)
 is_uname(name) -> bool Is valid user-specified name? (valid name & !dummy prefix).
 
"bool" is_valid_typename (*args)
 is_valid_typename(name) -> bool Is valid type name?
 
"qstring *" extract_name (*args)
 extract_name(line, x) -> str Extract a name or address from the specified string.
 
"void" hide_name (*args)
 hide_name(ea) Remove name from the list of names
 
"void" show_name (*args)
 show_name(ea) Insert name to the list of names.
 
"ea_t" get_name_ea (*args)
 get_name_ea(_from, name) -> ea_t Get the address of a name.
 
"ea_t" get_name_base_ea (*args)
 get_name_base_ea(_from, to) -> ea_t Get address of the name used in the expression for the address
 
"uval_t *" get_name_value (*args)
 get_name_value(_from, name) -> int Get value of the name.
 
"qstring" get_visible_name (*args)
 get_visible_name(ea, gtn_flags=0) -> qstring
 
"qstring" get_short_name (*args)
 get_short_name(ea, gtn_flags=0) -> qstring
 
"qstring" get_long_name (*args)
 get_long_name(ea, gtn_flags=0) -> qstring
 
"qstring" get_colored_short_name (*args)
 get_colored_short_name(ea, gtn_flags=0) -> qstring
 
"qstring" get_colored_long_name (*args)
 get_colored_long_name(ea, gtn_flags=0) -> qstring
 
"qstring" get_demangled_name (*args)
 get_demangled_name(ea, inhibitor, demform, gtn_flags=0) -> qstring
 
"qstring" get_colored_demangled_name (*args)
 get_colored_demangled_name(ea, inhibitor, demform, gtn_flags=0) -> qstring
 
"color_t" get_name_color (*args)
 get_name_color(_from, ea) -> color_t Calculate flags for get_ea_name() function.
 
"qstring *" get_name_expr (*args)
 get_name_expr(_from, n, ea, off, flags=0x0001) -> str Convert address to name expression (name with a displacement).
 
"qstring *" get_nice_colored_name (*args)
 get_nice_colored_name(ea, flags=0) -> str Get a nice colored name at the specified address.
 
"qstring *, adiff_t *" append_struct_fields (*args)
 append_struct_fields(disp, n, path, flags, delta, appzero) -> str Append names of struct fields to a name if the name is a struct name.
 
"bool" is_public_name (*args)
 is_public_name(ea) -> bool
 
"void" make_name_public (*args)
 make_name_public(ea)
 
"void" make_name_non_public (*args)
 make_name_non_public(ea)
 
"bool" is_weak_name (*args)
 is_weak_name(ea) -> bool
 
"void" make_name_weak (*args)
 make_name_weak(ea)
 
"void" make_name_non_weak (*args)
 make_name_non_weak(ea)
 
"size_t" get_nlist_size (*args)
 get_nlist_size() -> size_t Get number of names in the list.
 
"size_t" get_nlist_idx (*args)
 get_nlist_idx(ea) -> size_t Get index of the name in the list
 
"bool" is_in_nlist (*args)
 is_in_nlist(ea) -> bool Is the name included into the name list?
 
"ea_t" get_nlist_ea (*args)
 get_nlist_ea(idx) -> ea_t Get address from the list at 'idx'.
 
"char const *" get_nlist_name (*args)
 get_nlist_name(idx) -> char const * Get name using idx.
 
"void" rebuild_nlist (*args)
 rebuild_nlist() Rebuild the name list.
 
"void" reorder_dummy_names (*args)
 reorder_dummy_names() Renumber dummy names.
 
"bool" set_debug_name (*args)
 set_debug_name(ea, name) -> bool
 
"qstring *" get_debug_name (*args)
 get_debug_name(ea_ptr, how) -> str
 
"void" del_debug_names (*args)
 del_debug_names(ea1, ea2)
 
"ea_t" get_debug_name_ea (*args)
 get_debug_name_ea(name) -> ea_t
 
"qstring *" demangle_name (*args)
 demangle_name(name, disable_mask, demreq=DQT_FULL) -> str Demangle a name.
 
"bool" is_name_defined_locally (*args)
 is_name_defined_locally(pfn, name, ignore_name_def, ea1=BADADDR, ea2=BADADDR) -> bool Is the name defined locally in the specified function?
 
"qstring *" cleanup_name (*args)
 cleanup_name(ea, name, flags=0) -> str
 
"mangled_name_type_t" get_mangled_name_type (*args)
 get_mangled_name_type(name) -> mangled_name_type_t
 
"PyObject *" get_debug_names (*args)
 get_debug_names(names, ea1, ea2)
 
"qstring" get_ea_name (*args)
 get_ea_name(ea, gtn_flags=0) -> qstring Get name at the specified address.
 
"PyObject *" validate_name (*args)
 validate_name(name, type, flags=0) -> PyObject * Validate a name.
 
 calc_gtn_flags (fromaddr, ea)
 Calculate flags for get_ea_name() function.
 

Variables

 MAXNAMELEN = _ida_name.MAXNAMELEN
 
 FUNC_IMPORT_PREFIX = _ida_name.FUNC_IMPORT_PREFIX
 
 SN_CHECK = _ida_name.SN_CHECK
 
 SN_NOCHECK = _ida_name.SN_NOCHECK
 
 SN_PUBLIC = _ida_name.SN_PUBLIC
 
 SN_NON_PUBLIC = _ida_name.SN_NON_PUBLIC
 
 SN_WEAK = _ida_name.SN_WEAK
 
 SN_NON_WEAK = _ida_name.SN_NON_WEAK
 
 SN_AUTO = _ida_name.SN_AUTO
 
 SN_NON_AUTO = _ida_name.SN_NON_AUTO
 
 SN_NOLIST = _ida_name.SN_NOLIST
 
 SN_NOWARN = _ida_name.SN_NOWARN
 
 SN_LOCAL = _ida_name.SN_LOCAL
 
 SN_IDBENC = _ida_name.SN_IDBENC
 
 SN_FORCE = _ida_name.SN_FORCE
 
 SN_NODUMMY = _ida_name.SN_NODUMMY
 
 SN_DELTAIL = _ida_name.SN_DELTAIL
 
 UCDR_STRLIT = _ida_name.UCDR_STRLIT
 
 UCDR_NAME = _ida_name.UCDR_NAME
 
 UCDR_MANGLED = _ida_name.UCDR_MANGLED
 
 UCDR_TYPE = _ida_name.UCDR_TYPE
 
 VNT_IDENT = _ida_name.VNT_IDENT
 
 VNT_TYPE = _ida_name.VNT_TYPE
 
 VNT_UDTMEM = _ida_name.VNT_UDTMEM
 
 VNT_STRLIT = _ida_name.VNT_STRLIT
 
 VNT_VISIBLE = _ida_name.VNT_VISIBLE
 
 NT_NONE = _ida_name.NT_NONE
 
 NT_BYTE = _ida_name.NT_BYTE
 
 NT_LOCAL = _ida_name.NT_LOCAL
 
 NT_STKVAR = _ida_name.NT_STKVAR
 
 NT_ENUM = _ida_name.NT_ENUM
 
 NT_ABS = _ida_name.NT_ABS
 
 NT_SEG = _ida_name.NT_SEG
 
 NT_STROFF = _ida_name.NT_STROFF
 
 NT_BMASK = _ida_name.NT_BMASK
 
 NT_REGVAR = _ida_name.NT_REGVAR
 
 GN_VISIBLE = _ida_name.GN_VISIBLE
 
 GN_COLORED = _ida_name.GN_COLORED
 
 GN_DEMANGLED = _ida_name.GN_DEMANGLED
 
 GN_STRICT = _ida_name.GN_STRICT
 
 GN_SHORT = _ida_name.GN_SHORT
 
 GN_LONG = _ida_name.GN_LONG
 
 GN_LOCAL = _ida_name.GN_LOCAL
 
 GN_ISRET = _ida_name.GN_ISRET
 
 GN_NOT_ISRET = _ida_name.GN_NOT_ISRET
 
 GN_NOT_DUMMY = _ida_name.GN_NOT_DUMMY
 
 GETN_APPZERO = _ida_name.GETN_APPZERO
 
 GETN_NOFIXUP = _ida_name.GETN_NOFIXUP
 
 GETN_NODUMMY = _ida_name.GETN_NODUMMY
 
 GNCN_NOSEG = _ida_name.GNCN_NOSEG
 
 GNCN_NOCOLOR = _ida_name.GNCN_NOCOLOR
 
 GNCN_NOLABEL = _ida_name.GNCN_NOLABEL
 
 GNCN_NOFUNC = _ida_name.GNCN_NOFUNC
 
 GNCN_SEG_FUNC = _ida_name.GNCN_SEG_FUNC
 
 GNCN_SEGNUM = _ida_name.GNCN_SEGNUM
 
 GNCN_REQFUNC = _ida_name.GNCN_REQFUNC
 
 GNCN_REQNAME = _ida_name.GNCN_REQNAME
 
 GNCN_NODBGNM = _ida_name.GNCN_NODBGNM
 
 GNCN_PREFDBG = _ida_name.GNCN_PREFDBG
 
 DEBNAME_EXACT = _ida_name.DEBNAME_EXACT
 
 DEBNAME_LOWER = _ida_name.DEBNAME_LOWER
 
 DEBNAME_UPPER = _ida_name.DEBNAME_UPPER
 
 DEBNAME_NICE = _ida_name.DEBNAME_NICE
 
 DQT_NPURGED_8 = _ida_name.DQT_NPURGED_8
 
 DQT_NPURGED_4 = _ida_name.DQT_NPURGED_4
 
 DQT_NPURGED_2 = _ida_name.DQT_NPURGED_2
 
 DQT_COMPILER = _ida_name.DQT_COMPILER
 
 DQT_NAME_TYPE = _ida_name.DQT_NAME_TYPE
 
 DQT_FULL = _ida_name.DQT_FULL
 
 CN_KEEP_TRAILING__DIGITS = _ida_name.CN_KEEP_TRAILING__DIGITS
 
 ME_INTERR = _ida_name.ME_INTERR
 
 ME_PARAMERR = _ida_name.ME_PARAMERR
 
 ME_ILLSTR = _ida_name.ME_ILLSTR
 
 ME_SMALLANS = _ida_name.ME_SMALLANS
 
 ME_FRAME = _ida_name.ME_FRAME
 
 ME_NOCOMP = _ida_name.ME_NOCOMP
 
 ME_ERRAUTO = _ida_name.ME_ERRAUTO
 
 ME_NOHASHMEM = _ida_name.ME_NOHASHMEM
 
 ME_NOSTRMEM = _ida_name.ME_NOSTRMEM
 
 ME_NOERROR_LIMIT = _ida_name.ME_NOERROR_LIMIT
 
 M_PRCMSK = _ida_name.M_PRCMSK
 
 MT_DEFAULT = _ida_name.MT_DEFAULT
 
 MT_CDECL = _ida_name.MT_CDECL
 
 MT_PASCAL = _ida_name.MT_PASCAL
 
 MT_STDCALL = _ida_name.MT_STDCALL
 
 MT_FASTCALL = _ida_name.MT_FASTCALL
 
 MT_THISCALL = _ida_name.MT_THISCALL
 
 MT_FORTRAN = _ida_name.MT_FORTRAN
 
 MT_SYSCALL = _ida_name.MT_SYSCALL
 
 MT_INTERRUPT = _ida_name.MT_INTERRUPT
 
 MT_MSFASTCALL = _ida_name.MT_MSFASTCALL
 
 MT_CLRCALL = _ida_name.MT_CLRCALL
 
 MT_DMDCALL = _ida_name.MT_DMDCALL
 
 MT_VECTORCALL = _ida_name.MT_VECTORCALL
 
 MT_REGCALL = _ida_name.MT_REGCALL
 
 MT_LOCALNAME = _ida_name.MT_LOCALNAME
 
 M_SAVEREGS = _ida_name.M_SAVEREGS
 
 M_CLASS = _ida_name.M_CLASS
 
 MT_PUBLIC = _ida_name.MT_PUBLIC
 
 MT_PRIVATE = _ida_name.MT_PRIVATE
 
 MT_PROTECT = _ida_name.MT_PROTECT
 
 MT_MEMBER = _ida_name.MT_MEMBER
 
 MT_VTABLE = _ida_name.MT_VTABLE
 
 MT_RTTI = _ida_name.MT_RTTI
 
 M_PARMSK = _ida_name.M_PARMSK
 
 MT_PARSHF = _ida_name.MT_PARSHF
 
 MT_PARMAX = _ida_name.MT_PARMAX
 
 M_ELLIPSIS = _ida_name.M_ELLIPSIS
 
 MT_VOIDARG = _ida_name.MT_VOIDARG
 
 M_STATIC = _ida_name.M_STATIC
 
 M_VIRTUAL = _ida_name.M_VIRTUAL
 
 M_AUTOCRT = _ida_name.M_AUTOCRT
 
 M_TYPMASK = _ida_name.M_TYPMASK
 
 MT_OPERAT = _ida_name.MT_OPERAT
 
 MT_CONSTR = _ida_name.MT_CONSTR
 
 MT_DESTR = _ida_name.MT_DESTR
 
 MT_CASTING = _ida_name.MT_CASTING
 
 MT_CLRCDTOR = _ida_name.MT_CLRCDTOR
 
 M_TRUNCATE = _ida_name.M_TRUNCATE
 
 M_THUNK = _ida_name.M_THUNK
 
 M_ANONNSP = _ida_name.M_ANONNSP
 
 M_TMPLNAM = _ida_name.M_TMPLNAM
 
 M_DBGNAME = _ida_name.M_DBGNAME
 
 M_COMPILER = _ida_name.M_COMPILER
 
 MT_MSCOMP = _ida_name.MT_MSCOMP
 
 MT_BORLAN = _ida_name.MT_BORLAN
 
 MT_WATCOM = _ida_name.MT_WATCOM
 
 MT_OTHER = _ida_name.MT_OTHER
 
 MT_GNU = _ida_name.MT_GNU
 
 MT_GCC3 = _ida_name.MT_GCC3
 
 MT_VISAGE = _ida_name.MT_VISAGE
 
 MNG_PTRMSK = _ida_name.MNG_PTRMSK
 
 MNG_DEFNEAR = _ida_name.MNG_DEFNEAR
 
 MNG_DEFNEARANY = _ida_name.MNG_DEFNEARANY
 
 MNG_DEFFAR = _ida_name.MNG_DEFFAR
 
 MNG_NOPTRTYP16 = _ida_name.MNG_NOPTRTYP16
 
 MNG_DEFHUGE = _ida_name.MNG_DEFHUGE
 
 MNG_DEFPTR64 = _ida_name.MNG_DEFPTR64
 
 MNG_DEFNONE = _ida_name.MNG_DEFNONE
 
 MNG_NOPTRTYP = _ida_name.MNG_NOPTRTYP
 
 MNG_NODEFINIT = _ida_name.MNG_NODEFINIT
 
 MNG_NOUNDERSCORE = _ida_name.MNG_NOUNDERSCORE
 
 MNG_NOTYPE = _ida_name.MNG_NOTYPE
 
 MNG_NORETTYPE = _ida_name.MNG_NORETTYPE
 
 MNG_NOBASEDT = _ida_name.MNG_NOBASEDT
 
 MNG_NOCALLC = _ida_name.MNG_NOCALLC
 
 MNG_NOPOSTFC = _ida_name.MNG_NOPOSTFC
 
 MNG_NOSCTYP = _ida_name.MNG_NOSCTYP
 
 MNG_NOTHROW = _ida_name.MNG_NOTHROW
 
 MNG_NOSTVIR = _ida_name.MNG_NOSTVIR
 
 MNG_NOECSU = _ida_name.MNG_NOECSU
 
 MNG_NOCSVOL = _ida_name.MNG_NOCSVOL
 
 MNG_NOCLOSUR = _ida_name.MNG_NOCLOSUR
 
 MNG_NOUNALG = _ida_name.MNG_NOUNALG
 
 MNG_NOMANAGE = _ida_name.MNG_NOMANAGE
 
 MNG_NOMODULE = _ida_name.MNG_NOMODULE
 
 MNG_SHORT_S = _ida_name.MNG_SHORT_S
 
 MNG_SHORT_U = _ida_name.MNG_SHORT_U
 
 MNG_ZPT_SPACE = _ida_name.MNG_ZPT_SPACE
 
 MNG_DROP_IMP = _ida_name.MNG_DROP_IMP
 
 MNG_IGN_ANYWAY = _ida_name.MNG_IGN_ANYWAY
 
 MNG_IGN_JMP = _ida_name.MNG_IGN_JMP
 
 MNG_MOVE_JMP = _ida_name.MNG_MOVE_JMP
 
 MNG_COMPILER_MSK = _ida_name.MNG_COMPILER_MSK
 
 MNG_SHORT_FORM = _ida_name.MNG_SHORT_FORM
 
 MNG_LONG_FORM = _ida_name.MNG_LONG_FORM
 
 MNG_CALC_VALID = _ida_name.MNG_CALC_VALID
 
 cvar = _ida_name.cvar
 
 ignore_none = cvar.ignore_none
 
 ignore_regvar = cvar.ignore_regvar
 
 ignore_llabel = cvar.ignore_llabel
 
 ignore_stkvar = cvar.ignore_stkvar
 
 ignore_glabel = cvar.ignore_glabel
 
 MANGLED_CODE = cvar.MANGLED_CODE
 
 MANGLED_DATA = cvar.MANGLED_DATA
 
 MANGLED_UNKNOWN = cvar.MANGLED_UNKNOWN
 

Function Documentation

◆ append_struct_fields()

"qstring *, adiff_t *" append_struct_fields ( * args)
Parameters
disp(C++: adiff_t *) displacement from the name
n(C++: int) operand number in which the name appears
path(C++: const tid_t *) path in the struct. path is an array of id's. maximal length of array is MAXSTRUCPATH. the first element of the array is the structure id. consecutive elements are id's of used union members (if any).
flags(C++: flags64_t) the input flags. they will be returned if the struct cannot be found.
delta(C++: adiff_t) delta to add to displacement
appzero(C++: bool) should append a struct field name if the displacement is zero?
Returns
: flags of the innermost struct member or the input flags

◆ calc_gtn_flags()

calc_gtn_flags ( fromaddr,
ea )
Parameters
fromaddrthe referring address. May be BADADDR.
ealinear address
Returns
: flags

◆ cleanup_name()

"qstring *" cleanup_name ( * args)
Parameters
eaea_t
namechar const *
flagsuint32

◆ del_debug_names()

"void" del_debug_names ( * args)
Parameters
ea1ea_t
ea2ea_t

◆ del_global_name()

"bool" del_global_name ( * args)
Parameters
eaea_t

◆ del_local_name()

"bool" del_local_name ( * args)
Parameters
eaea_t

◆ demangle_name()

"qstring *" demangle_name ( * args)
Parameters
name(C++: const char *) char const *
disable_mask(C++: uint32)
demreq(C++: demreq_type_t) enum demreq_type_t

◆ extract_name()

"qstring *" extract_name ( * args)
Parameters
line(C++: const char *) input string
x(C++: int) x coordinate of cursor
Returns
: -1 if cannot extract. otherwise length of the name

◆ force_name()

"bool" force_name ( * args)
Parameters
eaea_t
namechar const *
flagsint

◆ get_colored_demangled_name()

"qstring" get_colored_demangled_name ( * args)
Parameters
eaea_t
inhibitorint32
demformint
gtn_flagsint

◆ get_colored_long_name()

"qstring" get_colored_long_name ( * args)
Parameters
eaea_t
gtn_flagsint

◆ get_colored_name()

"qstring" get_colored_name ( * args)
Parameters
eaea_t

◆ get_colored_short_name()

"qstring" get_colored_short_name ( * args)
Parameters
eaea_t
gtn_flagsint

◆ get_cp_validity()

"bool" get_cp_validity ( * args)
Parameters
kind(C++: ucdr_kind_t) enum ucdr_kind_t
cp(C++: wchar32_t)
endcp(C++: wchar32_t)

◆ get_debug_name()

"qstring *" get_debug_name ( * args)
Parameters
ea_ptrea_t *
howenum debug_name_how_t

◆ get_debug_name_ea()

"ea_t" get_debug_name_ea ( * args)
Parameters
namechar const *

◆ get_debug_names()

"PyObject *" get_debug_names ( * args)
Parameters
namesea_name_vec_t *
ea1ea_t
ea2ea_t

get_debug_names(ea1, ea2, return_list=False) -> dict or None

Parameters
ea1ea_t
ea2ea_t
return_listbool

◆ get_demangled_name()

"qstring" get_demangled_name ( * args)
Parameters
eaea_t
inhibitorint32
demformint
gtn_flagsint

◆ get_ea_name()

"qstring" get_ea_name ( * args)
Parameters
ea(C++: ea_t) linear address
gtn_flags(C++: int) how exactly the name should be retrieved. combination of bits for get_ea_name() function. There is a convenience bits
Returns
: success

◆ get_long_name()

"qstring" get_long_name ( * args)
Parameters
eaea_t
gtn_flagsint

◆ get_mangled_name_type()

"mangled_name_type_t" get_mangled_name_type ( * args)
Parameters
namechar const *

◆ get_name()

"qstring" get_name ( * args)
Parameters
eaea_t

◆ get_name_base_ea()

"ea_t" get_name_base_ea ( * args)
Parameters
from(C++: ea_t) address of the operand which references to the address
to(C++: ea_t) the referenced address
Returns
: address of the name used to represent the operand

◆ get_name_color()

"color_t" get_name_color ( * args)

Get name color.

Parameters
from(C++: ea_t) linear address where the name is used. if not applicable, then should be BADADDR. The kernel returns a local name color if the reference is within a function, i.e. 'from' and 'ea' belong to the same function.
ea(C++: ea_t) linear address

◆ get_name_ea()

"ea_t" get_name_ea ( * args)

This function resolves a name into an address. It can handle regular global and local names, as well as debugger names.

Parameters
from(C++: ea_t) linear address where the name is used. If specified, the local labels of the function at the specified address will will be checked. BADADDR means that local names won't be consulted.
name(C++: const char *) any name in the program or nullptr
Returns
: address of the name or BADADDR

◆ get_name_expr()

"qstring *" get_name_expr ( * args)

This function takes into account fixup information and returns a colored name expression (in the form <name> +/- <offset>). It also knows about structure members and arrays. If the specified address doesn't have a name, a dummy name is generated.

Parameters
from(C++: ea_t) linear address of instruction operand or data referring to the name. This address will be used to get fixup information, so it should point to exact position of the operand in the instruction.
n(C++: int) number of referencing operand. for data items specify 0
ea(C++: ea_t) address to convert to name expression
off(C++: uval_t) the value of name expression. this parameter is used only to check that the name expression will have the wanted value. 'off' may be equal to BADADDR but this is discouraged because it prohibits checks.
flags(C++: int) Name expression flags
Returns
: < 0 if address is not valid, no segment or other failure. otherwise the length of the name expression in characters.

◆ get_name_value()

"uval_t *" get_name_value ( * args)

This function knows about: regular names, enums, special segments, etc.

Parameters
from(C++: ea_t) linear address where the name is used if not applicable, then should be BADADDR
name(C++: const char *) any name in the program or nullptr
Returns
: Name value result codes

◆ get_nice_colored_name()

"qstring *" get_nice_colored_name ( * args)

Ex:

  • segment:sub+offset
  • segment:sub:local_label
  • segment:label
  • segment:address
  • segment:address+offset
Parameters
ea(C++: ea_t) linear address
flags(C++: int) Nice colored name flags
Returns
: the length of the generated name in bytes.

◆ get_nlist_ea()

"ea_t" get_nlist_ea ( * args)
Parameters
idx(C++: size_t)

◆ get_nlist_idx()

"size_t" get_nlist_idx ( * args)
Warning
: returns the closest match. may return idx >= size.
Parameters
ea(C++: ea_t)

◆ get_nlist_name()

"char const *" get_nlist_name ( * args)
Parameters
idx(C++: size_t)

◆ get_nlist_size()

"size_t" get_nlist_size ( * args)

◆ get_short_name()

"qstring" get_short_name ( * args)
Parameters
eaea_t
gtn_flagsint

◆ get_visible_name()

"qstring" get_visible_name ( * args)
Parameters
eaea_t
gtn_flagsint

◆ hide_name()

"void" hide_name ( * args)
Parameters
ea(C++: ea_t) address of the name

◆ is_ident()

"bool" is_ident ( * args)
Parameters
name(C++: const char *) char const *

◆ is_ident_cp()

"bool" is_ident_cp ( * args)
Parameters
cp(C++: wchar32_t)

◆ is_in_nlist()

"bool" is_in_nlist ( * args)
Parameters
ea(C++: ea_t)

◆ is_name_defined_locally()

"bool" is_name_defined_locally ( * args)
Parameters
pfn(C++: func_t *) pointer to function
name(C++: const char *) name to check
ignore_name_def(C++: ignore_name_def_t) which names to ignore when checking
ea1(C++: ea_t) the starting address of the range inside the function (optional)
ea2(C++: ea_t) the ending address of the range inside the function (optional)
Returns
: true if the name has been defined

◆ is_public_name()

"bool" is_public_name ( * args)
Parameters
eaea_t

◆ is_strlit_cp()

"bool" is_strlit_cp ( * args)
Parameters
cp(C++: wchar32_t)
specific_ranges(C++: const rangeset_crefvec_t *) rangeset_crefvec_t const *

◆ is_uname()

"bool" is_uname ( * args)
Parameters
name(C++: const char *) name to test. may be nullptr.
Return values
1yes
0no

◆ is_valid_cp()

"bool" is_valid_cp ( * args)
Parameters
cp(C++: wchar32_t)
kind(C++: nametype_t) enum nametype_t
data(C++: void *)

◆ is_valid_name()

"bool" is_valid_name ( * args)
Parameters
namechar const *
cpuregs_permittedbool

◆ is_valid_typename()

"bool" is_valid_typename ( * args)
Parameters
name(C++: const char *) name to test. may be nullptr.
Return values
1yes
0no

◆ is_visible_cp()

"bool" is_visible_cp ( * args)
Parameters
cp(C++: wchar32_t)

◆ is_weak_name()

"bool" is_weak_name ( * args)
Parameters
eaea_t

◆ make_name_auto()

"bool" make_name_auto ( * args)
Parameters
eaea_t

◆ make_name_non_public()

"void" make_name_non_public ( * args)
Parameters
eaea_t

◆ make_name_non_weak()

"void" make_name_non_weak ( * args)
Parameters
eaea_t

◆ make_name_public()

"void" make_name_public ( * args)
Parameters
eaea_t

◆ make_name_user()

"bool" make_name_user ( * args)
Parameters
eaea_t

◆ make_name_weak()

"void" make_name_weak ( * args)
Parameters
eaea_t

◆ rebuild_nlist()

"void" rebuild_nlist ( * args)

◆ reorder_dummy_names()

"void" reorder_dummy_names ( * args)

◆ set_cp_validity()

"void" set_cp_validity ( * args)
Parameters
kind(C++: ucdr_kind_t) enum ucdr_kind_t
cp(C++: wchar32_t)
endcp(C++: wchar32_t)

◆ set_debug_name()

"bool" set_debug_name ( * args)
Parameters
eaea_t
namechar const *

◆ set_dummy_name()

"bool" set_dummy_name ( * args)

Autogenerated names have special prefixes (loc...).

Parameters
from(C++: ea_t) linear address of the operand which references to the address
ea(C++: ea_t) linear address
Return values
1ok, dummy name is generated or the byte already had a name
0failure, invalid address or tail byte

◆ set_name()

"bool" set_name ( * args)

An item can be anything: instruction, function, data byte, word, string, structure, etc... Include name into the list of names.

Parameters
ea(C++: ea_t) linear address. do nothing if ea is not valid (return 0). tail bytes can't have names.
name(C++: const char *) new name.
  • nullptr: do nothing (return 0).
  • "" : delete name.
  • otherwise this is a new name.
flags(C++: int) Set name flags. If a bit is not specified, then the corresponding action is not performed and the name will retain the same bits as before calling this function. For new names, default is: non- public, non-weak, non-auto.
Return values
1ok, name is changed
0failure, a warning is displayed

◆ show_name()

"void" show_name ( * args)
Parameters
ea(C++: ea_t)

◆ validate_name()

"PyObject *" validate_name ( * args)

If SN_NOCHECK is specified, this function replaces all invalid characters in the name with SUBSTCHAR. However, it will return false if name is valid but not allowed to be an identifier (is a register name).

Parameters
name(C++: qstring *) ptr to name. the name will be modified
type(C++: nametype_t) the type of name we want to validate
flags(C++: int) see SN_*
Returns
: success

Variable Documentation

◆ CN_KEEP_TRAILING__DIGITS

CN_KEEP_TRAILING__DIGITS = _ida_name.CN_KEEP_TRAILING__DIGITS

◆ cvar

cvar = _ida_name.cvar

◆ DEBNAME_EXACT

DEBNAME_EXACT = _ida_name.DEBNAME_EXACT

◆ DEBNAME_LOWER

DEBNAME_LOWER = _ida_name.DEBNAME_LOWER

◆ DEBNAME_NICE

DEBNAME_NICE = _ida_name.DEBNAME_NICE

◆ DEBNAME_UPPER

DEBNAME_UPPER = _ida_name.DEBNAME_UPPER

◆ DQT_COMPILER

DQT_COMPILER = _ida_name.DQT_COMPILER

◆ DQT_FULL

DQT_FULL = _ida_name.DQT_FULL

◆ DQT_NAME_TYPE

DQT_NAME_TYPE = _ida_name.DQT_NAME_TYPE

◆ DQT_NPURGED_2

DQT_NPURGED_2 = _ida_name.DQT_NPURGED_2

◆ DQT_NPURGED_4

DQT_NPURGED_4 = _ida_name.DQT_NPURGED_4

◆ DQT_NPURGED_8

DQT_NPURGED_8 = _ida_name.DQT_NPURGED_8

◆ FUNC_IMPORT_PREFIX

FUNC_IMPORT_PREFIX = _ida_name.FUNC_IMPORT_PREFIX

◆ GETN_APPZERO

GETN_APPZERO = _ida_name.GETN_APPZERO

◆ GETN_NODUMMY

GETN_NODUMMY = _ida_name.GETN_NODUMMY

◆ GETN_NOFIXUP

GETN_NOFIXUP = _ida_name.GETN_NOFIXUP

◆ GN_COLORED

GN_COLORED = _ida_name.GN_COLORED

◆ GN_DEMANGLED

GN_DEMANGLED = _ida_name.GN_DEMANGLED

◆ GN_ISRET

GN_ISRET = _ida_name.GN_ISRET

◆ GN_LOCAL

GN_LOCAL = _ida_name.GN_LOCAL

◆ GN_LONG

GN_LONG = _ida_name.GN_LONG

◆ GN_NOT_DUMMY

GN_NOT_DUMMY = _ida_name.GN_NOT_DUMMY

◆ GN_NOT_ISRET

GN_NOT_ISRET = _ida_name.GN_NOT_ISRET

◆ GN_SHORT

GN_SHORT = _ida_name.GN_SHORT

◆ GN_STRICT

GN_STRICT = _ida_name.GN_STRICT

◆ GN_VISIBLE

GN_VISIBLE = _ida_name.GN_VISIBLE

◆ GNCN_NOCOLOR

GNCN_NOCOLOR = _ida_name.GNCN_NOCOLOR

◆ GNCN_NODBGNM

GNCN_NODBGNM = _ida_name.GNCN_NODBGNM

◆ GNCN_NOFUNC

GNCN_NOFUNC = _ida_name.GNCN_NOFUNC

◆ GNCN_NOLABEL

GNCN_NOLABEL = _ida_name.GNCN_NOLABEL

◆ GNCN_NOSEG

GNCN_NOSEG = _ida_name.GNCN_NOSEG

◆ GNCN_PREFDBG

GNCN_PREFDBG = _ida_name.GNCN_PREFDBG

◆ GNCN_REQFUNC

GNCN_REQFUNC = _ida_name.GNCN_REQFUNC

◆ GNCN_REQNAME

GNCN_REQNAME = _ida_name.GNCN_REQNAME

◆ GNCN_SEG_FUNC

GNCN_SEG_FUNC = _ida_name.GNCN_SEG_FUNC

◆ GNCN_SEGNUM

GNCN_SEGNUM = _ida_name.GNCN_SEGNUM

◆ ignore_glabel

ignore_glabel = cvar.ignore_glabel

◆ ignore_llabel

ignore_llabel = cvar.ignore_llabel

◆ ignore_none

ignore_none = cvar.ignore_none

◆ ignore_regvar

ignore_regvar = cvar.ignore_regvar

◆ ignore_stkvar

ignore_stkvar = cvar.ignore_stkvar

◆ M_ANONNSP

M_ANONNSP = _ida_name.M_ANONNSP

◆ M_AUTOCRT

M_AUTOCRT = _ida_name.M_AUTOCRT

◆ M_CLASS

M_CLASS = _ida_name.M_CLASS

◆ M_COMPILER

M_COMPILER = _ida_name.M_COMPILER

◆ M_DBGNAME

M_DBGNAME = _ida_name.M_DBGNAME

◆ M_ELLIPSIS

M_ELLIPSIS = _ida_name.M_ELLIPSIS

◆ M_PARMSK

M_PARMSK = _ida_name.M_PARMSK

◆ M_PRCMSK

M_PRCMSK = _ida_name.M_PRCMSK

◆ M_SAVEREGS

M_SAVEREGS = _ida_name.M_SAVEREGS

◆ M_STATIC

M_STATIC = _ida_name.M_STATIC

◆ M_THUNK

M_THUNK = _ida_name.M_THUNK

◆ M_TMPLNAM

M_TMPLNAM = _ida_name.M_TMPLNAM

◆ M_TRUNCATE

M_TRUNCATE = _ida_name.M_TRUNCATE

◆ M_TYPMASK

M_TYPMASK = _ida_name.M_TYPMASK

◆ M_VIRTUAL

M_VIRTUAL = _ida_name.M_VIRTUAL

◆ MANGLED_CODE

MANGLED_CODE = cvar.MANGLED_CODE

◆ MANGLED_DATA

MANGLED_DATA = cvar.MANGLED_DATA

◆ MANGLED_UNKNOWN

MANGLED_UNKNOWN = cvar.MANGLED_UNKNOWN

◆ MAXNAMELEN

MAXNAMELEN = _ida_name.MAXNAMELEN

◆ ME_ERRAUTO

ME_ERRAUTO = _ida_name.ME_ERRAUTO

◆ ME_FRAME

ME_FRAME = _ida_name.ME_FRAME

◆ ME_ILLSTR

ME_ILLSTR = _ida_name.ME_ILLSTR

◆ ME_INTERR

ME_INTERR = _ida_name.ME_INTERR

◆ ME_NOCOMP

ME_NOCOMP = _ida_name.ME_NOCOMP

◆ ME_NOERROR_LIMIT

ME_NOERROR_LIMIT = _ida_name.ME_NOERROR_LIMIT

◆ ME_NOHASHMEM

ME_NOHASHMEM = _ida_name.ME_NOHASHMEM

◆ ME_NOSTRMEM

ME_NOSTRMEM = _ida_name.ME_NOSTRMEM

◆ ME_PARAMERR

ME_PARAMERR = _ida_name.ME_PARAMERR

◆ ME_SMALLANS

ME_SMALLANS = _ida_name.ME_SMALLANS

◆ MNG_CALC_VALID

MNG_CALC_VALID = _ida_name.MNG_CALC_VALID

◆ MNG_COMPILER_MSK

MNG_COMPILER_MSK = _ida_name.MNG_COMPILER_MSK

◆ MNG_DEFFAR

MNG_DEFFAR = _ida_name.MNG_DEFFAR

◆ MNG_DEFHUGE

MNG_DEFHUGE = _ida_name.MNG_DEFHUGE

◆ MNG_DEFNEAR

MNG_DEFNEAR = _ida_name.MNG_DEFNEAR

◆ MNG_DEFNEARANY

MNG_DEFNEARANY = _ida_name.MNG_DEFNEARANY

◆ MNG_DEFNONE

MNG_DEFNONE = _ida_name.MNG_DEFNONE

◆ MNG_DEFPTR64

MNG_DEFPTR64 = _ida_name.MNG_DEFPTR64

◆ MNG_DROP_IMP

MNG_DROP_IMP = _ida_name.MNG_DROP_IMP

◆ MNG_IGN_ANYWAY

MNG_IGN_ANYWAY = _ida_name.MNG_IGN_ANYWAY

◆ MNG_IGN_JMP

MNG_IGN_JMP = _ida_name.MNG_IGN_JMP

◆ MNG_LONG_FORM

MNG_LONG_FORM = _ida_name.MNG_LONG_FORM

◆ MNG_MOVE_JMP

MNG_MOVE_JMP = _ida_name.MNG_MOVE_JMP

◆ MNG_NOBASEDT

MNG_NOBASEDT = _ida_name.MNG_NOBASEDT

◆ MNG_NOCALLC

MNG_NOCALLC = _ida_name.MNG_NOCALLC

◆ MNG_NOCLOSUR

MNG_NOCLOSUR = _ida_name.MNG_NOCLOSUR

◆ MNG_NOCSVOL

MNG_NOCSVOL = _ida_name.MNG_NOCSVOL

◆ MNG_NODEFINIT

MNG_NODEFINIT = _ida_name.MNG_NODEFINIT

◆ MNG_NOECSU

MNG_NOECSU = _ida_name.MNG_NOECSU

◆ MNG_NOMANAGE

MNG_NOMANAGE = _ida_name.MNG_NOMANAGE

◆ MNG_NOMODULE

MNG_NOMODULE = _ida_name.MNG_NOMODULE

◆ MNG_NOPOSTFC

MNG_NOPOSTFC = _ida_name.MNG_NOPOSTFC

◆ MNG_NOPTRTYP

MNG_NOPTRTYP = _ida_name.MNG_NOPTRTYP

◆ MNG_NOPTRTYP16

MNG_NOPTRTYP16 = _ida_name.MNG_NOPTRTYP16

◆ MNG_NORETTYPE

MNG_NORETTYPE = _ida_name.MNG_NORETTYPE

◆ MNG_NOSCTYP

MNG_NOSCTYP = _ida_name.MNG_NOSCTYP

◆ MNG_NOSTVIR

MNG_NOSTVIR = _ida_name.MNG_NOSTVIR

◆ MNG_NOTHROW

MNG_NOTHROW = _ida_name.MNG_NOTHROW

◆ MNG_NOTYPE

MNG_NOTYPE = _ida_name.MNG_NOTYPE

◆ MNG_NOUNALG

MNG_NOUNALG = _ida_name.MNG_NOUNALG

◆ MNG_NOUNDERSCORE

MNG_NOUNDERSCORE = _ida_name.MNG_NOUNDERSCORE

◆ MNG_PTRMSK

MNG_PTRMSK = _ida_name.MNG_PTRMSK

◆ MNG_SHORT_FORM

MNG_SHORT_FORM = _ida_name.MNG_SHORT_FORM

◆ MNG_SHORT_S

MNG_SHORT_S = _ida_name.MNG_SHORT_S

◆ MNG_SHORT_U

MNG_SHORT_U = _ida_name.MNG_SHORT_U

◆ MNG_ZPT_SPACE

MNG_ZPT_SPACE = _ida_name.MNG_ZPT_SPACE

◆ MT_BORLAN

MT_BORLAN = _ida_name.MT_BORLAN

◆ MT_CASTING

MT_CASTING = _ida_name.MT_CASTING

◆ MT_CDECL

MT_CDECL = _ida_name.MT_CDECL

◆ MT_CLRCALL

MT_CLRCALL = _ida_name.MT_CLRCALL

◆ MT_CLRCDTOR

MT_CLRCDTOR = _ida_name.MT_CLRCDTOR

◆ MT_CONSTR

MT_CONSTR = _ida_name.MT_CONSTR

◆ MT_DEFAULT

MT_DEFAULT = _ida_name.MT_DEFAULT

◆ MT_DESTR

MT_DESTR = _ida_name.MT_DESTR

◆ MT_DMDCALL

MT_DMDCALL = _ida_name.MT_DMDCALL

◆ MT_FASTCALL

MT_FASTCALL = _ida_name.MT_FASTCALL

◆ MT_FORTRAN

MT_FORTRAN = _ida_name.MT_FORTRAN

◆ MT_GCC3

MT_GCC3 = _ida_name.MT_GCC3

◆ MT_GNU

MT_GNU = _ida_name.MT_GNU

◆ MT_INTERRUPT

MT_INTERRUPT = _ida_name.MT_INTERRUPT

◆ MT_LOCALNAME

MT_LOCALNAME = _ida_name.MT_LOCALNAME

◆ MT_MEMBER

MT_MEMBER = _ida_name.MT_MEMBER

◆ MT_MSCOMP

MT_MSCOMP = _ida_name.MT_MSCOMP

◆ MT_MSFASTCALL

MT_MSFASTCALL = _ida_name.MT_MSFASTCALL

◆ MT_OPERAT

MT_OPERAT = _ida_name.MT_OPERAT

◆ MT_OTHER

MT_OTHER = _ida_name.MT_OTHER

◆ MT_PARMAX

MT_PARMAX = _ida_name.MT_PARMAX

◆ MT_PARSHF

MT_PARSHF = _ida_name.MT_PARSHF

◆ MT_PASCAL

MT_PASCAL = _ida_name.MT_PASCAL

◆ MT_PRIVATE

MT_PRIVATE = _ida_name.MT_PRIVATE

◆ MT_PROTECT

MT_PROTECT = _ida_name.MT_PROTECT

◆ MT_PUBLIC

MT_PUBLIC = _ida_name.MT_PUBLIC

◆ MT_REGCALL

MT_REGCALL = _ida_name.MT_REGCALL

◆ MT_RTTI

MT_RTTI = _ida_name.MT_RTTI

◆ MT_STDCALL

MT_STDCALL = _ida_name.MT_STDCALL

◆ MT_SYSCALL

MT_SYSCALL = _ida_name.MT_SYSCALL

◆ MT_THISCALL

MT_THISCALL = _ida_name.MT_THISCALL

◆ MT_VECTORCALL

MT_VECTORCALL = _ida_name.MT_VECTORCALL

◆ MT_VISAGE

MT_VISAGE = _ida_name.MT_VISAGE

◆ MT_VOIDARG

MT_VOIDARG = _ida_name.MT_VOIDARG

◆ MT_VTABLE

MT_VTABLE = _ida_name.MT_VTABLE

◆ MT_WATCOM

MT_WATCOM = _ida_name.MT_WATCOM

◆ NT_ABS

NT_ABS = _ida_name.NT_ABS

◆ NT_BMASK

NT_BMASK = _ida_name.NT_BMASK

◆ NT_BYTE

NT_BYTE = _ida_name.NT_BYTE

◆ NT_ENUM

NT_ENUM = _ida_name.NT_ENUM

◆ NT_LOCAL

NT_LOCAL = _ida_name.NT_LOCAL

◆ NT_NONE

NT_NONE = _ida_name.NT_NONE

◆ NT_REGVAR

NT_REGVAR = _ida_name.NT_REGVAR

◆ NT_SEG

NT_SEG = _ida_name.NT_SEG

◆ NT_STKVAR

NT_STKVAR = _ida_name.NT_STKVAR

◆ NT_STROFF

NT_STROFF = _ida_name.NT_STROFF

◆ SN_AUTO

SN_AUTO = _ida_name.SN_AUTO

◆ SN_CHECK

SN_CHECK = _ida_name.SN_CHECK

◆ SN_DELTAIL

SN_DELTAIL = _ida_name.SN_DELTAIL

◆ SN_FORCE

SN_FORCE = _ida_name.SN_FORCE

◆ SN_IDBENC

SN_IDBENC = _ida_name.SN_IDBENC

◆ SN_LOCAL

SN_LOCAL = _ida_name.SN_LOCAL

◆ SN_NOCHECK

SN_NOCHECK = _ida_name.SN_NOCHECK

◆ SN_NODUMMY

SN_NODUMMY = _ida_name.SN_NODUMMY

◆ SN_NOLIST

SN_NOLIST = _ida_name.SN_NOLIST

◆ SN_NON_AUTO

SN_NON_AUTO = _ida_name.SN_NON_AUTO

◆ SN_NON_PUBLIC

SN_NON_PUBLIC = _ida_name.SN_NON_PUBLIC

◆ SN_NON_WEAK

SN_NON_WEAK = _ida_name.SN_NON_WEAK

◆ SN_NOWARN

SN_NOWARN = _ida_name.SN_NOWARN

◆ SN_PUBLIC

SN_PUBLIC = _ida_name.SN_PUBLIC

◆ SN_WEAK

SN_WEAK = _ida_name.SN_WEAK

◆ UCDR_MANGLED

UCDR_MANGLED = _ida_name.UCDR_MANGLED

◆ UCDR_NAME

UCDR_NAME = _ida_name.UCDR_NAME

◆ UCDR_STRLIT

UCDR_STRLIT = _ida_name.UCDR_STRLIT

◆ UCDR_TYPE

UCDR_TYPE = _ida_name.UCDR_TYPE

◆ VNT_IDENT

VNT_IDENT = _ida_name.VNT_IDENT

◆ VNT_STRLIT

VNT_STRLIT = _ida_name.VNT_STRLIT

◆ VNT_TYPE

VNT_TYPE = _ida_name.VNT_TYPE

◆ VNT_UDTMEM

VNT_UDTMEM = _ida_name.VNT_UDTMEM

◆ VNT_VISIBLE

VNT_VISIBLE = _ida_name.VNT_VISIBLE