/*
** apibreak.h
**
*/

#ifndef APIBREAK_H_
#define APIBREAK_H_

#include <mruby.h>
#include "mrdb.h"

int32_t mrb_debug_set_break_line(mrb_state*, mrb_debug_context*, const char*, uint16_t);
int32_t mrb_debug_set_break_method(mrb_state*, mrb_debug_context*, const char*, const char*);
int32_t mrb_debug_get_breaknum(mrb_state*, mrb_debug_context*);
int32_t mrb_debug_get_break_all(mrb_state*, mrb_debug_context*, uint32_t, mrb_debug_breakpoint bp[]);
int32_t mrb_debug_get_break(mrb_state*, mrb_debug_context*, uint32_t, mrb_debug_breakpoint*);
int32_t mrb_debug_delete_break(mrb_state*, mrb_debug_context*, uint32_t);
int32_t mrb_debug_delete_break_all(mrb_state*, mrb_debug_context*);
int32_t mrb_debug_enable_break(mrb_state*, mrb_debug_context*, uint32_t);
int32_t mrb_debug_enable_break_all(mrb_state*, mrb_debug_context*);
int32_t mrb_debug_disable_break(mrb_state*, mrb_debug_context*, uint32_t);
int32_t mrb_debug_disable_break_all(mrb_state*, mrb_debug_context*);
int32_t mrb_debug_check_breakpoint_line(mrb_state*, mrb_debug_context*, const char*, uint16_t);
int32_t mrb_debug_check_breakpoint_method(mrb_state*, mrb_debug_context*, struct RClass*, mrb_sym, mrb_bool*);

#endif /* APIBREAK_H_ */
