Expand description
Raw FFI bindings to IDA’s idalib runtime and the idakit C++ facade.
The declarations are split into per-domain source modules (runtime, function, bytes,
hexrays, …) that mirror the facade’s translation units, but every item is re-exported
flat at the crate root, so the public surface is a single namespace
(idakit_sys::idakit_get_bytes, idakit_sys::EmitVtbl), not a module hierarchy. There are
no safe wrappers here; those belong in idakit.
§Buffer conventions
Functions that accept (*mut c_char, cap: usize) copy the value into the
caller-supplied buffer and NUL-terminate within cap bytes. The return value
is the full source length, which may exceed cap when the output was
truncated. A negative return value means the query failed (missing symbol,
null handle, etc.).
§Owned handles
idakit_binpat_compile returns an opaque *mut c_void handle owned by the caller,
released with its matching idakit_binpat_free. Passing a handle to any other function
after release is undefined behaviour.
Structs§
- Block
Info - One basic block’s bounds and kind, returned by value from
cfg_block. - CFunc
- The SDK’s
cfuncptr_t(qrefcnt_t<cfunc_t>), an opaque decompilation result handled only behind indirection (&CFuncorUniquePtr<CFunc>). - Case
Desc - One
switchcase, as passed toEmitVtbl::s_switch. - Chunk
Info - One function chunk: its index paired with its address range.
- Ctree
Counts - Statement, expression, and call-site counts of a decompiled function’s ctree, returned by value from
cfunc_counts. - Emit
Vtbl - The callbacks the facade invokes while streaming a ctree walk. The consumer (idakit)
builds owned nodes inside each callback and returns the handle the parent will
reference; children are emitted before parents.
#[repr(C)]and field order mirroridakit_emit_vtbl_texactly, since the facade indexes by offset. - Enum
Const Info - One enum constant, a lifetime-generic shared struct with a borrowed
name, the enum twin ofMemberInfo. - ExprGap
- The ctree extraction-fidelity diagnostic, returned by value from
cfunc_expr_gap. - Flow
Chart - The SDK’s
qflow_chart_t, an opaque control-flow graph handled only behind indirection (&FlowChartorUniquePtr<FlowChart>). - Frame
Var - One stack-frame variable, an owned shared struct returned in a
FrameWalk. - Frame
Walk - A walked stack frame: its total byte size and its variables, returned by
[
frame_type_walk_visit]. - Import
Rec - One import-table row, returned inside the
imports_buildsnapshot. - Instruction
Data - A decoded instruction, returned by value from
decode_insn;statuscarries the raw result code andopsis right-sized to the populated operands. - IntVec
- An
Opaquecxxbinding of the SDK containerintvec_t. - LocPiece
- One fragment of a scattered (
ALOC_DIST) local’s location, as the facade passes it insideLvarLoc::pieces.atypeis the fragment’s ownALOC_*(a register or stack slot). - LvarLoc
- A local variable’s location, decoded from IDA’s
argloc_tand passed toEmitVtbl::l_lvar.atypeis theALOC_*discriminant; only the fields it selects are meaningful:reg1(REG1 / REG2 low / RREL reg),reg2(REG2 high),sval(STACK offset / STATIC ea / RREL displacement).pieces/npiecesdescribe a scattered location and are empty otherwise. - Member
Info - One struct/union member, a lifetime-generic shared struct whose
nameborrows a C++ stack temporary for the duration of onefill_structcall. - Operand
Data - One decoded operand; which fields are meaningful depends on
kind. - RangeT
- A
#[repr(C)]mirror of the SDK’srange_t, crossing the bridge by value as aTrivialExternType. - Range
Vec - An
Opaquecxxbinding of the SDK containerrangevec_t. - Register
Data - One register reference in a decoded operand, nested by value in an
OperandData. - SigWrite
Result - The outcome of a signature-surgery call that also reports the function’s parameter count.
- Strlist
Item - One string-list entry: its address, octet length, and
STRTYPEcode. - TInfo
- The SDK’s
tinfo_t, an opaque type-info handle handled only behind indirection (&TInfoorUniquePtr<TInfo>). - Type
Walk Visitor - The
cxxextern "Rust"opaque the C++ type walk drives by calling its&mut selfmethods, each forwarding into theTypeWalkSinkit was built over. - Type
Write Result - The outcome of a type-write call, returned by value from every type-write function except the two signature-surgery fns.
- XrefRec
- One cross-reference edge, returned inside the
xrefs_buildsnapshot.
Constants§
- BADADDR
- The invalid-address sentinel (
BADADDR); everyAddress-returning facade call uses it for “no address”. - BIN_
SEARCH_ BITMASK BIN_SEARCH_BITMASKfrombytes.hpp(IDA 9.3): match under a strict bit mask rather than byte-granular wildcards.- BIN_
SEARCH_ CASE BIN_SEARCH_CASEfrombytes.hpp(IDA 9.3): match"..."string literals case-sensitively (the default is case-insensitive).- FC_
CALL_ ENDS FC_CALL_ENDSfromgdl.hpp: call instructions terminate a basic block.- FC_
NOEXT FC_NOEXTfromgdl.hpp: omit external blocks (jump targets outside the function).- FC_
NOPREDS FC_NOPREDSfromgdl.hpp: skip predecessor-list computation.- FF_CODE
MS_CLS-masked flag value marking an address as the head of an instruction.- FF_DATA
MS_CLS-masked flag value marking an address as the head of a data item.- FF_LABL
FF_LABL(bytes.hpp): the address has a dummy (address-derived) name. SeeFF_NAME.- FF_NAME
FF_NAME(bytes.hpp): the address has an explicit or auto-generated name. WithFF_LABLit forms IDA’s two-bit name classification. The SDK#undefs these at the end of the header, so the values are mirrored here and pinned to IDA’s own predicates by an alignment test inidakit.- FRAME_
VAR_ RETADDR FrameVarflag: the return-address slot in the frame.- FRAME_
VAR_ SAVREGS FrameVarflag: the saved-registers slot in the frame.- FUNC_
LIB FUNC_LIBfromfuncs.hpp: a library function.- FUNC_
NORET FUNC_NORETfromfuncs.hpp: the function does not return.- FUNC_
THUNK FUNC_THUNKfromfuncs.hpp: a thunk (jump) function.- IDAKIT_
EXIT_ TRAPPED - IDAKIT_
FLOW_ CALL - Control-flow bit flags for a decoded instruction.
- IDAKIT_
FLOW_ INDIRECT - See
IDAKIT_FLOW_CALL. - IDAKIT_
FLOW_ JUMP - See
IDAKIT_FLOW_CALL. - IDAKIT_
FLOW_ RET - See
IDAKIT_FLOW_CALL. - IDAKIT_
FLOW_ STOPS - See
IDAKIT_FLOW_CALL. - IDAKIT_
MAX_ OPS - Maximum operands the instruction bridge fills, matching
UA_MAXOP. - IDAKIT_
MEMBER_ APPEND member_bitvalue that appends a new member at the end rather than a fixed offset.- IDAKIT_
NONE - Absent optional child / sentinel, matching
IDAKIT_NONEin the facade. - IDAKIT_
OP_ DTYPE_ COUNT - Number of
op_dtype_tvalues idakit mirrors (theop_dtype_idsalignment-source length). - IDAKIT_
OP_ FAR - See
IDAKIT_OP_REG. - IDAKIT_
OP_ IMM - See
IDAKIT_OP_REG. - IDAKIT_
OP_ MEM - See
IDAKIT_OP_REG. - IDAKIT_
OP_ NEAR - See
IDAKIT_OP_REG. - IDAKIT_
OP_ REG - Semantic operand kinds; the raw
optypeis folded into these. - IDAKIT_
RECIPE_ ARRAY - Recipe opcode: pop one type, push an array of it, followed by a
u64element count. - IDAKIT_
RECIPE_ BOOL - Recipe opcode: push the boolean type.
- IDAKIT_
RECIPE_ CONST - Recipe opcode: pop one type, push its
const-qualified form. - IDAKIT_
RECIPE_ DECL - Recipe opcode: push a parsed declaration, followed by a
u32length and that many decl bytes. - IDAKIT_
RECIPE_ FLOAT - Recipe opcode: push a float, followed by a
u8width in bytes. - IDAKIT_
RECIPE_ FUNCTION - Recipe opcode: build a function type. Followed by a
u32parameter count, au8varargs flag, au16calling convention (0 = default), then that manyu32-length-prefixed parameter names; pops the parameter types then the return type (return pushed first) and pushes the function. - IDAKIT_
RECIPE_ INT - Recipe opcode: push an integer, followed by a
u8width in bytes and au8signedness flag. - IDAKIT_
RECIPE_ NAMED - Recipe opcode: push a named-type reference, followed by a
u32length and that many name bytes. - IDAKIT_
RECIPE_ PTR - Recipe opcode: pop one type, push a pointer to it.
- IDAKIT_
RECIPE_ VOID - Recipe opcode: push the
voidtype. Kept in lockstep withidakit_facade.hby hand. - IDAKIT_
RECIPE_ VOLATILE - Recipe opcode: pop one type, push its
volatile-qualified form. - IDAKIT_
REG_ CLASS_ COUNT - Number of idakit RegisterClass codes (the
reg_class_idsalignment-source length). - IDAKIT_
REG_ NONE - Sentinel for an absent base/index register in a decoded operand.
- IDAKIT_
SIG_ APPLY create_funcorapply_tinforejected the rebuilt signature.- IDAKIT_
SIG_ ARG_ RANGE - A parameter index was past the last parameter.
- IDAKIT_
SIG_ BUILD - A replacement-type recipe did not build.
- IDAKIT_
SIG_ NO_ PROTOTYPE - The address carries no function type to edit.
- IDAKIT_
SIG_ OK - A prototype-surgery edit succeeded.
- IDAKIT_
TEDIT_ BUILD - Member-edit pre-failure: a member-type recipe did not build.
- IDAKIT_
TEDIT_ NO_ MEMBER - Member-edit pre-failure: the member (by name or bit offset) did not resolve.
- IDAKIT_
TEDIT_ NO_ TYPE - Member-edit pre-failure: no such named type in the local til. A positive sentinel; a successful
edit is 0 and a kernel rejection is a negative
tinfo_code_t. - IDAKIT_
TYPE_ ERR_ APPLY apply_tinforejected the parsed/resolved/built type at the address.- IDAKIT_
TYPE_ ERR_ INPUT - A bad input to a type apply: an unparseable declaration, a named type that does not exist, or a malformed recipe.
- IDAKIT_
TYPE_ OK - Result of a successful type apply.
- MS_CLS
- Class mask over an address’s flags word (
MS_CLSinbytes.hpp); the masked value equalsFF_CODEfor an instruction orFF_DATAfor data. - SEGPERM_
EXEC SEGPERM_EXECfromsegment.hpp: the segment is executable.- SEGPERM_
READ SEGPERM_READfromsegment.hpp: the segment is readable.- SEGPERM_
WRITE SEGPERM_WRITEfromsegment.hpp: the segment is writable.- STRLYT_
MASK STRLYT_MASKfromnalt.hpp: the STRTYPE bits selecting the layout (terminated vs Pascal).- STRLYT_
SHIFT STRLYT_SHIFTfromnalt.hpp: right-shift applied to theSTRLYT_MASKfield.- STRWIDTH_
MASK STRWIDTH_MASKfromnalt.hpp: the STRTYPE bits selecting bytes-per-character.
Traits§
- Type
Walk Sink - A walk target the type visitor drives inline, one method per tinfo node kind.
Functions§
- apply_
named_ type - Resolve the existing named type
nameand apply it atea.codedistinguishes not-found (_ERR_INPUT) from an apply rejection (_ERR_APPLY);reasonis empty (no error channel). - apply_
type_ decl - Parse
declagainst the local til and apply it atea.codeisIDAKIT_TYPE_OK,_ERR_INPUT(parse failed), or_ERR_APPLY. - apply_
type_ recipe - Build the
tinfothe postfix recipe encodes and apply it atea. Same codes asapply_type_decl;_ERR_INPUTis a malformed buffer or an unparseable embedded decl. An unknown named leaf builds a forward reference that fails later at apply, not here. - auto_
wait ⚠ - bitness
- Application bitness (
inf_get_app_bitness): 16, 32, or 64. - cfg2_
total_ edges - Total number of successor edges across the whole graph (the sum of every block’s
successor count). A free function over a
&FlowChartbuilt by the generated bridge. - cfg_
block - Bounds and kind of block
n;Errwhennis out of range. - cfg_
build - Build the flow chart for the function containing
ea;Errwhen no function is there. Runs analysis, so it can also fail from a thrown SDK exception. - cfg_
nblocks - Total number of basic blocks (external blocks included).
- cfg_
npred - Number of predecessors of block
n(0whennis out of range). - cfg_
nproper - Number of blocks belonging to the function’s own range.
- cfg_
nsucc - Number of successors of block
n(0whennis out of range). - cfg_
pred - The
i-th predecessor block index of blockn;Errwhenn/iis out of range. - cfg_
preds - The whole predecessor edge list of block
nas one ownedVec<u32>;Errwhennis out of range. - cfg_
succ - The
i-th successor block index of blockn;Errwhenn/iis out of range. - cfg_
succ_ vec - Borrow block
n’s successor edge list (qbasic_block_t::succ, anintvec_t) out of the live flow chart;Errwhennis out of range. The returned&IntVecborrowsfc, so it cannot outlive it. - cfg_
succs - The whole successor edge list of block
nas one ownedVec<u32>;Errwhennis out of range. - cfunc_
counts - Statement, expression, and call-site counts of
cf’s ctree. - cfunc_
expr_ gap - The extraction-fidelity diagnostic for
cf: total expressions the SDK visitor sees vs how many the extraction walker should materialize. - cfunc_
pseudocode - The rendered pseudocode of
cf, tags stripped;Errif the SDK cannot produce it. - clear_
type - Clear any type applied at
ea. Idempotent:codeisIDAKIT_TYPE_OKwhen there was nothing to clear;reasonis empty (no error channel). - close_
database ⚠ - decode_
insn - Decode the instruction at
ea, folding raw operands into semantic kinds with resolved register names and control-flow facts. Infallible at the boundary: the result code lands inInstructionData::statusrather than throwing, since the -3/-4 failures carry structured payloads. - decompile
- Decompile the function at
eainto a heapcfuncptr_towned by aUniquePtr(one owned ref);Erron any decompile failure. Wrapped in the facade trap, so a fatalexit()surfaces as a trappedErrthe caller distinguishes via its own trap query. TheUniquePtr’s cxx deleter runs~cfuncptr_t(release()) on drop. - define_
type - Parse the C declaration(s) in
inputinto the local til.codeis the parse-error count (0= ok). - demangle_
name - Fully demangled form of
name;Errwhennameis not mangled. - enable_
console_ ⚠messages - enum_
add_ member - Add an enum constant named
member_namewithvalueto the named enumtype_name. SameIDAKIT_TEDIT_*codes as theudt_*fns. - enum_
del_ member - Delete the enum constant
member_namefrom the named enumtype_name. - enum_
rename_ member - Rename the enum constant
member_namein the named enumtype_nametonew_name. - enum_
set_ member_ value - Set the value of the enum constant
member_namein the named enumtype_name. - export_
ea - Address of export
idx, orBADADDRwhen the export is a pure forwarder. - export_
forwarder - Forwarder target of export
idx;Errwhen it has none (most exports do not). - export_
name - Name of export
idx;Errwhen it has none. - export_
ordinal - Ordinal of export
idx. - export_
qty - Number of exported entry points in the database (
get_entry_qty). - file_
type_ name - Human-readable input file format text;
Errwhen unavailable. - func_
chunk_ qty - Number of chunks (entry plus tails) of the function at
ea, or0. - func_ea
- Entry address of the
n-th function, orBADADDRwhennis out of range. - func_
end - Entry-chunk end address of the function at
ea, orBADADDRwhen not a function. - func_
flags func_t::flagsof the function atea, or0wheneais not a function.- func_
name - Name of the function at
ea;Errwhen it has none. - func_
prepend_ this - Insert an implicit
thisparameter of the recipe type at index 0, then rebuild and re-apply. - func_
qty - Number of functions in the database (
get_func_qty). - func_
rename_ arg - Rename parameter
idxtoname, then rebuild and re-apply.arityreports the current parameter count;IDAKIT_SIG_ARG_RANGEwhenidxis past it. - func_
set_ argtype - Replace parameter
idx’s type with the recipe type, then rebuild and re-apply.arityreports the current parameter count;IDAKIT_SIG_ARG_RANGEwhenidxis past it. - func_
set_ cc - Set the calling convention of the function type at
eato the rawCM_CC_*codecc, then rebuild and re-apply. - func_
set_ rettype - Replace the return type of the function type at
eawith the recipe type, then rebuild and re-apply. See theIDAKIT_SIG_*codes. - func_
start - Entry address of the function containing
ea, orBADADDRwhen there is none. - gen_
seg_ bitness - Address bits (16/32/64) of segment
n, or0when out of range. - gen_
seg_ class - Class of segment
n;Errwhennis out of range or has no class. - gen_
seg_ end - End address of segment
n, orBADADDRwhennis out of range. - gen_
seg_ name - Visible name of segment
n;Errwhennis out of range. - gen_
seg_ perm - Permission bits (
SEGPERM_*) of segmentn, or0when out of range. - gen_
seg_ qty - Number of segments in the current database (
get_segm_qty). - gen_
seg_ span_ total - Total byte span across all segments (sum of
end - start). Hand-written body. - gen_
seg_ start - Start address of segment
n, orBADADDRwhennis out of range. - get_
bytes - The
sizebytes ateaas an ownedVec<u8>;Errwhen the range is not fully mapped. - get_cmt
- The regular (or repeatable, when
rptble) comment atea;Errwhen there is none. - get_
ea_ name - Name at address
ea;Errwhen the address has none. - get_
flags - Flag word of the item at
ea(get_flags). - get_
item_ end - Address just past the item covering
ea(get_item_end). - get_
item_ head - Start address of the item covering
ea(eaitself when it is an item head). - get_
library_ ⚠version - get_
name_ ea - Address the symbol
nameresolves to, orBADADDRwhen it is unknown. - get_
next_ head - Next item head after
ea, searching up tomaxea, orBADADDRwhen none. - get_
prev_ head - Previous item head before
ea, searching down tominea, orBADADDRwhen none. - get_
qerrno ⚠ - get_
strlit - The auto-detected string literal at
ea(given itsSTRTYPE) decoded to UTF-8;Errwhen there is none or it cannot be decoded. - get_u8
- The byte at
ea;Errwhen it is uninitialized. - get_u16
- The little-endian word at
ea;Errwhen any covered byte is uninitialized. - get_u32
- The little-endian dword at
ea;Errwhen any covered byte is uninitialized. - get_u64
- The little-endian qword at
ea;Errwhen any covered byte is uninitialized. - has_
auto_ name - Whether a flags word marks an IDA-generated (auto) name.
- has_
dummy_ name - Whether a flags word marks a dummy (address-derived) name.
- has_
user_ name - Whether a flags word marks a user-given (explicit) name.
- idakit_
accept_ ⚠eula - idakit_
bin_ ⚠search - idakit_
binpat_ ⚠compile - idakit_
binpat_ ⚠free - idakit_
binpat_ ⚠from_ bytes - idakit_
binpat_ ⚠stats - idakit_
cfunc_ ⚠walk_ ctree - Walk
cfunc’s ctree, drivingvtbl(withctx) per node andvisitor(an opaqueTypeWalkVisitor) per node type, writing the root statement handle to*root. Returns 0 on success, non-zero if any pointer argument is null. - idakit_
func_ ⚠type - idakit_
get_ ⚠bytes - idakit_
guarded_ ⚠auto_ wait - idakit_
guarded_ ⚠close - idakit_
guarded_ ⚠open - idakit_
hexrays_ ⚠init - idakit_
init_ ⚠library - Facade wrapper: force headless (
TVHEADLESS) theninit_library; returns its rc. - idakit_
last_ ⚠exit_ code - idakit_
last_ ⚠output - idakit_
patch_ ⚠bytes - idakit_
reg_ ⚠read_ int - idakit_
set_ ⚠batch - Set IDA’s
batchglobal: nonzero suppresses dialogs/auto-answers prompts, zero restores interactive behavior. - idakit_
type_ ⚠name_ at - Name of the type at
ordinalinto(buf, cap), returning its full length (0 for an anonymous type, negative if the ordinal holds no type). - idakit_
type_ ⚠ordinal_ limit - Exclusive upper bound on local-type ordinals: valid ordinals run
1..limit. - idakit_
was_ ⚠trapped - image_
base - Preferred load address of the input (
get_imagebase). - imports_
build - The whole import table as an owned,
Sendsnapshot, built in one walk of every module’senum_import_names. - init_
library ⚠ - input_
path - Full path of the analyzed input;
Errwhen unknown. - intvec_
copy - Copy an
intvec_tinto an ownedVec<i32>(the allocation/copy path). - intvec_
len - Element count of an
intvec_t, via itsqvector::size(). - intvec_
slice - Borrow an
intvec_t’s backing store as&[i32](the zero-copy path). The slice borrowsv, so it cannot outlive it. - is_
main_ ⚠thread - max_ea
- One past the highest mapped address in the database (
inf_get_max_ea). - min_ea
- Lowest mapped address in the database (
inf_get_min_ea). - nlist_
ea - Address of name-list entry
idx. - nlist_
name - Name of name-list entry
idx;Errwhenidxis out of range. - nlist_
size - Number of entries in the sorted name list (
get_nlist_size). - op_
dtype_ ids - This SDK’s
op_dtype_t(dt_*) values in idakitDataType’s discriminant order, an alignment source for a mirror test. - open_
database ⚠ - proc_
name - Processor module id, e.g.
metapc;Errwhen none is set. - qstrerror⚠
- Describe an
error_t. The returned pointer borrows IDA’s static/thread-local storage: it must not be freed, and a laterqstrerrorcall on the same thread may overwrite it. Copy it into aCStr/Stringbefore the next IDA call. - range_
all_ chunks - Every chunk (entry plus tails) of the function at
eaas one ownedVec;Errwhen no function is there. - range_
chunk_ info - Chunk
nof the function ateaas aChunkInfo;Errwhennis out of range. - range_
entry_ chunk - Entry chunk (index
0) of the function containingea, returned by value;Errwhen no function is there. - range_
size - Size (
end - start) of arange_tpassed by value. - rangevec_
build_ chunks - Build a
rangevec_tof every chunk (entry plus tails) of the function atea, owned by aUniquePtr;Errwhen no function is there. - rangevec_
len - Element count of a
rangevec_t, via its inheritedqvector::size(). - rangevec_
slice - Borrow a
rangevec_t’s backing store as&[RangeT](the zero-copy path). The slice borrowsv, so it cannot outlive it. - reg_
class_ ids - The facade’s
RegisterClasscodes in idakit’s discriminant order, an alignment source pinning the Rust mirror to this SDK build in a test. - root_
filename - Base filename of the input;
Errwhen unknown. - set_cmt⚠
- set_
name ⚠ - strlist_
build - (Re)build IDA’s string list, an O(database) scan of the whole image.
- strlist_
item - The
n-th string-list entry as aStrlistItem;Errwhennis out of range. - strlist_
qty - Number of entries in the current string list (
get_strlist_qty). - strlit_
contents - Decode the string literal at
ea(given octet length andSTRTYPE) to UTF-8;Errwhen it cannot be decoded. - tinfo_
apply - Apply the built
handleatea(apply_tinfo,TINFO_DEFINITE | flags).codeisIDAKIT_TYPE_OK/_ERR_APPLY; the handle is not consumed. - tinfo_
array - An
nelems-element array ofinneras a fresh handle.inneris copied, not consumed; a null handle whennelemsexceedsu32or the array cannot be built. - tinfo_
bool - The boolean type as a fresh
UniquePtrhandle. - tinfo_
const - A
const-qualified copy ofinneras a fresh handle.inneris not consumed. - tinfo_
decl - The type
declparses to against the local til, as a fresh handle;Err(with the captured parse diagnostic) on a parse failure. - tinfo_
float - A
bytes-wide float (4 or 8) as a fresh handle; a null handle when the width is not 4 or 8. - tinfo_
int - A
bytes-wide integer (1/2/4/8/16), signed whenis_signed, as a fresh handle; a null handle when the width is unsupported. - tinfo_
named - The named type
nameas a fresh handle, an unresolved typedef ref. Builds a non-null forward reference even for a name absent from the local til, so the caller checks existence separately. - tinfo_
ptr - A pointer to
inneras a fresh handle.inneris copied, not consumed; a null handle if the pointer type cannot be built. - tinfo_
void - The
voidtype as a freshUniquePtrhandle, freed by the cxx deleter (~tinfo_t) on drop. - tinfo_
volatile - A
volatile-qualified copy ofinneras a fresh handle.inneris not consumed. - type_
walk_ ⚠visitor - Wrap a raw sink pointer as a
TypeWalkVisitorfor a walk driven outside this crate. - udt_
add_ member - Add a member of the recipe type to the named struct/union
type_nameat bit offsetmember_bit(or appended when it isIDAKIT_MEMBER_APPEND). An emptymember_nameadds an anonymous member. See theIDAKIT_TEDIT_*codes. - udt_
del_ member - Delete the member selected by
member_name(or, when it is empty, by bit offsetmember_bit) fromtype_name. - udt_
rename_ member - Rename the member selected by
member_name(or, when it is empty, by bit offsetmember_bit) intype_nametonew_name. - udt_
set_ member_ type - Replace the type of the member selected by
member_name(or, when it is empty, by bit offsetmember_bit) intype_namewith the recipe type. - walk_
frame_ type - Walk the stack frame of the function at
ea, interning each variable’s type intosinkand returning the frame size and variables.Nonewhen there is no function or frame atea. The returnedFrameVar::tyhandles index the tablesinkbuilt. - walk_
func_ type - Walk the prototype of the function at
eaintosink; the function-address twin ofwalk_type_named.Nonewhen the function has no type info. - walk_
type_ named - Walk the local type named
nameintosinkvia thecxxopaque visitor; returns the root handle, orNonewhen no such type exists (or a name was not valid UTF-8, surfaced as a thrownErr). - walk_
type_ ordinal - Walk the local type at
ordinalintosink; the ordinal twin ofwalk_type_named. - xrefs_
build - Every cross-reference edge at
eaas an owned,Sendsnapshot: xrefs toeawhenis_to, else xrefs from it. Ordinary next-instruction flow edges are excluded (XREF_NOFLOW).
Type Aliases§
- Address
- IDA’s effective address (
ea_t), compiled__EA64__.