Trees | Indices | Help |
|
---|
|
IDA Plugin SDK API wrapper: typeinf
Classes | |
aloc_visitor_t Proxy of C++ aloc_visitor_t class. |
|
argloc_t Proxy of C++ argloc_t class. |
|
argpart_t Proxy of C++ argpart_t class. |
|
argpartvec_t Proxy of C++ qvector< argpart_t > class. |
|
array_type_data_t Proxy of C++ array_type_data_t class. |
|
bitfield_type_data_t Proxy of C++ bitfield_type_data_t class. |
|
callregs_t Proxy of C++ callregs_t class. |
|
const_aloc_visitor_t Proxy of C++ const_aloc_visitor_t class. |
|
enum_member_t Proxy of C++ enum_member_t class. |
|
enum_member_vec_t Proxy of C++ qvector< enum_member_t > class. |
|
enum_type_data_t Proxy of C++ enum_type_data_t class. |
|
func_type_data_t Proxy of C++ func_type_data_t class. |
|
funcarg_t Proxy of C++ funcarg_t class. |
|
funcargvec_t Proxy of C++ qvector< funcarg_t > class. |
|
ida_lowertype_helper_t Proxy of C++ ida_lowertype_helper_t class. |
|
lowertype_helper_t Proxy of C++ lowertype_helper_t class. |
|
predicate_t Proxy of C++ predicate_t class. |
|
ptr_type_data_t Proxy of C++ ptr_type_data_t class. |
|
reginfovec_t Proxy of C++ qvector< reg_info_t > class. |
|
regobj_t Proxy of C++ regobj_t class. |
|
regobjs_t Proxy of C++ regobjs_t class. |
|
regobjvec_t Proxy of C++ qvector< regobj_t > class. |
|
rrel_t Proxy of C++ rrel_t class. |
|
scattered_aloc_t Proxy of C++ scattered_aloc_t class. |
|
simd_info_t Proxy of C++ simd_info_t class. |
|
text_sink_t Proxy of C++ text_sink_t class. |
|
til_symbol_t Proxy of C++ til_symbol_t class. |
|
til_t Proxy of C++ til_t class. |
|
tinfo_t Proxy of C++ tinfo_t class. |
|
tinfo_visitor_t Proxy of C++ tinfo_visitor_t class. |
|
type_attr_t Proxy of C++ type_attr_t class. |
|
type_attrs_t Proxy of C++ qvector< type_attr_t > class. |
|
type_mods_t Proxy of C++ type_mods_t class. |
|
typedef_type_data_t Proxy of C++ typedef_type_data_t class. |
|
udt_member_t Proxy of C++ udt_member_t class. |
|
udt_type_data_t Proxy of C++ udt_type_data_t class. |
|
udtmembervec_t Proxy of C++ qvector< udt_member_t > class. |
|
valstr_t Proxy of C++ valstr_t class. |
|
valstrs_t Proxy of C++ valstrs_t class. |
|
valstrvec_t Proxy of C++ qvector< valstr_t > class. |
Functions | |||
int |
|
||
uint32 |
|
||
uint32 |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
|
|||
str |
|
||
int |
|
||
bool |
|
||
PyObject * |
|
||
int |
|
||
uint32 |
|
||
uint32 |
|
||
bool |
|
||
|
|||
bool |
|
||
bool |
|
||
int |
|
||
uint32 |
|
||
|
|||
str |
|
||
bool |
|
||
comp_t |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
char const * |
|
||
str |
|
||
|
|||
bool |
|
||
int |
|
||
char const * |
|
||
int |
|
||
int |
|
||
|
|||
bool |
|
||
bool |
|
||
str |
|
||
|
|||
str |
|
||
uint32 |
|
||
PyObject * |
|
||
type_t |
|
||
str |
|
||
str |
|
||
comp_t |
|
||
char const * |
|
||
char const * |
|
||
|
|||
str |
|
||
type_t |
|
||
bool |
|
||
til_t |
|
||
PyObject * |
|
||
PyObject * |
|
||
PyObject * |
|
||
char const * |
|
||
int |
|
||
uint32 |
|
||
type_t |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
size_t |
|
||
size_t |
|
||
size_t |
|
||
type_t |
|
||
int32 |
|
||
cm_t |
|
||
int |
|
||
int |
|
||
str |
|
||
PyObject * |
|
||
str |
|
||
PyObject * |
|
||
str |
|
||
PyObject * |
|
||
int |
|
||
PyObject * |
|
||
int |
|
||
tid_t |
|
||
bool |
|
||
bool |
|
||
comp_t |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
bool |
|
||
int |
|
||
til_t |
|
||
til_t |
|
||
int |
|
||
til_t |
|
||
char const * |
|
||
bool |
|
||
error_t |
|
||
error_t |
|
||
PyObject * |
|
||
PyObject * |
|
||
str |
|
||
int |
|
||
str |
|
||
PyObject * |
|
||
str |
|
||
str |
|
||
uint64 |
|
||
bool |
|
||
tinfo_t |
|
||
PyObject * |
|
||
int |
|
||
type_t const * |
|
||
tinfo_code_t |
|
||
uint32 |
|
||
bool |
|
||
bool |
|
||
|
|||
|
|||
bool |
|
||
bool |
|
||
bool |
|
||
tinfo_code_t |
|
||
bool |
|
||
bool |
|
||
size_t |
|
||
bool |
|
||
bool |
|
||
tinfo_t |
|
||
error_t |
|
||
error_t |
|
||
PyObject * |
|
||
PyObject * |
|
||
int |
|
||
int |
|
||
int |
|
||
uint64 |
|
Function Details |
Load a til file.
|
\call2{alloc_type_ordinals,ti,1}
|
Allocate a range of ordinal numbers for new types.
|
Add/remove/check ABI option General form of full abi name: abiname- opt1-opt2-... or -opt1-opt2-...
|
Serialize argument location.
|
Apply the type of the called function to the calling instruction. This function will append parameter comments and rename the local variables of the calling function. It also stores information about the instructions that initialize call arguments in the database. Use 'get_arg_addrs()' to retrieve it if necessary. Alternatively it is possible to hook to processor_t::arg_addrs_ready event.
|
Apply the specified type to the address. This function parses the declaration and calls 'apply_tinfo()'
|
Apply the specified named type to the address.
|
Apply the specified type and name to the address. This function checks if the address already has a type. If the old typedoes not exist or the new type is 'better' than the old type, then thenew type will be applied. A type is considered better if it has moreinformation (e.g. 'BTMT_STRUCT' is better than 'BT_INT' ).The same logic is with the name: if the address already have a meaningfulname, it will be preserved. Only if the old name does not exist or itis a dummy name like byte_123, it will be replaced by the new name.
|
Apply the specified type to the specified address. This function sets the type and tries to convert the item at the specified address to conform the type.
|
Helper function for the processor modules. to be called from \ph{use_stkarg_type}
|
Apply the specified type to the address
|
Mark the beginning of a large update operation on the types. Can be used with 'add_enum_member()' , add_struc_member, etc... Also see 'end_type_updating()'
|
Get C or C++ form of the name.
|
Calculate max number of lines of a formatted c data, when expanded ( 'PTV_EXPAND' ).
|
Returns the size of a type
|
Choose a type from the local type library.
|
Choose a type from the local type library and specify the pointer shift value.
|
Choose a type from a type library.
|
Collect garbage in til. Must be called before storing the til.
|
Convert 'Type parsing flags' to 'Type formatting flags' . Type parsing flags lesser than 0x10 don't have stable meaning and will be ignored (more on these flags can be seen in idc.idc)
|
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.
|
Create anonymous name for numbered type. This name can be used to reference a numbered type by its ordinal Ordinal names have the following format: '#' + set_de(ord) Returns: -1 if error, otherwise the name length
|
Delete information about a symbol.
|
Delete a numbered type.
|
Unload a til file.
|
Dereference a pointer.
|
Use 'func_type_data_t::dump()'
|
Mark the end of a large update operation on the types (see 'begin_type_updating()' )
|
Deserialize argument location.
|
Enumerate types. Returns mangled names. Never returns anonymous types. To include it, enumerate types by ordinals.
|
Compress larger argloc types and initiate the aloc visitor.
|
See 'for_all_arglocs()'
|
Free memory allocated by til.
|
Looks for a hole at the beginning of the stack arguments. Will make use of the IDB's 'func_t' function at that place (if present) to help determine the presence of such a hole.
|
Generic function for 'decorate_name()' (may be used in IDP modules)
|
The main function using these callbacks:
|
Get ABI name.
|
Find the final alias destination. If the ordinal has not been aliased, return the specified ordinal itself If failed, returns 0.
|
Retrieve addresses of argument initialization instructions
|
Get get basic type bits ( 'TYPE_BASE_MASK' )
|
Get compiler bits.
|
Get abbreviated compiler name.
|
Get full compiler name.
|
Get names of all built-in compilers.
|
Return a C expression that can be used to represent an enum member. If the value does not correspond to any single enum member, this function tries to find a bitwise combination of enum members that correspond to it. If more than half of value bits do not match any enum members, it fails.
|
Get basic type bits + type flags ( 'TYPE_FULL_MASK' )
|
Extract information from a 'tinfo_t' .
|
Get a type data by its name.
|
See 'get_named_type()' above.If the value in the 'ti' library is 32-bit, it will be sign-extended before being stored in the 'value' pointer.
|
Retrieve a type by its ordinal number.
|
Get type name (if exists) by its ordinal. If the type is anonymous, returns "". If failed, returns NULL
|
Get ordinal number of an idb type (struct/enum). The 'type' parameter is used only to determine the kind of the type (struct or enum) Use this function to find out the correspondence between idb types and til types
|
Get number of allocated ordinals.
|
Get type flags ( 'TYPE_FLAGS_MASK' )
|
Get type ordinal by its name.
|
Use 'func_type_data_t::guess_cc()'
|
Generate a type information about the id from the disassembly. id can be a structure/union/enum id or an address.
|
Copy a named type from til to idb.
|
is_autosync(name, tif) -> bool Is the specified idb type automatically synchronized?
|
Does the given model specify far code?.
|
See 'COMP_UNSURE' .
|
Does the given model specify far data?.
|
Check if the name is an ordinal name. Ordinal names have the following format: '#' + set_de(ord)
|
Does the calling convention clean the stack arguments upon return?.this function is valid only for x86 code
|
Identify an sdacl byte. The first sdacl byte has the following format: 11xx000x. The sdacl bytes are appended to udt fields. They indicate the start of type attributes (as the tah-bytes do). The sdacl bytes are used in the udt headers instead of the tah-byte. This is done for compatibility with old databases, they were already using sdacl bytes in udt headers and as udt field postfixes. (see "sdacl-typeattrs" in the type bit definitions)
|
The TAH byte (type attribute header byte) denotes the start of type attributes. (see "tah-typeattrs" in the type bit definitions)
|
Is the type an arithmetic type? (floating or integral)
|
See 'BT_ARRAY' .
|
See 'BT_BITFIELD' .
|
See 'BTF_BOOL' .
|
Does the type specify a char value? (signed or unsigned, see 'Basic type: integer' )
|
See 'BT_COMPLEX' .
|
See 'BTM_CONST' .
|
See 'BTF_DOUBLE' .
|
See 'BTF_ENUM' .
|
Is the type an extended arithmetic type? (arithmetic or enum)
|
Is the type an extended integral type? (integral or enum)
|
See 'BTF_FLOAT' .
|
Is the type a floating point type?
|
See 'BT_FUNC' .
|
Does the type_t specify one of the basic types in 'Basic type: integer' ?
|
Does the type specify a 128-bit value? (signed or unsigned, see 'Basic type: integer' )
|
Does the type specify a 16-bit value? (signed or unsigned, see 'Basic type: integer' )
|
Does the type specify a 32-bit value? (signed or unsigned, see 'Basic type: integer' )
|
Does the type specify a 64-bit value? (signed or unsigned, see 'Basic type: integer' )
|
Is the type an integral type (char/short/int/long/bool)?
|
See 'BTF_LDOUBLE' .
|
Is the type a pointer, array, or function type?
|
Identifies an unknown or void type with a known size (see 'Basic type: unknown & void' )
|
See 'BT_PTR' .
|
Is the type a pointer or array type?
|
See 'BTF_STRUCT' .
|
Is the type a struct or union?
|
Is the type a struct/union/enum?
|
See 'BTF_FLOAT' .
|
See 'BTF_TYPEDEF' .
|
See 'BTF_UCHAR' .
|
See 'BTF_UINT' .
|
See 'BTF_UINT128' .
|
See 'BTF_UINT16' .
|
See 'BTF_UINT32' .
|
See 'BTF_UINT64' .
|
See 'BTF_UNION' .
|
See 'BT_UNKNOWN' .
|
See 'BTF_VOID' .
|
See 'BTM_VOLATILE' .
|
Is the type_t the last byte of type declaration? (there are no additional bytes after a basic type, see '_BT_LAST_BASIC' )
|
Does the calling convention specify argument locations explicitly?
|
Does the calling convention use ellipsis?
|
Load til from a file. Failure to load base tils are reported into 'errbuf'. They do not prevent loading of the main til.
|
Get human-readable til description.
|
Lower type. Inspect the type and lower all function subtypes using lower_func_type().We call the prototypes usually encountered in source files "high level"They may have implicit arguments, array arguments, big structure retvals, etcWe introduce explicit arguments (i.e. 'this' pointer) and call the result"low level prototype". See 'FTI_HIGH' .In order to improve heuristics for recognition of big structure retvals,it is recommended to pass a helper that will be used to make decisions.That helper will be used only for lowering 'tif', and not for the childrentypes walked through by recursion.
|
Initialize a til.
|
Enumerate types. Returns mangled names. Never returns anonymous types. To include it, enumerate types by ordinals.
|
Verify and optimize scattered argloc into simple form. All new arglocs must be processed by this function.
|
Write a typed idc object to the byte vector. Byte vector may be non- empty, this function will append data to it
|
Write a typed idc object to the database.
|
Packs a typed object to a string
|
Write a typed object to the database. Raises an exception if wrong parameters were passed or conversion fails Returns the error_t returned by idaapi.pack_object_to_idb
|
Parse ONE declaration. If the input string contains more than one declaration, the first complete type declaration ( 'PT_TYP' ) or the last variable declaration ( 'PT_VAR' ) will be used.name & tif may be empty after the call!
|
Parse many declarations and store them in a til. If there are any errors, they will be printed using 'printer'. This function uses default include path and predefined macros from the database settings. It always uses the 'HTI_DCL' bit.
|
Convert an argloc to human readable form.
|
Print types (and possibly their dependencies) in a format suitable for use in a header file. This is the reverse 'parse_decls()' .
|
Get type declaration for the specified address.
|
'BT_PTR' : If the current type is a pointer, return the pointed object. If the current type is not a pointer, return the current type. See also get_ptrarr_object() and get_pointed_object() @param tif (C++: const tinfo_t &)
|
Remove pointer of a type. (i.e. convert "char *" into "char"). Optionally remove the "lp" (or similar) prefix of the input name. If the input type is not a pointer, then fail.
|
Replace references to ordinal types by name references. This function 'unties' the type from the current local type library and makes it easier to export it.
|
Set abi name (see 'Compiler IDs' )
|
Set include directory path the target compiler.
|
Set predefined macros for the target compiler.
|
Change current compiler.
|
Set the compiler id (see 'Compiler IDs' )
|
Store a type in the til. 'name' may be NULL for anonymous types. The specified ordinal must be free (no other type is using it). For ntf_flags, only 'NTF_REPLACE' is consulted.
|
Create a type alias. Redirects all references to source type to the destination type. This is equivalent to instantaneous replacement all reference to srctype by dsttype.
|
Store til to a file. If the til contains garbage, it will be collected before storing the til. Your plugin should call 'compact_til()' before calling 'store_til()' .
|
Read a typed idc object from the byte vector.
|
Collection of register objects. Read a typed idc object from the database
|
Unpacks a buffer into an object. Returns the error_t returned by idaapi.pack_object_to_idb
|
Verify 'argloc_t' .
|
Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Fri Oct 11 15:05:11 2019 | http://epydoc.sourceforge.net |