X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=os-win32.c;h=725ad652e8bb89d63bf1fa3e1715b9b39575d920;hb=d68640f515320bf38617b68c970b569997cf0444;hp=5f95caac1590a24efb6b208161c034c0c79674a4;hpb=10f5bff622cad71645e22c027b77ac31e51008ef;p=mirror_qemu.git diff --git a/os-win32.c b/os-win32.c index 5f95caac15..725ad652e8 100644 --- a/os-win32.c +++ b/os-win32.c @@ -22,43 +22,15 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ + +#include "qemu/osdep.h" #include #include -#include -#include -#include -#include -#include -#include -#include "config-host.h" -#include "sysemu/sysemu.h" -#include "qemu-options.h" - -/***********************************************************/ -/* Functions missing in mingw */ - -int setenv(const char *name, const char *value, int overwrite) -{ - int result = 0; - if (overwrite || !getenv(name)) { - size_t length = strlen(name) + strlen(value) + 2; - char *string = g_malloc(length); - snprintf(string, length, "%s=%s", name, value); - result = putenv(string); - - /* Windows takes a copy and does not continue to use our string. - * Therefore it can be safely freed on this platform. POSIX code - * typically has to leak the string because according to the spec it - * becomes part of the environment. - */ - g_free(string); - } - return result; -} +#include "sysemu/runstate.h" static BOOL WINAPI qemu_ctrl_handler(DWORD type) { - qemu_system_shutdown_request(); + qemu_system_shutdown_request(SHUTDOWN_CAUSE_HOST_SIGNAL); /* Windows 7 kills application when the function returns. Sleep here to give QEMU a try for closing. Sleep period is 10000ms because Windows kills the program @@ -83,53 +55,8 @@ void os_setup_early_signal_handling(void) atexit(os_undo_timer_resolution); } -/* Look for support files in the same directory as the executable. */ -char *os_find_datadir(void) -{ - return qemu_get_exec_dir(); -} - void os_set_line_buffering(void) { setbuf(stdout, NULL); setbuf(stderr, NULL); } - -/* - * Parse OS specific command line options. - * return 0 if option handled, -1 otherwise - */ -void os_parse_cmd_args(int index, const char *optarg) -{ - return; -} - -void os_pidfile_error(void) -{ - fprintf(stderr, "Could not acquire pid file: %s\n", strerror(errno)); -} - -int qemu_create_pidfile(const char *filename) -{ - char buffer[128]; - int len; - HANDLE file; - OVERLAPPED overlap; - BOOL ret; - memset(&overlap, 0, sizeof(overlap)); - - file = CreateFile(filename, GENERIC_WRITE, FILE_SHARE_READ, NULL, - OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); - - if (file == INVALID_HANDLE_VALUE) { - return -1; - } - len = snprintf(buffer, sizeof(buffer), "%d\n", getpid()); - ret = WriteFile(file, (LPCVOID)buffer, (DWORD)len, - NULL, &overlap); - CloseHandle(file); - if (ret == 0) { - return -1; - } - return 0; -}