modernc.org/cc@v1.0.1/v2/testdata/_sqlite/src/os_win.h (about)

     1  /*
     2  ** 2013 November 25
     3  **
     4  ** The author disclaims copyright to this source code.  In place of
     5  ** a legal notice, here is a blessing:
     6  **
     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.
    10  **
    11  ******************************************************************************
    12  **
    13  ** This file contains code that is specific to Windows.
    14  */
    15  #ifndef SQLITE_OS_WIN_H
    16  #define SQLITE_OS_WIN_H
    17  
    18  /*
    19  ** Include the primary Windows SDK header file.
    20  */
    21  #include "windows.h"
    22  
    23  #ifdef __CYGWIN__
    24  # include <sys/cygwin.h>
    25  # include <errno.h> /* amalgamator: dontcache */
    26  #endif
    27  
    28  /*
    29  ** Determine if we are dealing with Windows NT.
    30  **
    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:
    33  **
    34  ** #if defined(_WIN32_WINNT)
    35  ** # define SQLITE_OS_WINNT 1
    36  ** #else
    37  ** # define SQLITE_OS_WINNT 0
    38  ** #endif
    39  **
    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.
    44  */
    45  #if SQLITE_OS_WIN && !defined(SQLITE_OS_WINNT)
    46  # define SQLITE_OS_WINNT 1
    47  #endif
    48  
    49  /*
    50  ** Determine if we are dealing with Windows CE - which has a much reduced
    51  ** API.
    52  */
    53  #if defined(_WIN32_WCE)
    54  # define SQLITE_OS_WINCE 1
    55  #else
    56  # define SQLITE_OS_WINCE 0
    57  #endif
    58  
    59  /*
    60  ** Determine if we are dealing with WinRT, which provides only a subset of
    61  ** the full Win32 API.
    62  */
    63  #if !defined(SQLITE_OS_WINRT)
    64  # define SQLITE_OS_WINRT 0
    65  #endif
    66  
    67  /*
    68  ** For WinCE, some API function parameters do not appear to be declared as
    69  ** volatile.
    70  */
    71  #if SQLITE_OS_WINCE
    72  # define SQLITE_WIN32_VOLATILE
    73  #else
    74  # define SQLITE_WIN32_VOLATILE volatile
    75  #endif
    76  
    77  /*
    78  ** For some Windows sub-platforms, the _beginthreadex() / _endthreadex()
    79  ** functions are not available (e.g. those not using MSVC, Cygwin, etc).
    80  */
    81  #if SQLITE_OS_WIN && !SQLITE_OS_WINCE && !SQLITE_OS_WINRT && \
    82      SQLITE_THREADSAFE>0 && !defined(__CYGWIN__)
    83  # define SQLITE_OS_WIN_THREADS 1
    84  #else
    85  # define SQLITE_OS_WIN_THREADS 0
    86  #endif
    87  
    88  #endif /* SQLITE_OS_WIN_H */