db_run.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /* $OpenBSD: db_run.h,v 1.10 2010/11/27 19:57:23 miod Exp $ */
  2. /* $NetBSD: db_run.h,v 1.3 1996/02/05 01:57:14 christos Exp $ */
  3. /*
  4. * Mach Operating System
  5. * Copyright (c) 1993,1992,1991,1990 Carnegie Mellon University
  6. * All Rights Reserved.
  7. *
  8. * Permission to use, copy, modify and distribute this software and its
  9. * documentation is hereby granted, provided that both the copyright
  10. * notice and this permission notice appear in all copies of the
  11. * software, derivative works or modified versions, and any portions
  12. * thereof, and that both notices appear in supporting documentation.
  13. *
  14. * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
  15. * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
  16. * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
  17. *
  18. * Carnegie Mellon requests users of this software to return to
  19. *
  20. * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
  21. * School of Computer Science
  22. * Carnegie Mellon University
  23. * Pittsburgh PA 15213-3890
  24. *
  25. * any improvements or extensions that they make and grant Carnegie Mellon
  26. * the rights to redistribute these changes.
  27. *
  28. * Author: David B. Golub, Carnegie Mellon University
  29. * Date: 7/90
  30. */
  31. #ifndef _DDB_DB_RUN_
  32. #define _DDB_DB_RUN_
  33. /*
  34. * Commands to run process.
  35. */
  36. extern int db_inst_count;
  37. extern int db_cmd_loop_done;
  38. boolean_t db_stop_at_pc(db_regs_t *, boolean_t *);
  39. void db_restart_at_pc(db_regs_t *, boolean_t);
  40. void db_single_step(db_regs_t *);
  41. #ifndef db_set_single_step
  42. void db_set_single_step(db_regs_t *);
  43. #endif
  44. #ifndef db_clear_single_step
  45. void db_clear_single_step(db_regs_t *);
  46. #endif
  47. void db_single_step_cmd(db_expr_t, int, db_expr_t, char *);
  48. void db_trace_until_call_cmd(db_expr_t, int, db_expr_t, char *);
  49. void db_trace_until_matching_cmd(db_expr_t, int, db_expr_t, char *);
  50. void db_continue_cmd(db_expr_t, int, db_expr_t, char *);
  51. #ifdef SOFTWARE_SSTEP
  52. /*
  53. * I've seen this defined to (0) when it is not needed and then the proto will
  54. * not be correct, so skip it then.
  55. */
  56. #ifndef getreg_val
  57. extern register_t getreg_val(db_regs_t *, int);
  58. #endif
  59. #endif /* SOFTWARE_SSTEP */
  60. #endif /* _DDB_DB_RUN_ */