Home | History | Annotate | Download | only in rpc

Lines Matching refs:xdrs

92 static bool_t xdrmem_control(XDR *xdrs, int request, void *info);
123 xdrmem_create(XDR *xdrs, char *addr, u_int size, enum xdr_op op)
126 xdrs->x_op = op;
127 xdrs->x_ops = ((unsigned long)addr & (sizeof(int32_t) - 1))
129 xdrs->x_private = xdrs->x_base = addr;
130 xdrs->x_handy = size;
135 xdrmem_destroy(XDR *xdrs)
141 xdrmem_getlong_aligned(XDR *xdrs, long *lp)
144 if (xdrs->x_handy < sizeof(int32_t))
146 xdrs->x_handy -= sizeof(int32_t);
147 *lp = ntohl(*(u_int32_t *)xdrs->x_private);
148 xdrs->x_private = (char *)xdrs->x_private + sizeof(int32_t);
153 xdrmem_putlong_aligned(XDR *xdrs, const long *lp)
156 if (xdrs->x_handy < sizeof(int32_t))
158 xdrs->x_handy -= sizeof(int32_t);
159 *(u_int32_t *)xdrs->x_private = htonl((u_int32_t)*lp);
160 xdrs->x_private = (char *)xdrs->x_private + sizeof(int32_t);
165 xdrmem_getlong_unaligned(XDR *xdrs, long *lp)
169 if (xdrs->x_handy < sizeof(int32_t))
171 xdrs->x_handy -= sizeof(int32_t);
172 memmove(&l, xdrs->x_private, sizeof(int32_t));
174 xdrs->x_private = (char *)xdrs->x_private + sizeof(int32_t);
179 xdrmem_putlong_unaligned(XDR *xdrs, const long *lp)
183 if (xdrs->x_handy < sizeof(int32_t))
185 xdrs->x_handy -= sizeof(int32_t);
187 memmove(xdrs->x_private, &l, sizeof(int32_t));
188 xdrs->x_private = (char *)xdrs->x_private + sizeof(int32_t);
193 xdrmem_getbytes(XDR *xdrs, char *addr, u_int len)
196 if (xdrs->x_handy < len)
198 xdrs->x_handy -= len;
199 memmove(addr, xdrs->x_private, len);
200 xdrs->x_private = (char *)xdrs->x_private + len;
205 xdrmem_putbytes(XDR *xdrs, const char *addr, u_int len)
208 if (xdrs->x_handy < len)
210 xdrs->x_handy -= len;
211 memmove(xdrs->x_private, addr, len);
212 xdrs->x_private = (char *)xdrs->x_private + len;
217 xdrmem_getpos(XDR *xdrs)
221 return (u_int)((u_long)xdrs->x_private - (u_long)xdrs->x_base);
225 xdrmem_setpos(XDR *xdrs, u_int pos)
227 char *newaddr = xdrs->x_base + pos;
228 char *lastaddr = (char *)xdrs->x_private + xdrs->x_handy;
232 xdrs->x_private = newaddr;
233 xdrs->x_handy = (int)((long)lastaddr - (long)newaddr);
238 xdrmem_inline_aligned(XDR *xdrs, u_int len)
242 if (xdrs->x_handy >= len) {
243 xdrs->x_handy -= len;
244 buf = (int32_t *)xdrs->x_private;
245 xdrs->x_private = (char *)xdrs->x_private + len;
252 xdrmem_inline_unaligned(XDR *xdrs, u_int len)
259 xdrmem_control(XDR *xdrs, int request, void *info)
268 xptr->xc_num_avail = xdrs->x_handy;