IDA C++ SDK 9.2
Loading...
Searching...
No Matches
name.hpp
Go to the documentation of this file.
1/*
2 * Interactive disassembler (IDA).
3 * Copyright (c) 1990-2025 Hex-Rays
4 * ALL RIGHTS RESERVED.
5 *
6 */
7
8#ifndef _NAME_HPP
9#define _NAME_HPP
10
11#include <ida.hpp>
12
21
22class func_t; // funcs.hpp
23typedef uchar color_t; // lines.hpp
24
26#define MAXNAMELEN 512
27
28
30#define FUNC_IMPORT_PREFIX "__imp_"
31
32
50
51idaman bool ida_export set_name(ea_t ea, const char *name, int flags=0);
52
56#define SN_CHECK 0x00
57#define SN_NOCHECK 0x01
62#define SN_PUBLIC 0x02
63#define SN_NON_PUBLIC 0x04
64#define SN_WEAK 0x08
65#define SN_NON_WEAK 0x10
66#define SN_AUTO 0x20
67#define SN_NON_AUTO 0x40
68#define SN_NOLIST 0x80
73#define SN_NOWARN 0x100
74#define SN_LOCAL 0x200
78#define SN_IDBENC 0x400
81#define SN_FORCE 0x800
84#define SN_NODUMMY 0x1000
87#define SN_DELTAIL 0x2000
89#define SN_MULTI 0x4000
98#define SN_MULTI_FORCE 0x8000
103
104inline bool force_name(ea_t ea, const char *name, int flags=0)
105{
106 return set_name(ea, name, flags|SN_FORCE|SN_NODUMMY);
107}
108
114inline bool del_global_name(ea_t ea) { return set_name(ea,"", SN_NOWARN); }
115inline bool del_local_name(ea_t ea) { return set_name(ea,"", SN_LOCAL|SN_NOWARN); }
117
124
125idaman bool ida_export set_dummy_name(ea_t from, ea_t ea); // give dummy name
126
127
134idaman bool ida_export make_name_auto(ea_t ea);
135idaman bool ida_export make_name_user(ea_t ea);
137
138
140{
141 UCDR_STRLIT = 0x01,
142 UCDR_NAME = 0x02,
144 UCDR_TYPE = 0x08,
145};
146
155
166
167idaman bool ida_export validate_name(
168 qstring *name,
170 int flags = SN_NOCHECK);
171
172
174
175idaman bool ida_export is_valid_cp(wchar32_t cp, nametype_t kind, void *data=nullptr);
176
177
181
182idaman void ida_export set_cp_validity(ucdr_kind_t kind, wchar32_t cp, wchar32_t endcp=BADCP, bool valid=true);
183
184
188
189idaman bool ida_export get_cp_validity(ucdr_kind_t kind, wchar32_t cp, wchar32_t endcp=BADCP);
190
191
193
194inline bool is_ident_cp(wchar32_t cp) { return is_valid_cp(cp, VNT_IDENT); }
195
196
201
202inline bool is_strlit_cp(wchar32_t cp, const rangeset_crefvec_t *specific_ranges=nullptr)
203{ return is_valid_cp(cp, VNT_STRLIT, (void *) specific_ranges); }
204
205
207
209{ return is_valid_cp(cp, VNT_VISIBLE); }
210
211
213
214idaman bool ida_export is_ident(const char *name);
215
216
221
222idaman bool ida_export is_uname(const char *name);
223
224
229
230idaman bool ida_export is_valid_typename(const char *name);
231
232
236
237idaman ea_t ida_export dummy_name_ea(const char *name);
238
239
245
246idaman ssize_t ida_export extract_name(qstring *out, const char *line, int x);
247
248
251
252idaman void ida_export hide_name(ea_t ea);
253
254
256
257idaman void ida_export show_name(ea_t ea);
258
259
268
269idaman ea_t ida_export get_name_ea(ea_t from, const char *name);
270
271
276
277idaman ea_t ida_export get_name_base_ea(ea_t from, ea_t to);
278
279
287
288idaman int ida_export get_name_value(uval_t *value, ea_t from, const char *name);
289
293#define NT_NONE 0
294#define NT_BYTE 1
295#define NT_LOCAL 2
296#define NT_STKVAR 3
297#define NT_ENUM 4
298#define NT_ABS 5
299#define NT_SEG 6
300#define NT_STROFF 7
301#define NT_BMASK 8
302#define NT_REGVAR 9
304
305
308{
309 size_t cb;
314 getname_info_t(void) : cb(sizeof(*this)), inhibitor(0), demform(0), demcode(0) {}
315};
316
317
327
328idaman ssize_t ida_export get_ea_name(
329 qstring *out,
330 ea_t ea,
331 int gtn_flags=0,
332 getname_info_t *gtni=nullptr);
333
337#define GN_VISIBLE 0x0001
338#define GN_COLORED 0x0002
339#define GN_DEMANGLED 0x0004
340#define GN_STRICT 0x0008
341#define GN_SHORT 0x0010
342#define GN_LONG 0x0020
343#define GN_LOCAL 0x0040
344#define GN_ISRET 0x0080
345#define GN_NOT_ISRET 0x0100
346#define GN_NOT_DUMMY 0x0200
347
349
350// Convenience functions for get_ea_name returning ssize_t
351
352inline ssize_t get_name(qstring *out, ea_t ea, int gtn_flags=0)
353{
354 return get_ea_name(out, ea, gtn_flags);
355}
356
357inline ssize_t idaapi get_visible_name(qstring *out, ea_t ea, int gtn_flags=0)
358{
359 return get_ea_name(out, ea, GN_VISIBLE|gtn_flags);
360}
361
362inline ssize_t idaapi get_colored_name(qstring *out, ea_t ea, int gtn_flags=0)
363{
364 return get_ea_name(out, ea, GN_VISIBLE|GN_COLORED|gtn_flags);
365}
366
367inline ssize_t idaapi get_short_name(qstring *out, ea_t ea, int gtn_flags=0)
368{
369 return get_ea_name(out, ea, GN_VISIBLE|GN_DEMANGLED|GN_SHORT|gtn_flags);
370}
371
372inline ssize_t idaapi get_long_name(qstring *out, ea_t ea, int gtn_flags=0)
373{
374 return get_ea_name(out, ea, GN_VISIBLE|GN_DEMANGLED|GN_LONG|gtn_flags);
375}
376
377inline ssize_t idaapi get_colored_short_name(qstring *out, ea_t ea, int gtn_flags=0)
378{
379 return get_ea_name(out, ea, GN_VISIBLE|GN_COLORED|GN_DEMANGLED|GN_SHORT|gtn_flags);
380}
381
382inline ssize_t idaapi get_colored_long_name(qstring *out, ea_t ea, int gtn_flags=0)
383{
384 return get_ea_name(out, ea, GN_VISIBLE|GN_COLORED|GN_DEMANGLED|GN_LONG|gtn_flags);
385}
386
388 qstring *out,
389 ea_t ea,
390 int32 inhibitor,
391 int demform,
392 int gtn_flags=0)
393{
394 getname_info_t gtni;
395 gtni.inhibitor = inhibitor;
396 gtni.demform = demform;
397 gtn_flags |= GN_VISIBLE | GN_DEMANGLED;
398 return get_ea_name(out, ea, gtn_flags, &gtni);
399}
400
402 qstring *out,
403 ea_t ea,
404 int32 inhibitor,
405 int demform,
406 int gtn_flags=0)
407{
408 return get_demangled_name(out, ea, inhibitor, demform, gtn_flags|GN_COLORED);
409}
410
411// Convenience functions for get_ea_name returning qstring
412
413inline qstring get_name(ea_t ea, int gtn_flags=0)
414{
415 qstring out;
416 get_ea_name(&out, ea, gtn_flags);
417 return out;
418}
419
420inline qstring get_visible_name(ea_t ea, int gtn_flags=0)
421{
422 qstring out;
423 get_ea_name(&out, ea, GN_VISIBLE|gtn_flags);
424 return out;
425}
426
427inline qstring idaapi get_colored_name(ea_t ea, int gtn_flags=0)
428{
429 qstring out;
430 get_ea_name(&out, ea, GN_VISIBLE|GN_COLORED|gtn_flags);
431 return out;
432}
433
434inline qstring idaapi get_short_name(ea_t ea, int gtn_flags=0)
435{
436 qstring out;
437 get_ea_name(&out, ea, GN_VISIBLE|GN_DEMANGLED|GN_SHORT|gtn_flags);
438 return out;
439}
440
441inline qstring idaapi get_long_name(ea_t ea, int gtn_flags=0)
442{
443 qstring out;
444 get_ea_name(&out, ea, GN_VISIBLE|GN_DEMANGLED|GN_LONG|gtn_flags);
445 return out;
446}
447
448inline qstring idaapi get_colored_short_name(ea_t ea, int gtn_flags=0)
449{
450 qstring out;
451 get_ea_name(&out, ea, GN_VISIBLE|GN_COLORED|GN_DEMANGLED|GN_SHORT|gtn_flags);
452 return out;
453}
454
455inline qstring idaapi get_colored_long_name(ea_t ea, int gtn_flags=0)
456{
457 qstring out;
458 get_ea_name(&out, ea, GN_VISIBLE|GN_COLORED|GN_DEMANGLED|GN_LONG|gtn_flags);
459 return out;
460}
461
463 ea_t ea,
464 int32 inhibitor,
465 int demform,
466 int gtn_flags=0)
467{
468 qstring out;
469 getname_info_t gtni;
470 gtni.inhibitor = inhibitor;
471 gtni.demform = demform;
472 gtn_flags |= GN_VISIBLE | GN_DEMANGLED;
473 get_ea_name(&out, ea, gtn_flags, &gtni);
474 return out;
475}
476
478 ea_t ea,
479 int32 inhibitor,
480 int demform,
481 int gtn_flags=0)
482{
483 qstring out;
484 get_demangled_name(&out, ea, inhibitor, demform, gtn_flags|GN_COLORED);
485 return out;
486}
487
489#ifdef FUNCS_HPP
490inline int calc_gtn_flags(ea_t from, ea_t ea)
491{
492 return func_contains(get_func(from), ea) ? GN_LOCAL : 0;
493}
494#endif
495
502
503idaman color_t ida_export get_name_color(ea_t from, ea_t ea);
504
505
509#define GETN_APPZERO 0x0001
511#define GETN_NOFIXUP 0x0002
512#define GETN_NODUMMY 0x0004
514
534
535idaman ssize_t ida_export get_name_expr(
536 qstring *out,
537 ea_t from,
538 int n,
539 ea_t ea,
540 uval_t off,
541 int flags=GETN_APPZERO);
542
555
557 qstring *buf,
558 ea_t ea,
559 int flags=0);
560
564#define GNCN_NOSEG 0x0001
565#define GNCN_NOCOLOR 0x0002
566#define GNCN_NOLABEL 0x0004
567#define GNCN_NOFUNC 0x0008
568#define GNCN_SEG_FUNC 0x0010
569#define GNCN_SEGNUM 0x0020
570#define GNCN_REQFUNC 0x0040
571#define GNCN_REQNAME 0x0080
572#define GNCN_NODBGNM 0x0100
573#define GNCN_PREFDBG 0x0200
575
576
591
593 qstring *out,
594 adiff_t *disp,
595 int n,
596 const tid_t *path,
597 int plen,
598 flags64_t flags,
599 adiff_t delta,
600 bool appzero);
601
602
618
619idaman int ida_export get_struct_operand(
620 adiff_t *disp,
621 adiff_t *delta,
622 tid_t *path,
623 ea_t ea,
624 int n);
625
626
629idaman bool ida_export is_public_name(ea_t ea);
630idaman void ida_export make_name_public(ea_t ea);
631idaman void ida_export make_name_non_public(ea_t ea);
633
634
637idaman bool ida_export is_weak_name(ea_t ea);
638idaman void ida_export make_name_weak(ea_t ea);
639idaman void ida_export make_name_non_weak(ea_t ea);
641
644
646
647idaman size_t ida_export get_nlist_size(void);
648
652
653idaman size_t ida_export get_nlist_idx(ea_t ea);
654
656
657idaman bool ida_export is_in_nlist(ea_t ea);
658
660
661idaman ea_t ida_export get_nlist_ea(size_t idx);
662
664
665idaman const char *ida_export get_nlist_name(size_t idx);
666
668
669idaman void ida_export rebuild_nlist(void);
671
673
674idaman void ida_export reorder_dummy_names(void);
675
684
687{
690 ea_name_t(void) : ea(BADADDR) {}
691 ea_name_t(ea_t _ea, const qstring &_name) : ea(_ea), name(_name) {}
692};
695
701idaman int ida_export set_debug_names(const ea_t *addrs, const char *const *names, int qty);
702idaman bool ida_export set_debug_name(ea_t ea, const char *name);
703idaman ssize_t ida_export get_debug_name(
704 qstring *out,
705 ea_t *ea_ptr,
706 debug_name_how_t how);
707idaman void ida_export del_debug_names(ea_t ea1, ea_t ea2);
708idaman ea_t ida_export get_debug_name_ea(const char *name);
709idaman void ida_export get_debug_names(ea_name_vec_t *names, ea_t ea1, ea_t ea2);
711
712
722
731
732idaman int32 ida_export demangle_name(
733 qstring *out,
734 const char *name,
735 uint32 disable_mask,
736 demreq_type_t demreq=DQT_FULL);
737
739inline qstring idaapi demangle_name(
740 const char *name,
741 uint32 disable_mask,
742 demreq_type_t demreq=DQT_FULL)
743{
744 qstring out;
745 demangle_name(&out, name, disable_mask, demreq);
746 return out;
747}
748
749
751{
752 return demangle_name(nullptr, name, 0, DQT_COMPILER);
753}
754
763
771idaman bool ida_export is_name_defined_locally(
772 func_t *pfn,
773 const char *name,
774 ignore_name_def_t ignore_name_def,
775 ea_t ea1=BADADDR,
776 ea_t ea2=BADADDR);
777
778// Clean a name.
779// This function removes punctuation marks (underscores and dots) from both
780// ends of the name, and other typical prefixes/suffixes. Name is assumed to
781// have the following format: [j_][@][.][_*][imp_]name[@digits][_NN]
782// \param out output buffer
783// \param ea address of the name (used to remove the module name)
784// if != BADADDR, the optional prefix (module name) will be
785// removed
786// \param name name to clean
787// \param flags combination of CN_... bits
788// \return true if returned a non-empty name
789idaman bool ida_export cleanup_name(
790 qstring *out,
791 ea_t ea,
792 const char *name,
793 uint32 flags=0);
794
795#define CN_KEEP_TRAILING_DIGITS 0x01
796#define CN_KEEP_UNDERSCORES 0x02
798
799
800#endif // _NAME_HPP
A function is a set of continuous ranges of addresses with characteristics.
Definition funcs.hpp:85
uint64 flags
Function flags
Definition funcs.hpp:87
Reimplementation of vector class from STL.
Definition pro.h:2250
idaman func_t *ida_export get_func(ea_t ea)
Get pointer to function structure by address.
bool func_contains(func_t *pfn, ea_t ea)
Does the given function contain the given address?
Definition funcs.hpp:305
uchar color_t
see <lines.hpp>
Definition kernwin.hpp:26
idaman size_t n
Definition pro.h:997
const tinfo_t & type
Definition hexrays.hpp:7301
Contains the inf structure definition and some functions common to the whole IDA project.
uval_t uval_t
Definition kernwin.hpp:1878
ssize_t idaapi get_colored_short_name(qstring *out, ea_t ea, int gtn_flags=0)
Definition name.hpp:377
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?
qvector< ea_name_t > ea_name_vec_t
vector of ea,name pairs
Definition name.hpp:694
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.
idaman bool ida_export cleanup_name(qstring *out, ea_t ea, const char *name, uint32 flags=0)
const ignore_name_def_t ignore_regvar
Definition name.hpp:759
int ignore_name_def_t
What name types to ignore.
Definition name.hpp:756
idaman bool ida_export is_uname(const char *name)
Is valid user-specified name?
DECLARE_TYPE_AS_MOVABLE(ea_name_t)
idaman ea_t ida_export get_debug_name_ea(const char *name)
idaman bool ida_export make_name_user(ea_t ea)
int32 detect_compiler_using_demangler(const char *name)
Definition name.hpp:750
idaman bool ida_export make_name_auto(ea_t ea)
idaman bool ida_export is_weak_name(ea_t ea)
idaman bool ida_export is_public_name(ea_t ea)
idaman bool ida_export is_valid_typename(const char *name)
Is valid type name?
idaman bool ida_export is_in_nlist(ea_t ea)
Is the name included into the name list?
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?
bool del_global_name(ea_t ea)
Definition name.hpp:114
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 specifie...
Definition name.hpp:202
idaman bool ida_export set_debug_name(ea_t ea, const char *name)
idaman bool ida_export is_ident(const char *name)
Is a valid name? (including MangleChars)
bool is_visible_cp(wchar32_t cp)
Can a character be displayed in a name? (present in NameChars)
Definition name.hpp:208
idaman void ida_export make_name_non_weak(ea_t ea)
const ignore_name_def_t ignore_stkvar
Definition name.hpp:761
idaman size_t ida_export get_nlist_idx(ea_t ea)
Get index of the name in the list.
idaman size_t ida_export get_nlist_size(void)
Get number of names in the list.
idaman bool ida_export validate_name(qstring *name, nametype_t type, int flags=SN_NOCHECK)
Validate a name.
idaman void ida_export reorder_dummy_names(void)
Renumber dummy names.
idaman ssize_t ida_export extract_name(qstring *out, const char *line, int x)
Extract a name or address from the specified string.
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).
idaman int ida_export get_name_value(uval_t *value, ea_t from, const char *name)
Get value of the name.
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 ...
bool is_ident_cp(wchar32_t cp)
Can a character appear in a name? (present in NameChars or MangleChars)
Definition name.hpp:194
idaman ea_t ida_export dummy_name_ea(const char *name)
Is dummy name?
const ignore_name_def_t ignore_llabel
Definition name.hpp:760
ssize_t idaapi get_colored_name(qstring *out, ea_t ea, int gtn_flags=0)
Definition name.hpp:362
ssize_t idaapi get_visible_name(qstring *out, ea_t ea, int gtn_flags=0)
Definition name.hpp:357
idaman void ida_export del_debug_names(ea_t ea1, ea_t ea2)
nametype_t
Definition name.hpp:148
@ VNT_VISIBLE
visible cp (obsolete; will be deleted)
Definition name.hpp:153
@ VNT_TYPE
type name (can contain '<', '>', ...)
Definition name.hpp:150
@ VNT_UDTMEM
UDT (structure, union, enum) member.
Definition name.hpp:151
@ VNT_STRLIT
string literal
Definition name.hpp:152
@ VNT_IDENT
identifier (e.g., function name)
Definition name.hpp:149
idaman ea_t ida_export get_nlist_ea(size_t idx)
Get address from the list at 'idx'.
ssize_t idaapi get_colored_demangled_name(qstring *out, ea_t ea, int32 inhibitor, int demform, int gtn_flags=0)
Definition name.hpp:401
idaman void ida_export make_name_public(ea_t ea)
bool force_name(ea_t ea, const char *name, int flags=0)
Definition name.hpp:104
idaman int ida_export set_debug_names(const ea_t *addrs, const char *const *names, int qty)
ssize_t get_name(qstring *out, ea_t ea, int gtn_flags=0)
Definition name.hpp:352
idaman void ida_export get_debug_names(ea_name_vec_t *names, ea_t ea1, ea_t ea2)
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.
idaman int32 ida_export demangle_name(qstring *out, const char *name, uint32 disable_mask, demreq_type_t demreq=DQT_FULL)
Demangle a name.
idaman color_t ida_export get_name_color(ea_t from, ea_t ea)
Get name color.
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.
ucdr_kind_t
Definition name.hpp:140
@ UCDR_STRLIT
string literals
Definition name.hpp:141
@ UCDR_MANGLED
mangled names
Definition name.hpp:143
@ UCDR_TYPE
type names
Definition name.hpp:144
@ UCDR_NAME
regular (unmangled) names
Definition name.hpp:142
idaman void ida_export show_name(ea_t ea)
Insert name to the list of names.
debug_name_how_t
Specify strategy for retrieving debug names.
Definition name.hpp:678
@ DEBNAME_EXACT
find a name at exactly the specified address
Definition name.hpp:679
@ DEBNAME_UPPER
find a name with the address > the specified address
Definition name.hpp:681
@ DEBNAME_LOWER
find a name with the address >= the specified address
Definition name.hpp:680
@ DEBNAME_NICE
find a name with the address <= the specified address
Definition name.hpp:682
int calc_gtn_flags(ea_t from, ea_t ea)
Calculate flags for get_ea_name() function.
Definition name.hpp:490
ssize_t idaapi get_demangled_name(qstring *out, ea_t ea, int32 inhibitor, int demform, int gtn_flags=0)
Definition name.hpp:387
idaman const char *ida_export get_nlist_name(size_t idx)
Get name using idx.
ssize_t idaapi get_colored_long_name(qstring *out, ea_t ea, int gtn_flags=0)
Definition name.hpp:382
bool del_local_name(ea_t ea)
Definition name.hpp:115
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?
const ignore_name_def_t ignore_none
Definition name.hpp:758
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.
ssize_t idaapi get_short_name(qstring *out, ea_t ea, int gtn_flags=0)
Definition name.hpp:367
const ignore_name_def_t ignore_glabel
Definition name.hpp:762
idaman ea_t ida_export get_name_ea(ea_t from, const char *name)
Get the address of a name.
ssize_t idaapi get_long_name(qstring *out, ea_t ea, int gtn_flags=0)
Definition name.hpp:372
idaman void ida_export hide_name(ea_t ea)
Remove name from the list of names.
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.
idaman void ida_export rebuild_nlist(void)
Rebuild the name list.
idaman void ida_export make_name_weak(ea_t ea)
idaman ssize_t ida_export get_debug_name(qstring *out, ea_t *ea_ptr, debug_name_how_t how)
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.
idaman void ida_export make_name_non_public(ea_t ea)
idaman bool ida_export set_dummy_name(ea_t from, ea_t ea)
Give an autogenerated (dummy) name.
demreq_type_t
Definition name.hpp:714
@ DQT_COMPILER
only detect compiler that generated the name
Definition name.hpp:718
@ DQT_NAME_TYPE
only detect the name type (data/code)
Definition name.hpp:719
@ DQT_NPURGED_8
only calculate number of purged bytes (sizeof(arg)==8)
Definition name.hpp:715
@ DQT_NPURGED_4
only calculate number of purged bytes (sizeof(arg)==4)
Definition name.hpp:716
@ DQT_FULL
really demangle
Definition name.hpp:720
@ DQT_NPURGED_2
only calculate number of purged bytes (sizeof(arg)==2)
Definition name.hpp:717
unsigned int uint32
unsigned 32 bit value
Definition pro.h:348
uint32 wchar32_t
Definition pro.h:371
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
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
ea_t tid_t
type id (for enums, structs, etc)
Definition pro.h:5010
_qstring< char > qstring
regular string
Definition pro.h:3694
qvector< const rangeset_t * > rangeset_crefvec_t
Definition range.hpp:287
ea, name pair
Definition name.hpp:687
ea_t ea
Definition name.hpp:688
ea_name_t(void)
Definition name.hpp:690
qstring name
Definition name.hpp:689
ea_name_t(ea_t _ea, const qstring &_name)
Definition name.hpp:691
Additional information for get_ea_name() function.
Definition name.hpp:308
int32 inhibitor
codes to inhibit parts of demangled name (see MNG_).
Definition name.hpp:310
int32 demcode
out: return value of demangler
Definition name.hpp:313
size_t cb
size of this struct
Definition name.hpp:309
int32 demform
demangle only if idainfo::demnames is equal to 'demform'.
Definition name.hpp:312
getname_info_t(void)
Definition name.hpp:314