Module Name: src Committed By: christos Date: Tue Apr 14 13:58:12 UTC 2020
Added Files: src/sys/gdbscripts: dmesg Log Message: Add dmesg functionality. To generate a diff of this commit: cvs rdiff -u -r0 -r1.1 src/sys/gdbscripts/dmesg Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Added files: Index: src/sys/gdbscripts/dmesg diff -u /dev/null src/sys/gdbscripts/dmesg:1.1 --- /dev/null Tue Apr 14 09:58:12 2020 +++ src/sys/gdbscripts/dmesg Tue Apr 14 09:58:11 2020 @@ -0,0 +1,47 @@ +# $NetBSD: dmesg,v 1.1 2020/04/14 13:58:11 christos Exp $ + +define dmesg + set $mbp = msgbufp + set $bufdata = &$mbp->msg_bufc[0] + set $print = $mbp->msg_bufs + set $newl = 0 + set $skip = 0 + set $i = -1 + set $p = $bufdata + $mbp->msg_bufx - 1 + + while ($i < $mbp->msg_bufs) + set $i = $i + 1 + set $p = $p + 1 + if ($p == $bufdata + $mbp->msg_bufs) + set $p = $bufdata + end + if ($i < $mbp->msg_bufs - $print) + loop_continue + end + set $c = $p[0] + # Skip syslog sequences + if ($skip) + if ($c == '>') + set $newl = 0 + set $skip = 0 + end + loop_continue + end + if ($newl && $c == '<') + set $skip = 1 + loop_continue + end + if ($c == '\0') + loop_continue + end + set $newl = $c == '\n' + printf "%c", $c + end + if (!$newl) + printf "\n" + end +end + +document dmesg +print the message buffer +end