summaryrefslogtreecommitdiffhomepage
path: root/compat/compat.h
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2013-04-02 18:41:01 +0200
committerStanislaw Halik <sthalik@misaki.pl>2013-04-02 18:41:01 +0200
commit8303597a865400a363ae574ccde819302495f498 (patch)
treec83b383b3ec818f610cc6137f2b72ee7b4173b09 /compat/compat.h
parent8adf6b1650af6027f28db12ca2b4de92a3fac11d (diff)
Just put everything new in. Conflict resolution will be later
Diffstat (limited to 'compat/compat.h')
-rw-r--r--compat/compat.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/compat/compat.h b/compat/compat.h
new file mode 100644
index 00000000..7692b38a
--- /dev/null
+++ b/compat/compat.h
@@ -0,0 +1,42 @@
+/* Copyright (c) 2013 Stanisław Halik <sthalik@misaki.pl>
+
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ */
+#pragma once
+
+#if defined(_WIN32) || defined(__WIN32)
+#include <windows.h>
+#else
+#include <stdio.h>
+#include <string.h>
+#include <sys/file.h>
+#include <sys/mman.h>
+#include <fcntl.h>
+#include <limits.h>
+#include <unistd.h>
+#include <sys/types.h>
+#endif
+
+#if defined(IN_FTNOIR_COMPAT) && (defined(_WIN32) || defined(__WIN32))
+# define COMPAT_EXPORT __declspec(dllexport)
+#else
+# define COMPAT_EXPORT
+#endif
+
+class COMPAT_EXPORT PortableLockedShm {
+public:
+ PortableLockedShm(const char *shmName, const char *mutexName, int mapSize);
+ ~PortableLockedShm();
+ void lock();
+ void unlock();
+ void* mem;
+private:
+#if defined(_WIN32) || defined(__WIN32)
+ HANDLE hMutex, hMapFile;
+#else
+ int fd, size;
+ //char shm_filename[NAME_MAX];
+#endif
+};