|
IDA SDK
|
functions to work with named types
Modules | |
| Flags for named types | |
| C/C++ naming flags | |
Enumerations | |
| enum | tinfo_code_t { TERR_OK = 0, TERR_SAVE = -1, TERR_SERIALIZE = -2, TERR_WRONGNAME = -3, TERR_BADSYNC = -4 } |
| Error codes for save_tinfo functions: More... | |
Functions | |
| idaman int ida_export | get_named_type (const til_t *ti, const char *name, int ntf_flags, const type_t **type=NULL, const p_list **fields=NULL, const char **cmt=NULL, const p_list **fieldcmts=NULL, sclass_t *sclass=NULL, uint32 *value=NULL) |
| Get named typeinfo. More... | |
| int idaapi | get_named_type64 (const til_t *ti, const char *name, int ntf_flags, const type_t **type=NULL, const p_list **fields=NULL, const char **cmt=NULL, const p_list **fieldcmts=NULL, sclass_t *sclass=NULL, uint64 *value=NULL) |
| See get_named_type() above. More... | |
| idaman bool ida_export | del_named_type (til_t *ti, const char *name, int ntf_flags) |
| Delete information about a symbol. More... | |
| idaman const char *ida_export | first_named_type (const til_t *ti, int ntf_flags) |
| Enumerate types. More... | |
| idaman const char *ida_export | next_named_type (const til_t *ti, const char *name, int ntf_flags) |
| Enumerate types. More... | |
| idaman uint32 ida_export | copy_named_type (til_t *dsttil, const til_t *srctil, const char *name) |
| Copy a named type from one til to another. More... | |
| idaman bool ida_export | decorate_name (qstring *out, const char *name, bool mangle, cm_t cc=CM_CC_UNKNOWN, const tinfo_t *type=NULL) |
| Decorate/undecorate a C symbol name. More... | |
| idaman bool ida_export | gen_decorate_name (qstring *out, const char *name, bool mangle, cm_t cc, const tinfo_t *type) |
| Generic function for decorate_name() (may be used in IDP modules) | |
| idaman ssize_t ida_export | calc_c_cpp_name (qstring *out, const char *name, const tinfo_t *type, int ccn_flags) |
| Get C or C++ form of the name. More... | |
| enum tinfo_code_t |
| idaman int ida_export get_named_type | ( | const til_t * | ti, |
| const char * | name, | ||
| int | ntf_flags, | ||
| const type_t ** | type = NULL, |
||
| const p_list ** | fields = NULL, |
||
| const char ** | cmt = NULL, |
||
| const p_list ** | fieldcmts = NULL, |
||
| sclass_t * | sclass = NULL, |
||
| uint32 * | value = NULL |
||
| ) |
Get named typeinfo.
The returned pointers are pointers to static storage.
They are valid until free_til(), set_named_type(), del_named_type(),
rename_named_type(), set_numbered_type(), del_numbered_type(),
and idb structure/enum manipulation (in other words, until til_t is changed).
| ti | pointer to type information library |
| name | name of type |
| ntf_flags | combination of Flags for named types |
| type | ptr to ptr to output buffer for the type info |
| fields | ptr to ptr to the field/args names. may be NULL |
| cmt | ptr to ptr to the main comment. may be NULL |
| fieldcmts | ptr to ptr to the field/args comments. may be NULL |
| sclass | ptr to storage class |
| value | ptr to symbol value. for types, ptr to the ordinal number |
| 0 | can't find the named type (or name==NULL) |
| 1 | ok, the buffers are filled with information (if not NULL) |
| 2 | ok, found it in a base til |
|
inline |
See get_named_type() above.
| idaman bool ida_export del_named_type | ( | til_t * | ti, |
| const char * | name, | ||
| int | ntf_flags | ||
| ) |
Delete information about a symbol.
| ti | type library |
| name | name of symbol |
| ntf_flags | combination of Flags for named types |
| idaman const char* ida_export first_named_type | ( | const til_t * | ti, |
| int | ntf_flags | ||
| ) |
Enumerate types.
Returns mangled names. Never returns anonymous types. To include it, enumerate types by ordinals.
| idaman const char* ida_export next_named_type | ( | const til_t * | ti, |
| const char * | name, | ||
| int | ntf_flags | ||
| ) |
Enumerate types.
Returns mangled names. Never returns anonymous types. To include it, enumerate types by ordinals.
| idaman uint32 ida_export copy_named_type | ( | til_t * | dsttil, |
| const til_t * | srctil, | ||
| const char * | name | ||
| ) |
Copy a named type from one til to another.
This function will copy the specified type and all dependent types from the source type library to the destination library.
| dsttil | Destination til. It must have orginal types enabled |
| srctil | Source til. |
| name | name of the type to copy |
| idaman bool ida_export decorate_name | ( | qstring * | out, |
| const char * | name, | ||
| bool | mangle, | ||
| cm_t | cc = CM_CC_UNKNOWN, |
||
| const tinfo_t * | type = NULL |
||
| ) |
Decorate/undecorate a C symbol name.
| out | output buffer |
| name | name of symbol |
| mangle | true-mangle, false-unmangle |
| cc | calling convention |
| type | name type (NULL-unknown) |
| idaman ssize_t ida_export calc_c_cpp_name | ( | qstring * | out, |
| const char * | name, | ||
| const tinfo_t * | type, | ||
| int | ccn_flags | ||
| ) |
Get C or C++ form of the name.
| out | output buffer |
| name | original (mangled or decorated) name |
| type | name type if known, otherwise NULL |
| ccn_flags | one of C/C++ naming flags |
1.8.9.1