void ini_context_reset_service(Protocol * proto) { static ContextEventListener listener = { .context_disposed = event_context_disposed }; add_context_event_listener(&listener, NULL); context_extension_offset = context_extension(sizeof(ContextExtensionRS)); add_command_handler(proto, CONTEXT_RESET, "getCapabilities", command_get_capabilities); add_command_handler(proto, CONTEXT_RESET, "reset", command_reset); }
void ini_memory_map_service(void) { static ContextEventListener listener = { NULL, event_memory_map_changed, NULL, NULL, event_memory_map_changed }; add_context_event_listener(&listener, NULL); }
void ini_disassembly_service(Protocol * proto) { static ContextEventListener listener = { NULL, NULL, NULL, NULL, NULL, event_context_disposed }; add_context_event_listener(&listener, NULL); context_extension_offset = context_extension(sizeof(ContextExtensionDS)); add_command_handler(proto, DISASSEMBLY, "getCapabilities", command_get_capabilities); add_command_handler(proto, DISASSEMBLY, "disassemble", command_disassemble); }
void ini_symbols_lib(void) { static ContextEventListener ctx_listener = { NULL, event_context_exited, }; static MemoryMapEventListener map_listener = { event_module_loaded, NULL, event_module_unloaded }; add_context_event_listener(&ctx_listener, NULL); add_memory_map_event_listener(&map_listener, NULL); SymSetOptions(SymGetOptions() | SYMOPT_UNDNAME | SYMOPT_DEFERRED_LOADS); context_extension_offset = context_extension(sizeof(ContextExtensionWinSym)); }
void ini_memory_service(Protocol * proto, TCFBroadcastGroup * bcg) { static ContextEventListener listener = { event_context_created, event_context_exited, NULL, NULL, event_context_changed }; broadcast_group = bcg; add_context_event_listener(&listener, NULL); add_command_handler(proto, MEMORY, "getContext", command_get_context); add_command_handler(proto, MEMORY, "getChildren", command_get_children); add_command_handler(proto, MEMORY, "set", command_set); add_command_handler(proto, MEMORY, "get", command_get); add_command_handler(proto, MEMORY, "fill", command_fill); }
void ini_run_ctrl_service(Protocol * proto, TCFBroadcastGroup * bcg, TCFSuspendGroup * spg) { static ContextEventListener listener = { event_context_created, event_context_exited, event_context_stopped, event_context_started, event_context_changed }; suspend_group = spg; add_context_event_listener(&listener, bcg); add_command_handler(proto, RUN_CONTROL, "getContext", command_get_context); add_command_handler(proto, RUN_CONTROL, "getChildren", command_get_children); add_command_handler(proto, RUN_CONTROL, "getState", command_get_state); add_command_handler(proto, RUN_CONTROL, "resume", command_resume); add_command_handler(proto, RUN_CONTROL, "suspend", command_suspend); add_command_handler(proto, RUN_CONTROL, "terminate", command_terminate); }