#include "sysemu/block-backend.h"
#include "io/channel-tls.h"
-#include "qemu/coroutine.h"
#include "qemu/iov.h"
#ifndef _WIN32
#include <sys/ioctl.h>
#endif
-#if defined(__sun__) || defined(__HAIKU__)
+#ifdef HAVE_SYS_IOCCOM_H
#include <sys/ioccom.h>
#endif
#endif
#include "qemu/bswap.h"
-#include "qemu/queue.h"
-#include "qemu/main-loop.h"
/* This is all part of the "official" NBD API.
*
#define NBD_SET_TIMEOUT _IO(0xab, 9)
#define NBD_SET_FLAGS _IO(0xab, 10)
-/* nbd_read_eof
- * Tries to read @size bytes from @ioc.
- * Returns 1 on success
- * 0 on eof, when no data was read (errp is not set)
- * negative errno on failure (errp is set)
- */
-static inline int nbd_read_eof(QIOChannel *ioc, void *buffer, size_t size,
- Error **errp)
-{
- int ret;
-
- assert(size);
- ret = qio_channel_read_all_eof(ioc, buffer, size, errp);
- if (ret < 0) {
- ret = -EIO;
- }
- return ret;
-}
-
/* nbd_write
* Writes @size bytes to @ioc. Returns 0 on success.
*/