4 ** The author disclaims copyright to this source code. In place of
5 ** a legal notice, here is a blessing:
7 ** May you do good and not evil.
8 ** May you find forgiveness for yourself and forgive others.
9 ** May you share freely, never taking more than you give.
11 ******************************************************************************
13 ** This file contains code that is specific to Windows.
15 #ifndef SQLITE_OS_WIN_H
16 #define SQLITE_OS_WIN_H
19 ** Include the primary Windows SDK header file.
24 # include <sys/cygwin.h>
25 # include <errno.h> /* amalgamator: dontcache */
29 ** Determine if we are dealing with Windows NT.
31 ** We ought to be able to determine if we are compiling for Windows 9x or
32 ** Windows NT using the _WIN32_WINNT macro as follows:
34 ** #if defined(_WIN32_WINNT)
35 ** # define SQLITE_OS_WINNT 1
37 ** # define SQLITE_OS_WINNT 0
40 ** However, Visual Studio 2005 does not set _WIN32_WINNT by default, as
41 ** it ought to, so the above test does not work. We'll just assume that
42 ** everything is Windows NT unless the programmer explicitly says otherwise
43 ** by setting SQLITE_OS_WINNT to 0.
45 #if SQLITE_OS_WIN && !defined(SQLITE_OS_WINNT)
46 # define SQLITE_OS_WINNT 1
50 ** Determine if we are dealing with Windows CE - which has a much reduced
53 #if defined(_WIN32_WCE)
54 # define SQLITE_OS_WINCE 1
56 # define SQLITE_OS_WINCE 0
60 ** Determine if we are dealing with WinRT, which provides only a subset of
61 ** the full Win32 API.
63 #if !defined(SQLITE_OS_WINRT)
64 # define SQLITE_OS_WINRT 0
68 ** For WinCE, some API function parameters do not appear to be declared as
72 # define SQLITE_WIN32_VOLATILE
74 # define SQLITE_WIN32_VOLATILE volatile
78 ** For some Windows sub-platforms, the _beginthreadex() / _endthreadex()
79 ** functions are not available (e.g. those not using MSVC, Cygwin, etc).
81 #if SQLITE_OS_WIN && !SQLITE_OS_WINCE && !SQLITE_OS_WINRT && \
82 SQLITE_THREADSAFE>0 && !defined(__CYGWIN__)
83 # define SQLITE_OS_WIN_THREADS 1
85 # define SQLITE_OS_WIN_THREADS 0
88 #endif /* SQLITE_OS_WIN_H */