70 lines
1.0 KiB
Plaintext
70 lines
1.0 KiB
Plaintext
include "common.fbs";
|
|
|
|
namespace xe.debug.proto;
|
|
|
|
enum ModuleType:byte {
|
|
Kernel = 0,
|
|
User = 1,
|
|
}
|
|
|
|
table Module {
|
|
object:XObject;
|
|
type:ModuleType;
|
|
name:string;
|
|
path:string;
|
|
|
|
// TODO(benvanik): xex info/etc?
|
|
}
|
|
|
|
table ListModulesRequest {
|
|
}
|
|
struct ListModuleEntry {
|
|
handle:uint;
|
|
function_count:uint;
|
|
}
|
|
table ListModulesResponse {
|
|
entry:[ListModuleEntry];
|
|
}
|
|
|
|
table GetModuleRequest {
|
|
module_id:uint;
|
|
}
|
|
table GetModuleResponse {
|
|
module:Module;
|
|
}
|
|
|
|
table FunctionEntry {
|
|
identifier:ulong;
|
|
address_start:uint;
|
|
address_end:uint;
|
|
name:string;
|
|
}
|
|
table Function {
|
|
identifier:ulong;
|
|
address_start:uint;
|
|
address_end:uint;
|
|
name:string;
|
|
|
|
machine_code_start:uint;
|
|
machine_code_end:uint;
|
|
|
|
disasm_hir_raw:string;
|
|
disasm_hir_opt:string;
|
|
}
|
|
|
|
table ListFunctionsRequest {
|
|
module_id:uint;
|
|
function_index_start:uint;
|
|
function_index_end:uint;
|
|
}
|
|
table ListFunctionsResponse {
|
|
entry:[FunctionEntry];
|
|
}
|
|
|
|
table GetFunctionRequest {
|
|
identifier:ulong;
|
|
}
|
|
table GetFunctionResponse {
|
|
function:Function;
|
|
}
|