summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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