#include <sys/time.h>
#include <zlib.h>
+/* Needed early for HOST_BSD etc. */
+#include "config-host.h"
+
#ifndef _WIN32
#include <sys/times.h>
#include <sys/wait.h>
#include <dirent.h>
#include <netdb.h>
#include <sys/select.h>
-#ifdef _BSD
+#ifdef HOST_BSD
#include <sys/stat.h>
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__DragonFly__)
#include <libutil.h>
#else
#include <util.h>
#endif
#ifdef _WIN32
+#include <windows.h>
#include <malloc.h>
#include <sys/timeb.h>
#include <mmsystem.h>
VLANClientState *vc;
uint8_t buf[256];
- for (i = 0; i < nb_nics; i++) {
+ for (i = 0; i < MAX_NICS; i++) {
+ if (!nd_table[i].used)
+ continue;
len = announce_self_create(buf, nd_table[i].macaddr);
vlan = nd_table[i].vlan;
for(vc = vlan->first_client; vc != NULL; vc = vc->next) {
int64_t base_offset;
} QEMUFileBdrv;
-static int bdrv_put_buffer(void *opaque, const uint8_t *buf,
+static int block_put_buffer(void *opaque, const uint8_t *buf,
int64_t pos, int size)
{
QEMUFileBdrv *s = opaque;
- bdrv_pwrite(s->bs, s->base_offset + pos, buf, size);
+ bdrv_put_buffer(s->bs, buf, s->base_offset + pos, size);
return size;
}
-static int bdrv_get_buffer(void *opaque, uint8_t *buf, int64_t pos, int size)
+static int block_get_buffer(void *opaque, uint8_t *buf, int64_t pos, int size)
{
QEMUFileBdrv *s = opaque;
- return bdrv_pread(s->bs, s->base_offset + pos, buf, size);
+ return bdrv_get_buffer(s->bs, buf, s->base_offset + pos, size);
}
static int bdrv_fclose(void *opaque)
s->base_offset = offset;
if (is_writable)
- return qemu_fopen_ops(s, bdrv_put_buffer, NULL, bdrv_fclose, NULL);
+ return qemu_fopen_ops(s, block_put_buffer, NULL, bdrv_fclose, NULL);
- return qemu_fopen_ops(s, NULL, bdrv_get_buffer, bdrv_fclose, NULL);
+ return qemu_fopen_ops(s, NULL, block_get_buffer, bdrv_fclose, NULL);
}
QEMUFile *qemu_fopen_ops(void *opaque, QEMUFilePutBufferFunc *put_buffer,
return f->has_error;
}
+void qemu_file_set_error(QEMUFile *f)
+{
+ f->has_error = 1;
+}
+
void qemu_fflush(QEMUFile *f)
{
if (!f->put_buffer)