workqueue: handle nice better
[fio.git] / os / os-windows.h
index b78abf0f95896fabca56f2176e8ceb5bc59e680d..12f334861126678d73f92c92c91d0d041514ada4 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
@@ -43,7 +44,7 @@
 #define fio_swap64(x)  _byteswap_uint64(x)
 
 #define _SC_PAGESIZE                   0x1
-#define _SC_NPROCESSORS_ONLN   0x2
+#define _SC_NPROCESSORS_CONF   0x2
 #define _SC_PHYS_PAGES                 0x4
 
 #define SA_RESTART     0
@@ -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,10 +219,14 @@ static inline int fio_mkdir(const char *path, mode_t mode) {
        return 0;
 }
 
-#ifdef CONFIG_WINDOWS_XP
-#include "os-windows-xp.h"
-#else
-#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);
+int fio_cpuset_init(os_cpu_mask_t *mask);
+int fio_getaffinity(int pid, os_cpu_mask_t *mask);
+void fio_cpu_clear(os_cpu_mask_t *mask, int cpu);
+void fio_cpu_set(os_cpu_mask_t *mask, int cpu);
+int fio_cpu_isset(os_cpu_mask_t *mask, int cpu);
+int fio_cpu_count(os_cpu_mask_t *mask);
+int fio_cpuset_exit(os_cpu_mask_t *mask);
 
 #endif /* FIO_OS_WINDOWS_H */