blob: 55a03913f1ffef41a519ccb1befaee966b3352de [file] [log] [blame]
#ifndef KVM_UTIL_IOVEC_H_
#define KVM_UTIL_IOVEC_H_
extern int memcpy_fromiovec(unsigned char *kdata, struct iovec *iov, int len);
extern int memcpy_fromiovecend(unsigned char *kdata, const struct iovec *iov,
size_t offset, int len);
extern int memcpy_toiovec(struct iovec *v, unsigned char *kdata, int len);
extern int memcpy_toiovecend(const struct iovec *v, unsigned char *kdata,
size_t offset, int len);
ssize_t memcpy_fromiovec_safe(void *buf, struct iovec **iov, size_t len,
size_t *iovcount);
static inline size_t iov_size(const struct iovec *iovec, size_t len)
{
size_t size = 0, i;
for (i = 0; i < len; i++)
size += iovec[i].iov_len;
return size;
}
#endif