Lines Matching refs:xdrs

69 static bool_t xdrmem_control(XDR *xdrs, int request, void *info);
100 xdrmem_create(XDR *xdrs, char *addr, u_int size, enum xdr_op op)
103 xdrs->x_op = op;
104 xdrs->x_ops = ((unsigned long)addr & (sizeof(int32_t) - 1))
106 xdrs->x_private = xdrs->x_base = addr;
107 xdrs->x_handy = size;
112 xdrmem_destroy(XDR *xdrs)
118 xdrmem_getlong_aligned(XDR *xdrs, long *lp)
121 if (xdrs->x_handy < sizeof(int32_t))
123 xdrs->x_handy -= sizeof(int32_t);
124 *lp = ntohl(*(u_int32_t *)xdrs->x_private);
125 xdrs->x_private = (char *)xdrs->x_private + sizeof(int32_t);
130 xdrmem_putlong_aligned(XDR *xdrs, const long *lp)
133 if (xdrs->x_handy < sizeof(int32_t))
135 xdrs->x_handy -= sizeof(int32_t);
136 *(u_int32_t *)xdrs->x_private = htonl((u_int32_t)*lp);
137 xdrs->x_private = (char *)xdrs->x_private + sizeof(int32_t);
142 xdrmem_getlong_unaligned(XDR *xdrs, long *lp)
146 if (xdrs->x_handy < sizeof(int32_t))
148 xdrs->x_handy -= sizeof(int32_t);
149 memmove(&l, xdrs->x_private, sizeof(int32_t));
151 xdrs->x_private = (char *)xdrs->x_private + sizeof(int32_t);
156 xdrmem_putlong_unaligned(XDR *xdrs, const long *lp)
160 if (xdrs->x_handy < sizeof(int32_t))
162 xdrs->x_handy -= sizeof(int32_t);
164 memmove(xdrs->x_private, &l, sizeof(int32_t));
165 xdrs->x_private = (char *)xdrs->x_private + sizeof(int32_t);
170 xdrmem_getbytes(XDR *xdrs, char *addr, u_int len)
173 if (xdrs->x_handy < len)
175 xdrs->x_handy -= len;
176 memmove(addr, xdrs->x_private, len);
177 xdrs->x_private = (char *)xdrs->x_private + len;
182 xdrmem_putbytes(XDR *xdrs, const char *addr, u_int len)
185 if (xdrs->x_handy < len)
187 xdrs->x_handy -= len;
188 memmove(xdrs->x_private, addr, len);
189 xdrs->x_private = (char *)xdrs->x_private + len;
194 xdrmem_getpos(XDR *xdrs)
198 return (u_int)((u_long)xdrs->x_private - (u_long)xdrs->x_base);
202 xdrmem_setpos(XDR *xdrs, u_int pos)
204 char *newaddr = xdrs->x_base + pos;
205 char *lastaddr = (char *)xdrs->x_private + xdrs->x_handy;
209 xdrs->x_private = newaddr;
210 xdrs->x_handy = (u_int)(lastaddr - newaddr); /* XXX sizeof(u_int) <? sizeof(ptrdiff_t) */
215 xdrmem_inline_aligned(XDR *xdrs, u_int len)
219 if (xdrs->x_handy >= len) {
220 xdrs->x_handy -= len;
221 buf = (int32_t *)xdrs->x_private;
222 xdrs->x_private = (char *)xdrs->x_private + len;
229 xdrmem_inline_unaligned(XDR *xdrs, u_int len)
236 xdrmem_control(XDR *xdrs, int request, void *info)
247 xptr->xc_num_avail = xdrs->x_handy;
254 if (xdrs->x_handy < sizeof (int32_t))
258 (*((int32_t *)(xdrs->x_private))));
267 if (xdrs->x_handy < len)
269 xdrs->x_handy -= len;
270 xdrs->x_private = (char *)xdrs->x_private + len;