win32: Introduced centralised verify windows version function

This commit is contained in:
Steve Holme 2016-06-04 20:06:56 +01:00
parent 584d0121c3
commit 6020ce5fa7
2 changed files with 61 additions and 3 deletions

View File

@ -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()
*

View File

@ -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))