Lines Matching defs:len

281  * \param len	   The length of the buffer pointed to by strings.
286 extract_strings(const char *strings, const char **dest, u_int len)
291 for (p = strings, num = 0; p < strings + len; p += strlen(p) + 1) {
311 * \param len The length of the buffer pointed to by strings.
318 split(char *strings, u_int len, u_int *num)
323 if (len > 0)
324 strings[len - 1] = '\0';
327 *num = extract_strings(strings, /*dest*/NULL, len);
330 ret = malloc(*num * sizeof(char *) + len, M_XENSTORE, M_WAITOK);
331 memcpy(&ret[*num], strings, len);
336 (void)extract_strings(strings, /*dest*/ret, len);
416 * \param len The amount of contiguous storage available.
422 char *buf, uint32_t *len)
425 *len = XENSTORE_RING_SIZE - MASK_XENSTORE_IDX(prod);
426 if ((XENSTORE_RING_SIZE - (prod - cons)) < *len)
427 *len = XENSTORE_RING_SIZE - (prod - cons);
438 * \param len The amount of contiguous data available to read.
444 const char *buf, uint32_t *len)
447 *len = XENSTORE_RING_SIZE - MASK_XENSTORE_IDX(cons);
448 if ((prod - cons) < *len)
449 *len = prod - cons;
457 * \param len The amount of data to send.
463 * \invariant The buffer pointed to by tdata is at least len bytes
468 xs_write_store(const void *tdata, unsigned len)
475 while (len != 0) {
513 if (avail > len)
514 avail = len;
518 len -= avail;
543 * \param len The amount of data to receive.
549 * \invariant The buffer pointed to by tdata is at least len bytes
557 xs_read_store(void *tdata, unsigned len)
563 while (len != 0) {
599 if (avail > len)
600 avail = len;
610 len -= avail;
654 body = malloc(msg->hdr.len + 1, M_XENSTORE, M_WAITOK);
655 error = xs_read_store(body, msg->hdr.len);
661 body[msg->hdr.len] = '\0';
665 msg->u.watch.vec = split(body, msg->hdr.len,
791 * \param len The returned body length of the reply.
798 xs_read_reply(enum xsd_sockmsg_type *type, u_int *len, void **result)
818 if (len)
819 *len = msg->hdr.len;
854 if ((error = xs_write_store(msg, sizeof(*msg) + msg->len)) == 0)
855 error = xs_read_reply(&msg->type, &msg->len, result);
870 * \param len The returned length of the reply.
881 const struct iovec *iovec, u_int num_vecs, u_int *len, void **result)
891 msg.len = 0;
893 msg.len += iovec[i].iov_len;
912 error = xs_read_reply(&msg.type, len, &ret);
944 * \param len The returned length of the reply.
955 const char *body, u_int *len, void **result)
962 return (xs_talkv(t, request_type, &iovec, 1, len, result));
1335 u_int len = 0;
1339 error = xs_single(t, XS_DIRECTORY, sbuf_data(path), &len,
1345 *result = split(strings, len, num);
1365 u_int *len, void **result)
1372 error = xs_single(t, XS_READ, sbuf_data(path), len, &ret);