|
IDA C++ SDK 9.2
|
Type related functions and class. More...
Enumerations | |
| enum | type_source_t { GUESSED_NONE , GUESSED_WEAK , GUESSED_FUNC , GUESSED_DATA , TS_NOELL = 0x8000000 , TS_SHRINK = 0x4000000 , TS_DONTREF = 0x2000000 , TS_MASK = 0xE000000 } |
| Type source (where the type information comes from) More... | |
Functions | |
| const char *hexapi | dstr (const tinfo_t *tif) |
| Print the specified type info. | |
| bool hexapi | is_type_correct (const type_t *ptr) |
| Verify a type string. | |
| bool hexapi | is_small_udt (const tinfo_t &tif) |
| Is a small structure or union? | |
| bool hexapi | is_nonbool_type (const tinfo_t &type) |
| Is definitely a non-boolean type? | |
| bool hexapi | is_bool_type (const tinfo_t &type) |
| Is a boolean type? | |
| THREAD_SAFE bool | is_ptr_or_array (type_t t) |
| Is a pointer or array type? | |
| THREAD_SAFE bool | is_paf (type_t t) |
| Is a pointer, array, or function type? | |
| THREAD_SAFE bool | is_inplace_def (const tinfo_t &type) |
| Is struct/union/enum definition (not declaration)? | |
| int hexapi | partial_type_num (const tinfo_t &type) |
| Calculate number of partial subtypes. | |
| tinfo_t hexapi | get_float_type (size_t width) |
| Get a type of a floating point value with the specified width. | |
| tinfo_t hexapi | get_int_type_by_width_and_sign (size_t srcwidth, type_sign_t sign) |
| Create a type info by width and sign. | |
| tinfo_t hexapi | get_unk_type (size_t size) |
| Create a partial type info by width. | |
| tinfo_t hexapi | dummy_ptrtype (size_t ptrsize, bool isfp) |
| Generate a dummy pointer type. | |
| tinfo_t hexapi | make_pointer (const tinfo_t &type) |
| Create a pointer type. | |
| tinfo_t hexapi | create_typedef (const char *name) |
| Create a reference to a named type. | |
| tinfo_t | create_typedef (int n) |
| Create a reference to an ordinal type. | |
| bool hexapi | get_type (uval_t id, tinfo_t *tif, type_source_t guess) |
| Get a global type. | |
| bool hexapi | set_type (uval_t id, const tinfo_t &tif, type_source_t source, bool force=false) |
| Set a global type. | |
Type related functions and class.
| enum type_source_t |
|
inline |
Print the specified type info.
This function can be used from a debugger by typing "tif->dstr()"
Verify a type string.
Is a small structure or union?
Is definitely a non-boolean type?
Is a boolean type?
Is struct/union/enum definition (not declaration)?
Calculate number of partial subtypes.
|
inline |
Get a type of a floating point value with the specified width.
| width | width of the desired type |
|
inline |
Create a type info by width and sign.
Returns a simple type (examples: int, short) with the given width and sign.
| srcwidth | size of the type in bytes |
| sign | sign of the type |
|
inline |
Create a partial type info by width.
Returns a partially defined type (examples: _DWORD, _BYTE) with the given width.
| size | size of the type in bytes. Must be a power of 2 (1, 2, 4, 8, 16). For non-power-of-2 sizes, returns an empty tinfo_t. Use make_valid_size() to round up arbitrary sizes before calling. |
Generate a dummy pointer type.
| ptrsize | size of pointed object |
| isfp | is floating point object? |
Create a pointer type.
This function performs the following conversion: "type" -> "type*"
| type | object type. |
|
inline |
Create a reference to a named type.
| name | type name |
Create a reference to an ordinal type.
| n | ordinal number of the type |
|
inline |
Get a global type.
Global types are types of addressable objects and struct/union/enum types
| id | address or id of the object |
| tif | buffer for the answer |
| guess | what kind of types to consider |
|
inline |
Set a global type.
| id | address or id of the object |
| tif | new type info |
| source | where the type comes from |
| force | true means to set the type as is, false means to merge the new type with the possibly existing old type info. |