Lines Matching refs:m0

90 m_length(struct mbuf *m0, struct mbuf **last)
96 for (m = m0; m != NULL; m = m->m_next) {
107 m_fixhdr(struct mbuf *m0)
111 len = m_length(m0, NULL);
112 m0->m_pkthdr.len = len;
145 m_defrag(struct mbuf *m0, int how)
151 if (!(m0->m_flags & M_PKTHDR))
152 return (m0);
154 m_fixhdr(m0); /* Needed sanity check */
156 if (m0->m_pkthdr.len > MHLEN)
164 if (m_dup_pkthdr(m_final, m0, how) == 0)
169 while (progress < m0->m_pkthdr.len) {
170 length = m0->m_pkthdr.len - progress;
183 m_copydata(m0, progress, length, mtod(m_new, caddr_t));
191 m_freem(m0);
192 m0 = m_final;
193 return (m0);
458 m_copyback(struct mbuf *m0, int off, int len, caddr_t cp)
461 struct mbuf *m = m0, *n;
464 if (m0 == NULL)
498 out: if (((m = m0)->m_flags & M_PKTHDR) && (m->m_pkthdr.len < totlen))
510 m_append(struct mbuf *m0, int len, c_caddr_t cp)
515 for (m = m0; m->m_next != NULL; m = m->m_next)
543 if (m0->m_flags & M_PKTHDR)
544 m0->m_pkthdr.len += len - remainder;
558 m_collapse(struct mbuf *m0, int how, int maxfrags)
567 for (m = m0; m != NULL; m = m->m_next)
575 m = m0;
589 return m0;
598 prev = &m0->m_next; /* NB: not the first mbuf */
614 return m0;
661 m_split(struct mbuf *m0, int len0, int wait)
667 for (m = m0; m && len > m->m_len; m = m->m_next)
672 if (m0->m_flags & M_PKTHDR) {
673 MGETHDR(n, wait, m0->m_type);
676 n->m_pkthdr.rcvif = m0->m_pkthdr.rcvif;
677 n->m_pkthdr.len = m0->m_pkthdr.len - len0;
678 m0->m_pkthdr.len = len0;
802 m_unshare(struct mbuf *m0, int how)
809 for (m = m0; m != NULL; m = mprev->m_next) {
882 m_freem(m0);
889 m_freem(m0);
895 m_freem(m0);
930 m_freem(m0);
936 m0 = mfirst; /* new head of chain */
942 return (m0);