![drh](/assets/img/avatar_default.png)
specifically that private-use macros names must not begin with "_". FossilOrigin-Name: 5471aca0158851d3fb0a2517306917536deb38bb
89 lines
2.2 KiB
C
89 lines
2.2 KiB
C
/*
|
|
** 2013 November 25
|
|
**
|
|
** The author disclaims copyright to this source code. In place of
|
|
** a legal notice, here is a blessing:
|
|
**
|
|
** May you do good and not evil.
|
|
** May you find forgiveness for yourself and forgive others.
|
|
** May you share freely, never taking more than you give.
|
|
**
|
|
******************************************************************************
|
|
**
|
|
** This file contains code that is specific to Windows.
|
|
*/
|
|
#ifndef SQLITE_OS_WIN_H
|
|
#define SQLITE_OS_WIN_H
|
|
|
|
/*
|
|
** Include the primary Windows SDK header file.
|
|
*/
|
|
#include "windows.h"
|
|
|
|
#ifdef __CYGWIN__
|
|
# include <sys/cygwin.h>
|
|
# include <errno.h> /* amalgamator: dontcache */
|
|
#endif
|
|
|
|
/*
|
|
** Determine if we are dealing with Windows NT.
|
|
**
|
|
** We ought to be able to determine if we are compiling for Windows 9x or
|
|
** Windows NT using the _WIN32_WINNT macro as follows:
|
|
**
|
|
** #if defined(_WIN32_WINNT)
|
|
** # define SQLITE_OS_WINNT 1
|
|
** #else
|
|
** # define SQLITE_OS_WINNT 0
|
|
** #endif
|
|
**
|
|
** However, Visual Studio 2005 does not set _WIN32_WINNT by default, as
|
|
** it ought to, so the above test does not work. We'll just assume that
|
|
** everything is Windows NT unless the programmer explicitly says otherwise
|
|
** by setting SQLITE_OS_WINNT to 0.
|
|
*/
|
|
#if SQLITE_OS_WIN && !defined(SQLITE_OS_WINNT)
|
|
# define SQLITE_OS_WINNT 1
|
|
#endif
|
|
|
|
/*
|
|
** Determine if we are dealing with Windows CE - which has a much reduced
|
|
** API.
|
|
*/
|
|
#if defined(_WIN32_WCE)
|
|
# define SQLITE_OS_WINCE 1
|
|
#else
|
|
# define SQLITE_OS_WINCE 0
|
|
#endif
|
|
|
|
/*
|
|
** Determine if we are dealing with WinRT, which provides only a subset of
|
|
** the full Win32 API.
|
|
*/
|
|
#if !defined(SQLITE_OS_WINRT)
|
|
# define SQLITE_OS_WINRT 0
|
|
#endif
|
|
|
|
/*
|
|
** For WinCE, some API function parameters do not appear to be declared as
|
|
** volatile.
|
|
*/
|
|
#if SQLITE_OS_WINCE
|
|
# define SQLITE_WIN32_VOLATILE
|
|
#else
|
|
# define SQLITE_WIN32_VOLATILE volatile
|
|
#endif
|
|
|
|
/*
|
|
** For some Windows sub-platforms, the _beginthreadex() / _endthreadex()
|
|
** functions are not available (e.g. those not using MSVC, Cygwin, etc).
|
|
*/
|
|
#if SQLITE_OS_WIN && !SQLITE_OS_WINCE && !SQLITE_OS_WINRT && \
|
|
SQLITE_THREADSAFE>0 && !defined(__CYGWIN__)
|
|
# define SQLITE_OS_WIN_THREADS 1
|
|
#else
|
|
# define SQLITE_OS_WIN_THREADS 0
|
|
#endif
|
|
|
|
#endif /* SQLITE_OS_WIN_H */
|