Lines Matching refs:xdrs

111 xdrmblk_init(XDR *xdrs, mblk_t *m, enum xdr_op op, int sz)  in xdrmblk_init()  argument
115 xdrs->x_op = op; in xdrmblk_init()
116 xdrs->x_ops = &xdrmblk_ops; in xdrmblk_init()
117 xdrs->x_base = (caddr_t)m; in xdrmblk_init()
118 xdrs->x_public = NULL; in xdrmblk_init()
120 xdrs->x_private = (caddr_t)p; in xdrmblk_init()
127 xdrs->x_handy = (int)MBLKL(m); in xdrmblk_init()
129 xdrs->x_handy = (int)MBLKTAIL(m); in xdrmblk_init()
136 xdrmblk_destroy(XDR *xdrs) in xdrmblk_destroy() argument
138 kmem_free(xdrs->x_private, sizeof (struct xdrmblk_params)); in xdrmblk_destroy()
142 xdrmblk_getint32(XDR *xdrs, int32_t *int32p) in xdrmblk_getint32() argument
147 xdrmblk_skip_fully_read_mblks(xdrs); in xdrmblk_getint32()
150 m = (mblk_t *)xdrs->x_base; in xdrmblk_getint32()
154 p = (struct xdrmblk_params *)xdrs->x_private; in xdrmblk_getint32()
162 xdrs->x_handy < sizeof (int32_t)) { in xdrmblk_getint32()
174 xdrs->x_handy = (int)MBLKL(m); in xdrmblk_getint32()
180 xdrs->x_handy -= sizeof (int32_t); in xdrmblk_getint32()
187 xdrmblk_putint32(XDR *xdrs, int32_t *int32p) in xdrmblk_putint32() argument
193 m = (mblk_t *)xdrs->x_base; in xdrmblk_putint32()
197 p = (struct xdrmblk_params *)xdrs->x_private; in xdrmblk_putint32()
200 xdrs->x_handy < sizeof (int32_t)) { in xdrmblk_putint32()
206 xdrs->x_base = (caddr_t)m; in xdrmblk_putint32()
210 xdrs->x_handy = 0; in xdrmblk_putint32()
213 xdrs->x_handy = (int)MBLKTAIL(m); in xdrmblk_putint32()
221 xdrs->x_handy -= sizeof (int32_t); in xdrmblk_putint32()
233 xdrmblk_getbytes(XDR *xdrs, caddr_t addr, int len) in xdrmblk_getbytes() argument
240 m = (mblk_t *)xdrs->x_base; in xdrmblk_getbytes()
244 p = (struct xdrmblk_params *)xdrs->x_private; in xdrmblk_getbytes()
254 while (xdrs->x_handy < len) { in xdrmblk_getbytes()
255 if (xdrs->x_handy > 0) { in xdrmblk_getbytes()
256 if (xdrs->x_handy < XDRMBLK_BCOPY_LIMIT) { in xdrmblk_getbytes()
257 for (i = 0; i < xdrs->x_handy; i++) in xdrmblk_getbytes()
260 bcopy(m->b_rptr, addr, xdrs->x_handy); in xdrmblk_getbytes()
261 m->b_rptr += xdrs->x_handy; in xdrmblk_getbytes()
262 addr += xdrs->x_handy; in xdrmblk_getbytes()
264 len -= xdrs->x_handy; in xdrmblk_getbytes()
265 p->rpos += xdrs->x_handy; in xdrmblk_getbytes()
268 xdrs->x_base = (caddr_t)m; in xdrmblk_getbytes()
272 xdrs->x_handy = 0; in xdrmblk_getbytes()
275 xdrs->x_handy = (int)MBLKL(m); in xdrmblk_getbytes()
278 xdrs->x_handy -= len; in xdrmblk_getbytes()
301 xdrmblk_getmblk(XDR *xdrs, mblk_t **mm, uint_t *lenp) in xdrmblk_getmblk() argument
308 if (!xdrmblk_getint32(xdrs, (int32_t *)&llen)) in xdrmblk_getmblk()
313 m = (mblk_t *)xdrs->x_base; in xdrmblk_getmblk()
350 xdrs->x_base = (caddr_t)m; in xdrmblk_getmblk()
351 xdrs->x_handy = m != NULL ? MBLKL(m) : 0; in xdrmblk_getmblk()
353 p = (struct xdrmblk_params *)xdrs->x_private; in xdrmblk_getmblk()
361 xdrmblk_putbytes(XDR *xdrs, caddr_t addr, int len) in xdrmblk_putbytes() argument
368 m = (mblk_t *)xdrs->x_base; in xdrmblk_putbytes()
372 p = (struct xdrmblk_params *)xdrs->x_private; in xdrmblk_putbytes()
382 while (xdrs->x_handy < len) { in xdrmblk_putbytes()
383 if (xdrs->x_handy > 0) { in xdrmblk_putbytes()
384 if (xdrs->x_handy < XDRMBLK_BCOPY_LIMIT) { in xdrmblk_putbytes()
385 for (i = 0; i < xdrs->x_handy; i++) in xdrmblk_putbytes()
388 bcopy(addr, m->b_wptr, xdrs->x_handy); in xdrmblk_putbytes()
389 m->b_wptr += xdrs->x_handy; in xdrmblk_putbytes()
390 addr += xdrs->x_handy; in xdrmblk_putbytes()
392 len -= xdrs->x_handy; in xdrmblk_putbytes()
393 p->rpos += xdrs->x_handy; in xdrmblk_putbytes()
406 xdrs->x_base = (caddr_t)m; in xdrmblk_putbytes()
410 xdrs->x_handy = 0; in xdrmblk_putbytes()
413 xdrs->x_handy = (int)MBLKTAIL(m); in xdrmblk_putbytes()
419 xdrs->x_handy -= len; in xdrmblk_putbytes()
442 xdrmblk_putmblk(XDR *xdrs, mblk_t *m, uint_t len) in xdrmblk_putmblk() argument
449 if (!xdrmblk_putint32(xdrs, &llen)) in xdrmblk_putmblk()
452 p = (struct xdrmblk_params *)xdrs->x_private; in xdrmblk_putmblk()
455 ((mblk_t *)xdrs->x_base)->b_cont = m; in xdrmblk_putmblk()
463 xdrs->x_base = (caddr_t)m; in xdrmblk_putmblk()
464 xdrs->x_handy = 0; in xdrmblk_putmblk()
470 xdrmblk_getpos(XDR *xdrs) in xdrmblk_getpos() argument
472 struct xdrmblk_params *p = (struct xdrmblk_params *)xdrs->x_private; in xdrmblk_getpos()
478 xdrmblk_setpos(XDR *xdrs, uint_t pos) in xdrmblk_setpos() argument
483 p = (struct xdrmblk_params *)xdrs->x_private; in xdrmblk_setpos()
488 if (pos > p->apos + p->rpos + xdrs->x_handy) in xdrmblk_setpos()
495 m = (mblk_t *)xdrs->x_base; in xdrmblk_setpos()
498 if (xdrs->x_op == XDR_DECODE) in xdrmblk_setpos()
503 xdrs->x_handy = p->rpos + xdrs->x_handy - (pos - p->apos); in xdrmblk_setpos()
516 xdrmblk_inline(XDR *xdrs, int len) in xdrmblk_inline() argument
526 if (xdrs->x_op == XDR_FREE) in xdrmblk_inline()
536 if (xdrs->x_op == XDR_DECODE) in xdrmblk_inline()
537 xdrmblk_skip_fully_read_mblks(xdrs); in xdrmblk_inline()
542 if (len <= 0 || xdrs->x_handy < len) { in xdrmblk_inline()
550 m = (mblk_t *)xdrs->x_base; in xdrmblk_inline()
553 if (xdrs->x_op == XDR_DECODE) { in xdrmblk_inline()
578 p = (struct xdrmblk_params *)xdrs->x_private; in xdrmblk_inline()
581 xdrs->x_handy -= len; in xdrmblk_inline()
592 xdrmblk_control(XDR *xdrs, int request, void *info) in xdrmblk_control() argument
601 xdrmblk_skip_fully_read_mblks(xdrs); in xdrmblk_control()
606 if (xdrs->x_handy < sizeof (int32_t)) in xdrmblk_control()
610 m = (mblk_t *)xdrs->x_base; in xdrmblk_control()
633 m = (mblk_t *)xdrs->x_base; in xdrmblk_control()
637 p = (struct xdrmblk_params *)xdrs->x_private; in xdrmblk_control()
639 while (xdrs->x_handy < len) { in xdrmblk_control()
640 if (xdrs->x_handy > 0) { in xdrmblk_control()
641 m->b_rptr += xdrs->x_handy; in xdrmblk_control()
642 len -= xdrs->x_handy; in xdrmblk_control()
643 p->rpos += xdrs->x_handy; in xdrmblk_control()
646 xdrs->x_base = (caddr_t)m; in xdrmblk_control()
650 xdrs->x_handy = 0; in xdrmblk_control()
653 xdrs->x_handy = (int)MBLKL(m); in xdrmblk_control()
656 xdrs->x_handy -= len; in xdrmblk_control()
697 xdrmblk_skip_fully_read_mblks(XDR *xdrs) in xdrmblk_skip_fully_read_mblks() argument
702 if (xdrs->x_handy != 0) in xdrmblk_skip_fully_read_mblks()
706 m = (mblk_t *)xdrs->x_base; in xdrmblk_skip_fully_read_mblks()
710 p = (struct xdrmblk_params *)xdrs->x_private; in xdrmblk_skip_fully_read_mblks()
719 xdrs->x_handy = (int)MBLKL(m); in xdrmblk_skip_fully_read_mblks()
720 } while (xdrs->x_handy == 0); in xdrmblk_skip_fully_read_mblks()
722 xdrs->x_base = (caddr_t)m; in xdrmblk_skip_fully_read_mblks()