summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>1999-11-01 15:03:20 +0000
committerphk <phk@FreeBSD.org>1999-11-01 15:03:20 +0000
commitd4a4beb863fbb08e18b039a4ddc798f4029a7c38 (patch)
tree277e6a8eaaa652676203d60cf99de61b92075771
parent9876a339ec8e9f4e1a84431eb38c128d41c0ec13 (diff)
downloadFreeBSD-src-d4a4beb863fbb08e18b039a4ddc798f4029a7c38.zip
FreeBSD-src-d4a4beb863fbb08e18b039a4ddc798f4029a7c38.tar.gz
New function:
m_print(struct mbuf *); hexdumps a mbuf.
-rw-r--r--sys/kern/uipc_mbuf.c16
-rw-r--r--sys/sys/mbuf.h1
2 files changed, 17 insertions, 0 deletions
diff --git a/sys/kern/uipc_mbuf.c b/sys/kern/uipc_mbuf.c
index d84cf0b..619f3a6 100644
--- a/sys/kern/uipc_mbuf.c
+++ b/sys/kern/uipc_mbuf.c
@@ -951,3 +951,19 @@ m_copyback(m0, off, len, cp)
out: if (((m = m0)->m_flags & M_PKTHDR) && (m->m_pkthdr.len < totlen))
m->m_pkthdr.len = totlen;
}
+
+void
+m_print(const struct mbuf *m)
+{
+ int len;
+ struct mbuf *m2;
+
+ len = m->m_pkthdr.len;
+ m2 = m;
+ while (len) {
+ printf("%p %*D\n", m2, m2->m_len, (u_char *)m2->m_data, "-");
+ len -= m2->m_len;
+ m2 = m2->m_next;
+ }
+ return;
+}
diff --git a/sys/sys/mbuf.h b/sys/sys/mbuf.h
index 70fc882..cce10ad 100644
--- a/sys/sys/mbuf.h
+++ b/sys/sys/mbuf.h
@@ -418,6 +418,7 @@ struct mbuf *m_get __P((int, int));
struct mbuf *m_getclr __P((int, int));
struct mbuf *m_gethdr __P((int, int));
struct mbuf *m_prepend __P((struct mbuf *,int,int));
+void m_print __P((const struct mbuf *m));
struct mbuf *m_pullup __P((struct mbuf *, int));
struct mbuf *m_retry __P((int, int));
struct mbuf *m_retryhdr __P((int, int));
OpenPOWER on IntegriCloud