db_command.h 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. /* $OpenBSD: db_command.h,v 1.30 2010/11/05 15:17:50 claudio Exp $ */
  2. /* $NetBSD: db_command.h,v 1.8 1996/02/05 01:56:55 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. /*
  32. * Command loop declarations.
  33. */
  34. void db_skip_to_eol(void);
  35. struct db_command;
  36. int db_cmd_search(char *, struct db_command *, struct db_command **);
  37. void db_cmd_list(struct db_command *);
  38. void db_command(struct db_command **, struct db_command *);
  39. void db_buf_print_cmd(db_expr_t, int, db_expr_t, char *);
  40. void db_map_print_cmd(db_expr_t, int, db_expr_t, char *);
  41. void db_malloc_print_cmd(db_expr_t, int, db_expr_t, char *);
  42. void db_mbuf_print_cmd(db_expr_t, int, db_expr_t, char *);
  43. void db_mount_print_cmd(db_expr_t, int, db_expr_t, char *);
  44. void db_show_all_mounts(db_expr_t, int, db_expr_t, char *);
  45. void db_show_all_vnodes(db_expr_t, int, db_expr_t, char *);
  46. void db_show_all_bufs(db_expr_t, int, db_expr_t, char *);
  47. void db_object_print_cmd(db_expr_t, int, db_expr_t, char *);
  48. void db_page_print_cmd(db_expr_t, int, db_expr_t, char *);
  49. void db_extent_print_cmd(db_expr_t, int, db_expr_t, char *);
  50. void db_pool_print_cmd(db_expr_t, int, db_expr_t, char *);
  51. void db_proc_print_cmd(db_expr_t, int, db_expr_t, char *);
  52. void db_uvmexp_print_cmd(db_expr_t, int, db_expr_t, char *);
  53. void db_vnode_print_cmd(db_expr_t, int, db_expr_t, char *);
  54. void db_nfsreq_print_cmd(db_expr_t, int, db_expr_t, char *);
  55. void db_nfsnode_print_cmd(db_expr_t, int, db_expr_t, char *);
  56. void db_machine_commands_install(struct db_command *);
  57. void db_help_cmd(db_expr_t, int, db_expr_t, char *);
  58. void db_command_loop(void);
  59. void db_error(char *);
  60. void db_fncall(db_expr_t, int, db_expr_t, char *);
  61. void db_boot_sync_cmd(db_expr_t, int, db_expr_t, char *);
  62. void db_boot_crash_cmd(db_expr_t, int, db_expr_t, char *);
  63. void db_boot_dump_cmd(db_expr_t, int, db_expr_t, char *);
  64. void db_boot_halt_cmd(db_expr_t, int, db_expr_t, char *);
  65. void db_boot_reboot_cmd(db_expr_t, int, db_expr_t, char *);
  66. void db_boot_poweroff_cmd(db_expr_t, int, db_expr_t, char *);
  67. void db_stack_trace_cmd(db_expr_t, int, db_expr_t, char *);
  68. void db_dmesg_cmd(db_expr_t, int, db_expr_t, char *);
  69. void db_show_panic_cmd(db_expr_t, int, db_expr_t, char *);
  70. void db_bcstats_print_cmd(db_expr_t, int, db_expr_t, char *);
  71. void db_struct_offset_cmd(db_expr_t, int, db_expr_t, char *);
  72. void db_struct_layout_cmd(db_expr_t, int, db_expr_t, char *);
  73. extern db_addr_t db_dot, db_last_addr, db_prev, db_next;
  74. /*
  75. * Command table
  76. */
  77. struct db_command {
  78. char *name; /* command name */
  79. /* function to call */
  80. void (*fcn)(db_expr_t, int, db_expr_t, char *);
  81. int flag; /* extra info: */
  82. #define CS_OWN 0x1 /* non-standard syntax */
  83. #define CS_MORE 0x2 /* standard syntax, but may have other
  84. words at end */
  85. #define CS_SET_DOT 0x100 /* set dot after command */
  86. struct db_command *more; /* another level of command */
  87. };