Lines Matching defs:xdrs

135 xdrmem_create(XDR *xdrs, const caddr_t addr, const uint_t size,
140 xdrs->x_ops = &xdrmem_encode_ops;
143 xdrs->x_ops = &xdrmem_decode_ops;
146 xdrs->x_ops = NULL; /* Let the caller know we failed */
150 xdrs->x_op = op;
151 xdrs->x_addr = addr;
152 xdrs->x_addr_end = addr + size;
154 if (xdrs->x_addr_end < xdrs->x_addr) {
155 xdrs->x_ops = NULL;
161 xdrmem_control(XDR *xdrs, int req, void *info)
169 rec->xc_num_avail = xdrs->x_addr_end - xdrs->x_addr;
175 xdrmem_enc_bytes(XDR *xdrs, caddr_t cp, const uint_t cnt)
183 if (xdrs->x_addr > xdrs->x_addr_end)
186 if (xdrs->x_addr_end - xdrs->x_addr < size)
189 memcpy(xdrs->x_addr, cp, cnt);
191 xdrs->x_addr += cnt;
195 memset(xdrs->x_addr, 0, pad);
196 xdrs->x_addr += pad;
203 xdrmem_dec_bytes(XDR *xdrs, caddr_t cp, const uint_t cnt)
212 if (xdrs->x_addr > xdrs->x_addr_end)
215 if (xdrs->x_addr_end - xdrs->x_addr < size)
218 memcpy(cp, xdrs->x_addr, cnt);
219 xdrs->x_addr += cnt;
224 if (memcmp(&zero, xdrs->x_addr, pad) != 0)
227 xdrs->x_addr += pad;
234 xdrmem_enc_uint32(XDR *xdrs, uint32_t val)
236 if (xdrs->x_addr + sizeof (uint32_t) > xdrs->x_addr_end)
239 *((uint32_t *)xdrs->x_addr) = cpu_to_be32(val);
241 xdrs->x_addr += sizeof (uint32_t);
247 xdrmem_dec_uint32(XDR *xdrs, uint32_t *val)
249 if (xdrs->x_addr + sizeof (uint32_t) > xdrs->x_addr_end)
252 *val = be32_to_cpu(*((uint32_t *)xdrs->x_addr));
254 xdrs->x_addr += sizeof (uint32_t);
260 xdrmem_enc_char(XDR *xdrs, char *cp)
267 return (xdrmem_enc_uint32(xdrs, val));
271 xdrmem_dec_char(XDR *xdrs, char *cp)
277 if (!xdrmem_dec_uint32(xdrs, &val))
294 xdrmem_enc_ushort(XDR *xdrs, unsigned short *usp)
298 return (xdrmem_enc_uint32(xdrs, *usp));
302 xdrmem_dec_ushort(XDR *xdrs, unsigned short *usp)
308 if (!xdrmem_dec_uint32(xdrs, &val))
324 xdrmem_enc_uint(XDR *xdrs, unsigned *up)
328 return (xdrmem_enc_uint32(xdrs, *up));
332 xdrmem_dec_uint(XDR *xdrs, unsigned *up)
336 return (xdrmem_dec_uint32(xdrs, (uint32_t *)up));
340 xdrmem_enc_ulonglong(XDR *xdrs, u_longlong_t *ullp)
344 if (!xdrmem_enc_uint32(xdrs, *ullp >> 32))
347 return (xdrmem_enc_uint32(xdrs, *ullp & 0xffffffff));
351 xdrmem_dec_ulonglong(XDR *xdrs, u_longlong_t *ullp)
357 if (!xdrmem_dec_uint32(xdrs, &high))
359 if (!xdrmem_dec_uint32(xdrs, &low))
368 xdr_enc_array(XDR *xdrs, caddr_t *arrp, uint_t *sizep, const uint_t maxsize,
377 if (!xdrmem_enc_uint(xdrs, sizep))
381 if (!elproc(xdrs, addr))
390 xdr_dec_array(XDR *xdrs, caddr_t *arrp, uint_t *sizep, const uint_t maxsize,
397 if (!xdrmem_dec_uint(xdrs, sizep))
422 if (!elproc(xdrs, addr)) {
434 xdr_enc_string(XDR *xdrs, char **sp, const uint_t maxsize)
444 if (!xdrmem_enc_uint(xdrs, &len))
447 return (xdrmem_enc_bytes(xdrs, *sp, len));
451 xdr_dec_string(XDR *xdrs, char **sp, const uint_t maxsize)
456 if (!xdrmem_dec_uint(xdrs, &size))
476 if (!xdrmem_dec_bytes(xdrs, *sp, size))