Init file_cache to invalid (maj, min)
[fio.git] / os / os-windows.h
index 6d48ffe81819e9e6bd91476acc80c32525aa3b7a..510b8143db1d0b538a63a1b8c67d9b79cb39dea1 100644 (file)
@@ -21,6 +21,7 @@
 #include "../lib/types.h"
 
 #include "windows/posix.h"
+#include "os-windows-7.h"
 
 #ifndef PTHREAD_STACK_MIN
 #define PTHREAD_STACK_MIN 65535
@@ -76,6 +77,7 @@
 #define SIGCONT        0
 #define SIGUSR1        1
 #define SIGUSR2 2
+#define SIGKILL 15 /* SIGKILL doesn't exists, let's use SIGTERM */
 
 typedef int sigset_t;
 typedef int siginfo_t;
@@ -108,6 +110,8 @@ int nanosleep(const struct timespec *rqtp, struct timespec *rmtp);
 ssize_t pread(int fildes, void *buf, size_t nbyte, off_t offset);
 ssize_t pwrite(int fildes, const void *buf, size_t nbyte,
                off_t offset);
+HANDLE windows_handle_connection(HANDLE hjob, int sk);
+HANDLE windows_create_job(void);
 
 static inline int blockdev_size(struct fio_file *f, unsigned long long *bytes)
 {
@@ -203,7 +207,11 @@ static inline int fio_mkdir(const char *path, mode_t mode) {
        }
 
        if (CreateDirectoryA(path, NULL) == 0) {
-               log_err("CreateDirectoryA = %d\n", GetLastError());
+               /* Ignore errors if path is a device namespace */
+               if (strcmp(path, "\\\\.") == 0) {
+                       errno = EEXIST;
+                       return -1;
+               }
                errno = win_to_posix_error(GetLastError());
                return -1;
        }
@@ -211,13 +219,8 @@ static inline int fio_mkdir(const char *path, mode_t mode) {
        return 0;
 }
 
-#ifdef CONFIG_WINDOWS_XP
-#include "os-windows-xp.h"
-#else
 #define FIO_HAVE_CPU_ONLINE_SYSCONF
 unsigned int cpus_online(void);
-#include "os-windows-7.h"
-#endif
 
 int first_set_cpu(os_cpu_mask_t *cpumask);
 int fio_setaffinity(int pid, os_cpu_mask_t cpumask);