minidump format types; open crash dump command, stub out opening path in control thread; expand d_handles to support machine id, entity id, *and* 'controller kind', which can be either a dump file or a demon - this properly separates the true process control abstraction (demon) from opening a regular dump file on any machine, which will let us trivially support any kind of dump file on any platform; also fix bad cfg tree state leak

This commit is contained in:
Ryan Fleury
2026-05-16 18:26:23 -07:00
parent c90cbb80aa
commit fddf353ea0
19 changed files with 496 additions and 165 deletions
+24 -2
View File
@@ -8,7 +8,13 @@
//~ rjf: ID Types
typedef U64 D_MsgID;
typedef U64 D_MachineID;
typedef U32 D_MachineID;
typedef U32 D_ControllerKind;
enum
{
D_ControllerKind_Demon,
D_ControllerKind_Dump,
};
#define D_MachineID_Local (1)
@@ -19,7 +25,8 @@ typedef struct D_Handle D_Handle;
struct D_Handle
{
D_MachineID machine_id;
DMN_Handle dmn_handle;
D_ControllerKind controller_kind;
U64 entity_id;
};
typedef struct D_HandleNode D_HandleNode;
@@ -227,6 +234,21 @@ struct D_EntityCtxLookupAccel
U64 entity_kind_arrays_gens[D_EntityKind_COUNT];
};
////////////////////////////////
//~ rjf: Opened Dump Cache Types
typedef struct D_DumpNode D_DumpNode;
struct D_DumpNode
{
D_DumpNode *next;
D_DumpNode *prev;
D_Handle process;
File file;
FileProperties props;
FileMap map;
void *base;
};
////////////////////////////////
//~ rjf: Tick Input Types