#ifndef DBX_RNT_H
#define DBX_RNT_H 1


#ifdef SET_LINE
#undef SET_LINE
#endif
#define SET_LINE(x) dbx_line_nr=x;if(yafl_step_mode)monitor(x);
extern int dbx_line_nr;
extern int yafl_step_mode;

/* define aliases for conveniency reasons */
/*
typedef module_dual dbx_module;
typedef minimal_dual dbx_class;
typedef METHOD_INFO dbx_method;
typedef FIELD_INFO dbx_field;
typedef LOCAL_INFO dbx_local;
*/

#define dbx_field FIELD_INFO
#define dbx_local LOCAL_INFO

void dbx_add_module   YARGS((dbx_module *module));
void dbx_add_class    YARGS((dbx_class *class));
dbx_method *dbx_add_method   YARGS((void));
dbx_field *dbx_add_field    YARGS((char*          name,
                             minimal_dual*  type,
                             unsigned       level,
                             VOID*          data,
                             unsigned       offset));

dbx_local *dbx_add_local    YARGS((char*         name,
                             minimal_dual* type,
                             unsigned      level,
                             VOID*         data,
                             unsigned      offset));

void dbx_push_call   YARGS((dbx_method*     pm,
                            VOID *          context,
		            obj_ptr *       this));
void dbx_pop_call YARGS((void));

void dbx_down_level YARGS((void));
void dbx_up_level YARGS((void));

void init_dbx_rnt YARGS((void));
void term_dbx_rnt YARGS((void));

#endif
