aboutsummaryrefslogtreecommitdiffstats
path: root/idatui/__init__.py
diff options
context:
space:
mode:
authorblasty <blasty@local>2026-07-10 09:53:56 +0200
committerblasty <blasty@local>2026-07-10 09:53:56 +0200
commit29f8a238d0e316c4a0fe4081c5412a18f5bb3c64 (patch)
treef380c21b8c59e78962bf0d6bfe1d2be365ae93c6 /idatui/__init__.py
parentdecompiler: fall back to disassembly when decompilation fails (diff)
downloadida-tui-29f8a238d0e316c4a0fe4081c5412a18f5bb3c64.tar.gz
ida-tui-29f8a238d0e316c4a0fe4081c5412a18f5bb3c64.tar.xz
ida-tui-29f8a238d0e316c4a0fe4081c5412a18f5bb3c64.zip
struct editor: C-style CRUD for local types (Ctrl+T)
New StructEditor overlay: left is the list of local structs/unions, right is an editable C definition. Enter loads a struct (reconstructed as C from its member layout via type_inspect), Ctrl+S declares it (create or update via declare_type), Ctrl+N starts a new one, Del deletes, Esc returns to the list then closes. Domain: Struct model + Program.list_structs / struct_source / declare_type / delete_type (anonymous $-types filtered). Delete needs a 'del_type' tool the ida-pro-mcp server doesn't currently expose; delete_type detects its absence and reports a clear message instead of failing. Create/read/update work fully. Pilot checks: open, list, view C, create, update-in-place, delete(-or-report), close. full suite 84/84.
Diffstat (limited to 'idatui/__init__.py')
-rw-r--r--idatui/__init__.py2
1 files changed, 2 insertions, 0 deletions
diff --git a/idatui/__init__.py b/idatui/__init__.py
index 24f3c0f..a52ba8b 100644
--- a/idatui/__init__.py
+++ b/idatui/__init__.py
@@ -19,6 +19,7 @@ from .domain import (
Func,
Line,
Ref,
+ Struct,
Decompilation,
LIST_PAGE,
DISASM_BLOCK,
@@ -31,6 +32,7 @@ __all__ = [
"Func",
"Line",
"Ref",
+ "Struct",
"Decompilation",
"LIST_PAGE",
"DISASM_BLOCK",