Lines Matching full:off
78 * ensure that [off, off + len) is contiguous on the mbuf chain "m".
79 * packet chain before "off" is kept untouched.
88 m_pulldown(m, off, len, offp)
90 int off, len;
106 while (n != NULL && off > 0) {
107 if (n->m_len > off)
109 off -= n->m_len;
121 * the target data is on <n, off>.
124 if ((off == 0 || offp) && len <= n->m_len - off)
128 * when len < n->m_len - off and off != 0, it is a special case.
129 * len bytes from <n, off> sits in single mbuf, but the caller does
130 * not like the starting position (off).
131 * chop the current mbuf into two pieces, set off to 0.
133 if (len < n->m_len - off) {
134 o = m_copym(n, off, n->m_len - off, M_DONTWAIT);
139 n->m_len = off;
143 off = 0;
148 * we need to take hlen from <n, off> and tlen from <n->m_next, 0>,
152 hlen = n->m_len - off;
181 if ((off == 0 || offp) && M_TRAILINGSPACE(n) >= tlen
188 if ((off == 0 || offp) && M_LEADINGSPACE(n->m_next) >= hlen
192 bcopy(mtod(n, caddr_t) + off, mtod(n->m_next, caddr_t), hlen);
195 off = 0;
216 /* get hlen from <n, off> into <o, 0> */
218 bcopy(mtod(n, caddr_t) + off, mtod(o, caddr_t), hlen);
231 *offp = off;