ReactOS  0.4.14-dev-384-g5b37caa
ntverp.h
Go to the documentation of this file.
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(R) Foundation"
148 #define VER_PRODUCTNAME_STR \
149  "ReactOS(R) Operating System"
150 #define VER_LEGALTRADEMARKS_STR \
151  "ReactOS(R) is a registered trademark of the ReactOS Foundation."