Lines Matching defs:off
89 * ensure that [off, off + len) is contiguous on the mbuf chain "m".
90 * packet chain before "off" is kept untouched.
99 m_pulldown(struct mbuf *m, int off, int len, int *offp)
123 while (n != NULL && off > 0) {
124 if (n->m_len > off)
126 off -= n->m_len;
163 * the target data is on <n, off>.
166 if ((off == 0 || offp) && len <= n->m_len - off)
170 * when len <= n->m_len - off and off != 0, it is a special case.
171 * len bytes from <n, off> sits in single mbuf, but the caller does
172 * not like the starting position (off).
173 * chop the current mbuf into two pieces, set off to 0.
175 if (len <= n->m_len - off) {
176 o = m_dup1(n, off, n->m_len - off, M_NOWAIT);
181 n->m_len = off;
185 off = 0;
190 * we need to take hlen from <n, off> and tlen from <n->m_next, 0>,
194 hlen = n->m_len - off;
213 if ((off == 0 || offp) && M_TRAILINGSPACE(n) >= tlen
220 if ((off == 0 || offp) && M_LEADINGSPACE(n->m_next) >= hlen
224 bcopy(mtod(n, caddr_t) + off, mtod(n->m_next, caddr_t), hlen);
227 off = 0;
243 /* get hlen from <n, off> into <o, 0> */
245 bcopy(mtod(n, caddr_t) + off, mtod(o, caddr_t), hlen);
254 off = 0;
263 printf(" (off=%d)\n", off);
267 *offp = off;
272 m_dup1(struct mbuf *m, int off, int len, int wait)
279 if (off == 0 && (m->m_flags & M_PKTHDR) != 0)
301 m_copydata(m, off, len, mtod(n, caddr_t));
363 * Strip off all tags that would normally vanish when
411 * XXXMAC: we should probably pass off the initialization, and