xref: /reactos/sdk/include/psdk/ntverp.h (revision 6881d8c6)
1 /*
2  * PROJECT:         ReactOS
3  * LICENSE:         GPL - See COPYING in the top level directory
4  * FILE:            include/psdk/ntverp.h
5  * PURPOSE:         Master Version File.
6  *                  This file should be modified only by the official builder
7  *                  to update VERSION, VER_PRODUCTVERSION, VER_PRODUCTVERSION_
8  *                  STR and VER_PRODUCTBETA_STR values.
9  *                  The VER_PRODUCTBUILD lines must contain the product
10  *                  comments and end with the build#<CR><LF>.
11  *                  The VER_PRODUCTBETA_STR lines must contain the product
12  *                  comments and end with "somestring"<CR><LF>.
13  * PROGRAMMERS:     Alex Ionescu (alex.ionescu@reactos.org)
14  */
15 
16 //
17 // Windows NT Build 3790.3959
18 //
19 #define VER_PRODUCTBUILD                    3790
20 #define VER_PRODUCTBUILD_QFE                3959
21 
22 //
23 // Windows NT Version 5.2
24 //
25 #define VER_PRODUCTMAJORVERSION             5
26 #define VER_PRODUCTMINORVERSION             2
27 #define VER_PRODUCTVERSION_W                (0x0502)
28 #define VER_PRODUCTVERSION_DW               (0x05020000 | VER_PRODUCTBUILD)
29 
30 //
31 // Not a beta
32 //
33 #define VER_PRODUCTBETA_STR                 ""
34 
35 //
36 // ANSI String Generating Macros
37 //
38 #define VER_PRODUCTVERSION_MAJORMINOR2(x,y) \
39     #x "." #y
40 #define VER_PRODUCTVERSION_MAJORMINOR1(x,y) \
41     VER_PRODUCTVERSION_MAJORMINOR2(x, y)
42 #define VER_PRODUCTVERSION_STRING           \
43     VER_PRODUCTVERSION_MAJORMINOR1(VER_PRODUCTMAJORVERSION, VER_PRODUCTMINORVERSION)
44 
45 //
46 // Unicode String Generating Macros
47 //
48 #define LVER_PRODUCTVERSION_MAJORMINOR2(x,y)\
49     L#x L"." L#y
50 #define LVER_PRODUCTVERSION_MAJORMINOR1(x,y)\
51     LVER_PRODUCTVERSION_MAJORMINOR2(x, y)
52 #define LVER_PRODUCTVERSION_STRING          \
53     LVER_PRODUCTVERSION_MAJORMINOR1(VER_PRODUCTMAJORVERSION, VER_PRODUCTMINORVERSION)
54 
55 //
56 // Full Product Version
57 //
58 #define VER_PRODUCTVERSION                  \
59     VER_PRODUCTMAJORVERSION,VER_PRODUCTMINORVERSION,VER_PRODUCTBUILD,VER_PRODUCTBUILD_QFE
60 
61 //
62 // Padding for ANSI Version String
63 //
64 #if     (VER_PRODUCTBUILD < 10)
65 #define VER_BPAD "000"
66 #elif   (VER_PRODUCTBUILD < 100)
67 #define VER_BPAD "00"
68 #elif   (VER_PRODUCTBUILD < 1000)
69 #define VER_BPAD "0"
70 #else
71 #define VER_BPAD
72 #endif
73 
74 //
75 // Padding for Unicode Version String
76 //
77 #if     (VER_PRODUCTBUILD < 10)
78 #define LVER_BPAD L"000"
79 #elif   (VER_PRODUCTBUILD < 100)
80 #define LVER_BPAD L"00"
81 #elif   (VER_PRODUCTBUILD < 1000)
82 #define LVER_BPAD L"0"
83 #else
84 #define LVER_BPAD
85 #endif
86 
87 //
88 // ANSI Product Version String
89 //
90 #define VER_PRODUCTVERSION_STR2(x,y)        \
91     VER_PRODUCTVERSION_STRING "." VER_BPAD #x "." #y
92 #define VER_PRODUCTVERSION_STR1(x,y)        \
93     VER_PRODUCTVERSION_STR2(x, y)
94 #define VER_PRODUCTVERSION_STR              \
95     VER_PRODUCTVERSION_STR1(VER_PRODUCTBUILD, VER_PRODUCTBUILD_QFE)
96 
97 //
98 // Unicode Product Version String
99 //
100 #define LVER_PRODUCTVERSION_STR2(x,y)       \
101     LVER_PRODUCTVERSION_STRING L"." LVER_BPAD L#x L"." L#y
102 #define LVER_PRODUCTVERSION_STR1(x,y)       \
103     LVER_PRODUCTVERSION_STR2(x, y)
104 #define LVER_PRODUCTVERSION_STR             \
105     LVER_PRODUCTVERSION_STR1(VER_PRODUCTBUILD, VER_PRODUCTBUILD_QFE)
106 
107 //
108 // Debug Flag
109 //
110 #if DBG
111 #define VER_DEBUG                           VS_FF_DEBUG
112 #else
113 #define VER_DEBUG                           0
114 #endif
115 
116 //
117 // Beta Flag
118 //
119 #if BETA
120 #define VER_PRERELEASE                      VS_FF_PRERELEASE
121 #else
122 #define VER_PRERELEASE                      0
123 #endif
124 
125 //
126 // Internal Flag
127 //
128 #if OFFICIAL_BUILD
129 #define VER_PRIVATE                         0
130 #else
131 #define VER_PRIVATE                         VS_FF_PRIVATEBUILD
132 #endif
133 
134 //
135 // Other Flags
136 //
137 #define VER_FILEFLAGSMASK                   VS_FFI_FILEFLAGSMASK
138 #define VER_FILEOS                          VOS_NT_WINDOWS32
139 #define VER_FILEFLAGS                       (VER_PRERELEASE | \
140                                              VER_DEBUG | \
141                                              VER_PRIVATE)
142 
143 //
144 // Company and Trademarks
145 //
146 #define VER_COMPANYNAME_STR                 \
147     "ReactOS Project"
148 #define VER_PRODUCTNAME_STR                 \
149     "ReactOS Operating System"
150 #define VER_LEGALTRADEMARKS_STR             \
151     "ReactOS is a registered trademark of ReactOS Deutschland e.V."
152