Why is there 2 places for structures in IDA: Local Types and Structures?
I randomly stumbled upon an answer in the product's help documentation:
https://www.hex-rays.com/products/ida/support/idadoc/1042.shtml
Apparently, it's assembly-level and C-level types.
What are Local Types local to?
The local types are types local to the current(local) type info library, which is the main and only type info library for the database, as I understand.
Why do I have to synchronize a type in the Local Types window to the idb in order to edit it?
Well, apparently, I don't have to, and I can edit Local Types if I press right mouse button on the type and choose Edit...
option.
Isn't it already in the database? It is certainly in the .idb database, isn't it?
It is.
When I dump typeinfo to the .idc file(File > Produce File > Dump typeinfo to IDC File...
) and then import it in the same or another database, why instead of importing defined Local Types to the Local Types window and defined structures in the Structures window to the Structures, it imports everything to both places?
Because it's doing it wrong: it takes Structures and Local Types and creates an .idc script that imports all types as assembly-level structures, instead of doing it properly: port assembly-level structures(Structures) as assembly-level structures and port C-level structures(Local Types) as C-level strutrures.