summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorSteve Holme <steve_holme@hotmail.com>2016-06-04 20:06:56 +0100
committerSteve Holme <steve_holme@hotmail.com>2016-06-04 21:24:09 +0100
commit6020ce5fa70212f105e74456037a2f5cc66c4e09 (patch)
tree50e6f453909010eaecac246844412198f4bb0c48 /lib
parent584d0121c353ed855115c39f6cbc009854018029 (diff)
downloadcurl-6020ce5fa70212f105e74456037a2f5cc66c4e09.tar.gz
win32: Introduced centralised verify windows version function
Diffstat (limited to 'lib')
-rw-r--r--lib/system_win32.c42
-rw-r--r--lib/system_win32.h22
2 files changed, 61 insertions, 3 deletions
diff --git a/lib/system_win32.c b/lib/system_win32.c
index 73d30b421..53f2eeb40 100644
--- a/lib/system_win32.c
+++ b/lib/system_win32.c
@@ -24,9 +24,6 @@
#if defined(WIN32)
-#if defined(USE_WINDOWS_SSPI) || (!defined(CURL_DISABLE_TELNET) && \
- defined(USE_WINSOCK))
-
#include <curl/curl.h>
#include "system_win32.h"
@@ -34,6 +31,10 @@
#include "curl_memory.h"
#include "memdebug.h"
+#if defined(USE_WINDOWS_SSPI) || (!defined(CURL_DISABLE_TELNET) && \
+ defined(USE_WINSOCK))
+
+
#if !defined(LOAD_WITH_ALTERED_SEARCH_PATH)
#define LOAD_WITH_ALTERED_SEARCH_PATH 0x00000008
#endif
@@ -56,6 +57,41 @@ typedef HMODULE (APIENTRY *LOADLIBRARYEX_FN)(LPCTSTR, HANDLE, DWORD);
# define LOADLIBARYEX "LoadLibraryExA"
#endif
+#endif /* USE_WINDOWS_SSPI || (!CURL_DISABLE_TELNET && USE_WINSOCK) */
+
+/*
+ * Curl_verify_windows_version()
+ *
+ * This is used to verify if we are running on a specific windows version.
+ *
+ * Parameters:
+ *
+ * majorVersion [in] - The major version number.
+ * minorVersion [in] - The minor version number.
+ * platform [in] - The optional platform identifer.
+ * condition [in] - The test condition used to specifier whether we are
+ * checking a version less then, equal to or greater than
+ * what is specified in the major and minor version
+ * numbers.
+ *
+ * Returns TRUE if matched; otherwise FALSE.
+ */
+bool Curl_verify_windows_version(const unsigned int majorVersion,
+ const unsigned int minorVersion,
+ const PlatformIdentifier platform,
+ const VersionCondition condition)
+{
+ (void) majorVersion;
+ (void) minorVersion;
+ (void) platform;
+ (void) condition;
+
+ return FALSE;
+}
+
+#if defined(USE_WINDOWS_SSPI) || (!defined(CURL_DISABLE_TELNET) && \
+ defined(USE_WINSOCK))
+
/*
* Curl_load_library()
*
diff --git a/lib/system_win32.h b/lib/system_win32.h
index dec18899a..1e772856b 100644
--- a/lib/system_win32.h
+++ b/lib/system_win32.h
@@ -26,6 +26,28 @@
#if defined(WIN32)
+/* Version condition */
+typedef enum {
+ VERSION_LESS_THAN,
+ VERSION_LESS_THAN_EQUAL,
+ VERSION_EQUAL,
+ VERSION_GREATER_THAN_EQUAL,
+ VERSION_GREATER_THAN
+} VersionCondition;
+
+/* Platform identifier */
+typedef enum {
+ PLATFORM_DONT_CARE,
+ PLATFORM_WINDOWS,
+ PLATFORM_WINNT
+} PlatformIdentifier;
+
+/* This is used to verify if we are running on a specific windows version */
+bool Curl_verify_windows_version(const unsigned int majorVersion,
+ const unsigned int minorVersion,
+ const PlatformIdentifier platform,
+ const VersionCondition condition);
+
#if defined(USE_WINDOWS_SSPI) || (!defined(CURL_DISABLE_TELNET) && \
defined(USE_WINSOCK))