aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--block-raw-win32.c4
-rw-r--r--exec.c1
-rw-r--r--nbd.c2
-rw-r--r--net.c2
-rw-r--r--slirp/misc.c6
-rw-r--r--slirp/socket.h1
-rw-r--r--tap-win32.c10
-rw-r--r--vl.c17
8 files changed, 27 insertions, 16 deletions
diff --git a/block-raw-win32.c b/block-raw-win32.c
index 11638b8d49..af9cc6db3d 100644
--- a/block-raw-win32.c
+++ b/block-raw-win32.c
@@ -166,7 +166,7 @@ static void raw_close(BlockDriverState *bs)
static int raw_truncate(BlockDriverState *bs, int64_t offset)
{
BDRVRawState *s = bs->opaque;
- DWORD low, high;
+ LONG low, high;
low = offset;
high = offset >> 32;
@@ -188,7 +188,7 @@ static int64_t raw_getlength(BlockDriverState *bs)
switch(s->type) {
case FTYPE_FILE:
- l.LowPart = GetFileSize(s->hfile, &l.HighPart);
+ l.LowPart = GetFileSize(s->hfile, (PDWORD)&l.HighPart);
if (l.LowPart == 0xffffffffUL && GetLastError() != NO_ERROR)
return -EIO;
break;
diff --git a/exec.c b/exec.c
index 5e94a8feea..94bc92802e 100644
--- a/exec.c
+++ b/exec.c
@@ -19,7 +19,6 @@
*/
#include "config.h"
#ifdef _WIN32
-#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#else
#include <sys/types.h>
diff --git a/nbd.c b/nbd.c
index 77b3e16926..1586ea7553 100644
--- a/nbd.c
+++ b/nbd.c
@@ -579,7 +579,7 @@ int nbd_trip(BlockDriverState *bs, int csock, off_t size, uint64_t dev_offset,
if ((request.from + request.len) > size) {
LOG("From: %" PRIu64 ", Len: %u, Size: %" PRIu64
", Offset: %" PRIu64 "\n",
- request.from, request.len, size, dev_offset);
+ request.from, request.len, (uint64_t)size, dev_offset);
LOG("requested operation past EOF--bad client?");
errno = EINVAL;
return -1;
diff --git a/net.c b/net.c
index 395ee4f5fc..f67b5b807a 100644
--- a/net.c
+++ b/net.c
@@ -1903,9 +1903,9 @@ done:
void net_cleanup(void)
{
+#if !defined(_WIN32)
VLANState *vlan;
-#if !defined(_WIN32)
/* close network clients */
for(vlan = first_vlan; vlan != NULL; vlan = vlan->next) {
VLANClientState *vc;
diff --git a/slirp/misc.c b/slirp/misc.c
index 581db880d9..0137e75ed1 100644
--- a/slirp/misc.c
+++ b/slirp/misc.c
@@ -777,7 +777,11 @@ void
fd_nonblock(int fd)
{
#ifdef FIONBIO
- int opt = 1;
+#ifdef _WIN32
+ long opt = 1;
+#else
+ int opt = 1;
+#endif
ioctlsocket(fd, FIONBIO, &opt);
#else
diff --git a/slirp/socket.h b/slirp/socket.h
index 72b473d639..f5adaba6e7 100644
--- a/slirp/socket.h
+++ b/slirp/socket.h
@@ -87,6 +87,7 @@ void soisfconnecting _P((register struct socket *));
void soisfconnected _P((register struct socket *));
void soisfdisconnected _P((struct socket *));
void sofwdrain _P((struct socket *));
+struct iovec; /* For win32 */
size_t sopreprbuf(struct socket *so, struct iovec *iov, int *np);
int soreadbuf(struct socket *so, const char *buf, int size);
diff --git a/tap-win32.c b/tap-win32.c
index df31fda497..e8a04dc7c0 100644
--- a/tap-win32.c
+++ b/tap-win32.c
@@ -254,7 +254,7 @@ static int is_tap_win32_dev(const char *guid)
component_id_string,
NULL,
&data_type,
- component_id,
+ (LPBYTE)component_id,
&len);
if (!(status != ERROR_SUCCESS || data_type != REG_SZ)) {
@@ -264,7 +264,7 @@ static int is_tap_win32_dev(const char *guid)
net_cfg_instance_id_string,
NULL,
&data_type,
- net_cfg_instance_id,
+ (LPBYTE)net_cfg_instance_id,
&len);
if (status == ERROR_SUCCESS && data_type == REG_SZ) {
@@ -353,7 +353,7 @@ static int get_device_guid(
name_string,
NULL,
&name_type,
- name_data,
+ (LPBYTE)name_data,
&len);
if (status != ERROR_SUCCESS || name_type != REG_SZ) {
@@ -560,7 +560,7 @@ static int tap_win32_read(tap_win32_overlapped_t *overlapped,
}
static void tap_win32_free_buffer(tap_win32_overlapped_t *overlapped,
- char* pbuf)
+ uint8_t *pbuf)
{
tun_buffer_t* buffer = (tun_buffer_t*)pbuf;
put_buffer_on_free_list(overlapped, buffer);
@@ -580,7 +580,7 @@ static int tap_win32_open(tap_win32_overlapped_t **phandle,
unsigned long minor;
unsigned long debug;
} version;
- LONG version_len;
+ DWORD version_len;
DWORD idThread;
HANDLE hThread;
diff --git a/vl.c b/vl.c
index 5e6c621f2d..a2de1f35fc 100644
--- a/vl.c
+++ b/vl.c
@@ -245,7 +245,9 @@ int no_reboot = 0;
int no_shutdown = 0;
int cursor_hide = 1;
int graphic_rotate = 0;
+#ifndef _WIN32
int daemonize = 0;
+#endif
const char *option_rom[MAX_OPTION_ROMS];
int nb_option_roms;
int semihosting_enabled = 0;
@@ -1297,8 +1299,9 @@ static int timer_load(QEMUFile *f, void *opaque, int version_id)
}
#ifdef _WIN32
-void CALLBACK host_alarm_handler(UINT uTimerID, UINT uMsg,
- DWORD_PTR dwUser, DWORD_PTR dw1, DWORD_PTR dw2)
+static void CALLBACK host_alarm_handler(UINT uTimerID, UINT uMsg,
+ DWORD_PTR dwUser, DWORD_PTR dw1,
+ DWORD_PTR dw2)
#else
static void host_alarm_handler(int host_signum)
#endif
@@ -4262,14 +4265,18 @@ int main(int argc, char **argv, char **envp)
const char *cpu_model;
const char *usb_devices[MAX_USB_CMDLINE];
int usb_devices_index;
+#ifndef _WIN32
int fds[2];
+#endif
int tb_size;
const char *pid_file = NULL;
const char *incoming = NULL;
+#ifndef _WIN32
int fd = 0;
struct passwd *pwd = NULL;
const char *chroot_dir = NULL;
const char *run_as = NULL;
+#endif
qemu_cache_utils_init(envp);
@@ -5015,7 +5022,6 @@ int main(int argc, char **argv, char **envp)
signal(SIGTTOU, SIG_IGN);
signal(SIGTTIN, SIG_IGN);
}
-#endif
if (pid_file && qemu_create_pidfile(pid_file) != 0) {
if (daemonize) {
@@ -5025,6 +5031,7 @@ int main(int argc, char **argv, char **envp)
fprintf(stderr, "Could not acquire pid file\n");
exit(1);
}
+#endif
#ifdef USE_KQEMU
if (smp_cpus > 1)
@@ -5385,6 +5392,7 @@ int main(int argc, char **argv, char **envp)
if (autostart)
vm_start();
+#ifndef _WIN32
if (daemonize) {
uint8_t status = 0;
ssize_t len;
@@ -5403,7 +5411,6 @@ int main(int argc, char **argv, char **envp)
exit(1);
}
-#ifndef _WIN32
if (run_as) {
pwd = getpwnam(run_as);
if (!pwd) {
@@ -5434,7 +5441,6 @@ int main(int argc, char **argv, char **envp)
exit(1);
}
}
-#endif
if (daemonize) {
dup2(fd, 0);
@@ -5443,6 +5449,7 @@ int main(int argc, char **argv, char **envp)
close(fd);
}
+#endif
main_loop();
quit_timers();