emulator: fix compile errors on Windows.
[sdk/emulator/qemu.git] / tizen / src / osutil-win32.c
index d650641..457279b 100644 (file)
 
 MULTI_DEBUG_CHANNEL (emulator, osutil);
 
+
+static qemu_timeval tv = { 0, 0 };
+static time_t ti;
+static char buf_time[64];
+static HANDLE g_hMapFile;
+static char *g_pBuf;
+
 extern char tizen_target_img_path[];
 
 static const char *pactempfile = ".autoproxy";
@@ -94,8 +101,6 @@ void check_vm_lock_os(void)
 
 void make_vm_lock_os(void)
 {
-    HANDLE hMapFile;
-    char *pBuf;
     char *port_in_use;
     char *shared_memory;
     int base_port;
@@ -103,30 +108,41 @@ void make_vm_lock_os(void)
     base_port = get_emul_vm_base_port();
     shared_memory = g_strdup_printf("%s", tizen_target_img_path);
     port_in_use =  g_strdup_printf("%d", base_port);
-    hMapFile = CreateFileMapping(
+    g_hMapFile = CreateFileMapping(
                  INVALID_HANDLE_VALUE, /* use paging file */
                  NULL,                 /* default security */
                  PAGE_READWRITE,       /* read/write access */
                  0,                /* maximum object size (high-order DWORD) */
                  50,               /* maximum object size (low-order DWORD) */
                  port_in_use);         /* name of mapping object */
-    if (hMapFile == NULL) {
+    if (g_hMapFile == NULL) {
         ERR("Could not create file mapping object (%d).\n", GetLastError());
         return;
     }
-    pBuf = MapViewOfFile(hMapFile, FILE_MAP_ALL_ACCESS, 0, 0, 50);
 
-    if (pBuf == NULL) {
+    g_pBuf = MapViewOfFile(g_hMapFile, FILE_MAP_ALL_ACCESS, 0, 0, 50);
+    if (g_pBuf == NULL) {
         ERR("Could not map view of file (%d).\n", GetLastError());
-        CloseHandle(hMapFile);
+        CloseHandle(g_hMapFile);
         return;
     }
 
-    CopyMemory((PVOID)pBuf, shared_memory, strlen(shared_memory));
+    CopyMemory((PVOID)g_pBuf, shared_memory, strlen(shared_memory));
     free(port_in_use);
     free(shared_memory);
 }
 
+void remove_vm_lock_os(void)
+{
+    if (g_pBuf != NULL) {
+        UnmapViewOfFile(g_pBuf);
+    }
+    if (g_hMapFile != NULL) {
+        CloseHandle(g_hMapFile);
+    }
+}
+
+
 void set_bin_path_os(gchar * exec_argv)
 {
     gchar link_path[PATH_MAX] = { 0, };
@@ -195,6 +211,18 @@ void print_system_info_os(void)
             memInfo.ullTotalPhys / 1024, memInfo.ullAvailPhys / 1024);
 }
 
+char *get_timeofday(void)
+{
+    qemu_gettimeofday(&tv);
+    ti = tv.tv_sec;
+
+    struct tm *ptm = localtime(&ti);
+    strftime(buf_time, sizeof(buf_time),
+             "%H:%M:%S", ptm);
+
+    return buf_time;
+}
+
 static int get_auto_proxy(BYTE *url, char *http_proxy, char *https_proxy, char *ftp_proxy, char *socks_proxy)
 {
     char type[MAXLEN];