diff options
author | phk <phk@FreeBSD.org> | 1999-11-01 15:03:20 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 1999-11-01 15:03:20 +0000 |
commit | d4a4beb863fbb08e18b039a4ddc798f4029a7c38 (patch) | |
tree | 277e6a8eaaa652676203d60cf99de61b92075771 | |
parent | 9876a339ec8e9f4e1a84431eb38c128d41c0ec13 (diff) | |
download | FreeBSD-src-d4a4beb863fbb08e18b039a4ddc798f4029a7c38.zip FreeBSD-src-d4a4beb863fbb08e18b039a4ddc798f4029a7c38.tar.gz |
New function:
m_print(struct mbuf *);
hexdumps a mbuf.
-rw-r--r-- | sys/kern/uipc_mbuf.c | 16 | ||||
-rw-r--r-- | sys/sys/mbuf.h | 1 |
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)); |