summaryrefslogtreecommitdiffhomepage
path: root/mixlib/mix_vm.h
diff options
context:
space:
mode:
Diffstat (limited to 'mixlib/mix_vm.h')
-rw-r--r--mixlib/mix_vm.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/mixlib/mix_vm.h b/mixlib/mix_vm.h
index a8b826e..663062b 100644
--- a/mixlib/mix_vm.h
+++ b/mixlib/mix_vm.h
@@ -162,6 +162,7 @@ mix_vm_reset_program (mix_vm_t *vm);
enum {
MIX_VM_ERROR, /* error executing instructions */
MIX_VM_BREAK, /* breakpoint found */
+ MIX_VM_COND_BREAK, /* conditional breakpoint found */
MIX_VM_HALT, /* end of execution */
MIX_VM_OK /* successful instruction execution */
};
@@ -205,6 +206,16 @@ mix_vm_has_breakpoint_at_address (const mix_vm_t *vm, guint address);
extern void
mix_vm_clear_all_breakpoints (mix_vm_t *vm);
+#include "mix_predicate.h"
+extern gint
+mix_vm_set_conditional_breakpoint (mix_vm_t *vm, mix_predicate_t *pred);
+
+extern gint
+mix_vm_clear_conditional_breakpoint (mix_vm_t *vm, mix_predicate_t *pred);
+
+extern const gchar *
+mix_vm_get_last_breakpoint_message (const mix_vm_t *vm);
+
/* Get the vm uptime, defined as the time spent executing instructions */
extern mix_time_t
mix_vm_get_uptime (const mix_vm_t *vm);