Lines Matching refs:xdrs

96 xdrmem_create(XDR *xdrs, char *addr, u_int size, enum xdr_op op)
99 xdrs->x_op = op;
100 xdrs->x_ops = ((unsigned long)addr & (sizeof(int32_t) - 1))
102 xdrs->x_private = xdrs->x_base = addr;
103 xdrs->x_handy = size;
108 xdrmem_destroy(XDR *xdrs)
114 xdrmem_getlong_aligned(XDR *xdrs, long *lp)
117 if (xdrs->x_handy < sizeof(int32_t))
119 xdrs->x_handy -= sizeof(int32_t);
120 *lp = ntohl(*(u_int32_t *)xdrs->x_private);
121 xdrs->x_private = (char *)xdrs->x_private + sizeof(int32_t);
126 xdrmem_putlong_aligned(XDR *xdrs, const long *lp)
129 if (xdrs->x_handy < sizeof(int32_t))
131 xdrs->x_handy -= sizeof(int32_t);
132 *(u_int32_t *)xdrs->x_private = htonl((u_int32_t)*lp);
133 xdrs->x_private = (char *)xdrs->x_private + sizeof(int32_t);
138 xdrmem_getlong_unaligned(XDR *xdrs, long *lp)
142 if (xdrs->x_handy < sizeof(int32_t))
144 xdrs->x_handy -= sizeof(int32_t);
145 memmove(&l, xdrs->x_private, sizeof(int32_t));
147 xdrs->x_private = (char *)xdrs->x_private + sizeof(int32_t);
152 xdrmem_putlong_unaligned(XDR *xdrs, const long *lp)
156 if (xdrs->x_handy < sizeof(int32_t))
158 xdrs->x_handy -= sizeof(int32_t);
160 memmove(xdrs->x_private, &l, sizeof(int32_t));
161 xdrs->x_private = (char *)xdrs->x_private + sizeof(int32_t);
166 xdrmem_getbytes(XDR *xdrs, char *addr, u_int len)
169 if (xdrs->x_handy < len)
171 xdrs->x_handy -= len;
172 memmove(addr, xdrs->x_private, len);
173 xdrs->x_private = (char *)xdrs->x_private + len;
178 xdrmem_putbytes(XDR *xdrs, const char *addr, u_int len)
181 if (xdrs->x_handy < len)
183 xdrs->x_handy -= len;
184 memmove(xdrs->x_private, addr, len);
185 xdrs->x_private = (char *)xdrs->x_private + len;
190 xdrmem_getpos(XDR *xdrs)
194 return (u_int)((u_long)xdrs->x_private - (u_long)xdrs->x_base);
198 xdrmem_setpos(XDR *xdrs, u_int pos)
200 char *newaddr = xdrs->x_base + pos;
201 char *lastaddr = (char *)xdrs->x_private + xdrs->x_handy;
205 xdrs->x_private = newaddr;
206 xdrs->x_handy = (u_int)(lastaddr - newaddr); /* XXX sizeof(u_int) <? sizeof(ptrdiff_t) */
211 xdrmem_inline_aligned(XDR *xdrs, u_int len)
215 if (xdrs->x_handy >= len) {
216 xdrs->x_handy -= len;
217 buf = (int32_t *)xdrs->x_private;
218 xdrs->x_private = (char *)xdrs->x_private + len;
225 xdrmem_inline_unaligned(XDR *xdrs, u_int len)