summaryrefslogtreecommitdiffstats
path: root/sys/ddb/db_print.c
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>1998-05-19 11:02:24 +0000
committerphk <phk@FreeBSD.org>1998-05-19 11:02:24 +0000
commite9c01f2e741c8a0e26e7d3712d942dc5d5f5fa0b (patch)
tree8ee4916cff753a650c4ede6aa561a7d54e574465 /sys/ddb/db_print.c
parent00b3b49e1bf2cd947f5d9fc0b4a645f000094534 (diff)
downloadFreeBSD-src-e9c01f2e741c8a0e26e7d3712d942dc5d5f5fa0b.zip
FreeBSD-src-e9c01f2e741c8a0e26e7d3712d942dc5d5f5fa0b.tar.gz
Add "show msgbuf" command
Diffstat (limited to 'sys/ddb/db_print.c')
-rw-r--r--sys/ddb/db_print.c32
1 files changed, 31 insertions, 1 deletions
diff --git a/sys/ddb/db_print.c b/sys/ddb/db_print.c
index 8f7528f..c67c964 100644
--- a/sys/ddb/db_print.c
+++ b/sys/ddb/db_print.c
@@ -23,7 +23,7 @@
* any improvements or extensions that they make and grant Carnegie the
* rights to redistribute these changes.
*
- * $Id: db_print.c,v 1.13 1997/02/22 09:28:27 peter Exp $
+ * $Id: db_print.c,v 1.14 1997/06/14 11:52:36 bde Exp $
*/
/*
@@ -35,6 +35,7 @@
* Miscellaneous printing.
*/
#include <sys/param.h>
+#include <sys/msgbuf.h>
#include <ddb/ddb.h>
#include <ddb/db_variables.h>
@@ -65,3 +66,32 @@ db_show_regs(dummy1, dummy2, dummy3, dummy4)
db_print_loc_and_inst(PC_REGS(DDB_REGS));
}
+
+void
+db_show_msgbuf(dummy1, dummy2, dummy3, dummy4)
+ db_expr_t dummy1;
+ boolean_t dummy2;
+ db_expr_t dummy3;
+ char * dummy4;
+{
+ int i,j;
+
+ if (!msgbufmapped) {
+ db_printf("msgbuf not mapped yet\n");
+ return;
+ }
+ db_printf("msgbufp = %p\n", msgbufp);
+ db_printf("magic = %x, size = %d, r= %d, w = %d, ptr = %p\n",
+ msgbufp->msg_magic,
+ msgbufp->msg_size,
+ msgbufp->msg_bufr,
+ msgbufp->msg_bufx,
+ msgbufp->msg_ptr);
+ for (i = 0; i < msgbufp->msg_size; i++) {
+ j = msgbufp->msg_ptr[(i + msgbufp->msg_bufr) % msgbufp->msg_size];
+ if (j)
+ db_printf("%c", j);
+ }
+ db_printf("\n");
+}
+
OpenPOWER on IntegriCloud