diff --git a/block-raw-win32.c b/block-raw-win32.c index 11638b8d4..af9cc6db3 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 5e94a8fee..94bc92802 100644 --- a/exec.c +++ b/exec.c @@ -19,7 +19,6 @@ */ #include "config.h" #ifdef _WIN32 -#define WIN32_LEAN_AND_MEAN #include #else #include diff --git a/nbd.c b/nbd.c index 77b3e1692..1586ea755 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 395ee4f5f..f67b5b807 100644 --- a/net.c +++ b/net.c @@ -1903,9 +1903,9 @@ int do_set_link(Monitor *mon, const char *name, const char *up_or_down) 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 581db880d..0137e75ed 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 72b473d63..f5adaba6e 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 df31fda49..e8a04dc7c 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 5e6c621f2..a2de1f35f 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();