/*
 *  sdkddkve.h / sdkddkver.h    SDK and DDK version numbers
 *
 * =========================================================================
 *
 *                          Open Watcom Project
 *
 * Copyright (c) 2004-2026 The Open Watcom Contributors. All Rights Reserved.
 *
 *    This file is automatically generated. Do not edit directly.
 *
 * =========================================================================
 */

#ifndef _INC_SDKDDKVER
#define _INC_SDKDDKVER

#ifndef _ENABLE_AUTODEPEND
 #pragma read_only_file
#endif

#ifdef __cplusplus
extern "C" {
#endif

/* Windows NT version numbers */
#define _WIN32_WINNT_NT4        0x0400
#define _WIN32_WINNT_WIN2K      0x0500
#define _WIN32_WINNT_WINXP      0x0501
#define _WIN32_WINNT_WS03       0x0502
#define _WIN32_WINNT_WIN6       0x0600
#define _WIN32_WINNT_VISTA      0x0600
#define _WIN32_WINNT_WS08       0x0600
#define _WIN32_WINNT_LONGHORN   0x0600
#define _WIN32_WINNT_WIN7       0x0601

/* Internet Explorer version numbers */
#define _WIN32_IE_IE20      0x0200
#define _WIN32_IE_IE30      0x0300
#define _WIN32_IE_IE302     0x0302
#define _WIN32_IE_IE40      0x0400
#define _WIN32_IE_IE401     0x0401
#define _WIN32_IE_IE50      0x0500
#define _WIN32_IE_IE501     0x0501
#define _WIN32_IE_IE55      0x0550
#define _WIN32_IE_IE60      0x0600
#define _WIN32_IE_IE60SP1   0x0601
#define _WIN32_IE_IE60SP2   0x0603
#define _WIN32_IE_IE70      0x0700
#define _WIN32_IE_IE80      0x0800
#define _WIN32_IE_NT4       _WIN32_IE_IE20
#define _WIN32_IE_NT4SP1    _WIN32_IE_IE20
#define _WIN32_IE_NT4SP2    _WIN32_IE_IE20
#define _WIN32_IE_NT4SP3    _WIN32_IE_IE302
#define _WIN32_IE_NT4SP4    _WIN32_IE_IE401
#define _WIN32_IE_NT4SP5    _WIN32_IE_IE401
#define _WIN32_IE_NT4SP6    _WIN32_IE_IE50
#define _WIN32_IE_WIN98     _WIN32_IE_IE401
#define _WIN32_IE_WIN98SE   _WIN32_IE_IE50
#define _WIN32_IE_WINME     _WIN32_IE_IE55
#define _WIN32_IE_WIN2K     _WIN32_IE_IE501
#define _WIN32_IE_WIN2KSP1  _WIN32_IE_IE501
#define _WIN32_IE_WIN2KSP2  _WIN32_IE_IE501
#define _WIN32_IE_WIN2KSP3  _WIN32_IE_IE501
#define _WIN32_IE_WIN2KSP4  _WIN32_IE_IE501
#define _WIN32_IE_XP        _WIN32_IE_IE60
#define _WIN32_IE_XPSP1     _WIN32_IE_IE60SP1
#define _WIN32_IE_XPSP2     _WIN32_IE_IE60SP2
#define _WIN32_IE_WS03      0x0602
#define _WIN32_IE_WS03SP1   _WIN32_IE_IE60SP2
#define _WIN32_IE_WIN6      _WIN32_IE_IE70
#define _WIN32_IE_LONGHORN  _WIN32_IE_IE70
#define _WIN32_IE_WIN7      _WIN32_IE_IE80

/* NT device driver interface version numbers */
#define NTDDI_WIN2K     0x05000000
#define NTDDI_WIN2KSP1  0x05000100
#define NTDDI_WIN2KSP2  0x05000200
#define NTDDI_WIN2KSP3  0x05000300
#define NTDDI_WIN2KSP4  0x05000500
#define NTDDI_WINXP     0x05010000
#define NTDDI_WINXPSP1  0x05010100
#define NTDDI_WINXPSP2  0x05010200
#define NTDDI_WINXPSP3  0x05010300
#define NTDDI_WINXPSP4  0x05010400
#define NTDDI_WS03      0x05020000
#define NTDDI_WS03SP1   0x05020100
#define NTDDI_WS03SP2   0x05020200
#define NTDDI_WS03SP3   0x05020300
#define NTDDI_WS03SP4   0x05020400
#define NTDDI_WIN6      0x06000000
#define NTDDI_WIN6SP1   0x06000100
#define NTDDI_WIN6SP2   0x06000200
#define NTDDI_WIN6SP3   0x06000300
#define NTDDI_WIN6SP4   0x06000400
#define NTDDI_VISTA     NTDDI_WIN6
#define NTDDI_VISTASP1  NTDDI_WIN6SP1
#define NTDDI_VISTASP2  NTDDI_WIN6SP2
#define NTDDI_VISTASP3  NTDDI_WIN6SP3
#define NTDDI_VISTASP4  NTDDI_WIN6SP4
#define NTDDI_WS08      NTDDI_WIN6SP1
#define NTDDI_WS08SP2   NTDDI_WIN6SP2
#define NTDDI_WS08SP3   NTDDI_WIN6SP3
#define NTDDI_WS08SP4   NTDDI_WIN6SP4
#define NTDDI_LONGHORN  NTDDI_VISTA
#define NTDDI_WIN7      0x06010000
#define NTDDI_WIN8      0x06020000
#define NTDDI_WINBLUE   0x06030000

/* Masks to manipulate NT device driver interface version numbers */
#define OSVERSION_MASK  0xFFFF0000
#define SPVERSION_MASK  0x0000FF00
#define SUBVERSION_MASK 0x000000FF

/* Macros to manipulate NT device driver interface version numbers */
#define OSVER( x )  ((x) & OSVERSION_MASK)
#define SPVER( x )  (((x) & SPVERSION_MASK) >> 8)
#define SUBVER( x ) ((x) & SUBVERSION_MASK)

/* Macros to convert version numbers */
#define NTDDI_VERSION_FROM_WIN32_WINNT2( x )    x##0000
#define NTDDI_VERSION_FROM_WIN32_WINNT( x )     NTDDI_VERSION_FROM_WIN32_WINNT2( x )

/* Define default version numbers. */
#ifndef WINVER
    #define WINVER          0x0400
#endif
#ifndef _WIN32_WINNT
    #define _WIN32_WINNT    0x0400
#endif
#ifndef _WIN32_IE
    #define _WIN32_IE       0x0400
#endif
#ifndef _WIN32_WINDOWS
    #define _WIN32_WINDOWS  0x0400
#endif
#ifndef NTDDI_VERSION
    #define NTDDI_VERSION   0x05000000
#endif

#ifdef __cplusplus
} /* extern "C" */
#endif

#endif /* _INC_SDKDDKVER */
