1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
|
/* Definitions for the VERsion info library (VER.DLL)
*
* Copyright 1996 Marcus Meissner
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
/*
* Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
* other than GPL or LGPL is available it will apply instead, Oracle elects to use only
* the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
* a choice of LGPL license versions is made available with the language indicating
* that LGPLv2 or any later version may be used, or where a choice of which version
* of the LGPL is applied is otherwise unspecified.
*/
#ifndef __WINE_VERRSRC_H
#define __WINE_VERRSRC_H
/* Macro to deal with LP64 <=> LLP64 differences in numeric constants with 'l' modifier */
#ifndef __MSABI_LONG
# if defined(_MSC_VER) || defined(__MINGW32__) || defined(__CYGWIN__)
# define __MSABI_LONG(x) x ## l
# else
# define __MSABI_LONG(x) x
# endif
#endif
/* resource ids for different version infos */
#define VS_FILE_INFO RT_VERSION
#define VS_VERSION_INFO 1
#define VS_USER_DEFINED 100
#define VS_FFI_SIGNATURE __MSABI_LONG(0xfeef04bd) /* FileInfo Magic */
#define VS_FFI_STRUCVERSION __MSABI_LONG(0x00010000) /* struc version 1.0 */
#define VS_FFI_FILEFLAGSMASK __MSABI_LONG(0x0000003f) /* valid flags */
/* VS_VERSION.dwFileFlags */
#define VS_FF_DEBUG __MSABI_LONG(0x01)
#define VS_FF_PRERELEASE __MSABI_LONG(0x02)
#define VS_FF_PATCHED __MSABI_LONG(0x04)
#define VS_FF_PRIVATEBUILD __MSABI_LONG(0x08)
#define VS_FF_INFOINFERRED __MSABI_LONG(0x10)
#define VS_FF_SPECIALBUILD __MSABI_LONG(0x20)
/* VS_VERSION.dwFileOS */
/* major os version */
#define VOS_UNKNOWN __MSABI_LONG(0x00000000)
#define VOS_DOS __MSABI_LONG(0x00010000)
#define VOS_OS216 __MSABI_LONG(0x00020000)
#define VOS_OS232 __MSABI_LONG(0x00030000)
#define VOS_NT __MSABI_LONG(0x00040000)
#define VOS_WINCE __MSABI_LONG(0x00050000)
/* minor os version */
#define VOS__BASE __MSABI_LONG(0x00000000)
#define VOS__WINDOWS16 __MSABI_LONG(0x00000001)
#define VOS__PM16 __MSABI_LONG(0x00000002)
#define VOS__PM32 __MSABI_LONG(0x00000003)
#define VOS__WINDOWS32 __MSABI_LONG(0x00000004)
/* possible versions */
#define VOS_DOS_WINDOWS16 (VOS_DOS|VOS__WINDOWS16)
#define VOS_DOS_WINDOWS32 (VOS_DOS|VOS__WINDOWS32)
#define VOS_OS216_PM16 (VOS_OS216|VOS__PM16)
#define VOS_OS232_PM32 (VOS_OS232|VOS__PM32)
#define VOS_NT_WINDOWS32 (VOS_NT|VOS__WINDOWS32)
/* VS_VERSION.dwFileType */
#define VFT_UNKNOWN __MSABI_LONG(0x00000000)
#define VFT_APP __MSABI_LONG(0x00000001)
#define VFT_DLL __MSABI_LONG(0x00000002)
#define VFT_DRV __MSABI_LONG(0x00000003)
#define VFT_FONT __MSABI_LONG(0x00000004)
#define VFT_VXD __MSABI_LONG(0x00000005)
/* ??one type missing?? __MSABI_LONG(0x00000006) -Marcus */
#define VFT_STATIC_LIB __MSABI_LONG(0x00000007)
/* VS_VERSION.dwFileSubtype for VFT_DRV */
#define VFT2_UNKNOWN __MSABI_LONG(0x00000000)
#define VFT2_DRV_PRINTER __MSABI_LONG(0x00000001)
#define VFT2_DRV_KEYBOARD __MSABI_LONG(0x00000002)
#define VFT2_DRV_LANGUAGE __MSABI_LONG(0x00000003)
#define VFT2_DRV_DISPLAY __MSABI_LONG(0x00000004)
#define VFT2_DRV_MOUSE __MSABI_LONG(0x00000005)
#define VFT2_DRV_NETWORK __MSABI_LONG(0x00000006)
#define VFT2_DRV_SYSTEM __MSABI_LONG(0x00000007)
#define VFT2_DRV_INSTALLABLE __MSABI_LONG(0x00000008)
#define VFT2_DRV_SOUND __MSABI_LONG(0x00000009)
#define VFT2_DRV_COMM __MSABI_LONG(0x0000000a)
#define VFT2_DRV_INPUTMETHOD __MSABI_LONG(0x0000000b)
#define VFT2_DRV_VERSIONED_PRINTER __MSABI_LONG(0x0000000c)
/* VS_VERSION.dwFileSubtype for VFT_FONT */
#define VFT2_FONT_RASTER __MSABI_LONG(0x00000001)
#define VFT2_FONT_VECTOR __MSABI_LONG(0x00000002)
#define VFT2_FONT_TRUETYPE __MSABI_LONG(0x00000003)
/* VerFindFile Flags */
/* input */
#define VFFF_ISSHAREDFILE 0x0001
/* output (returned) */
#define VFF_CURNEDEST 0x0001
#define VFF_FILEINUSE 0x0002
#define VFF_BUFFTOOSMALL 0x0004
/* VerInstallFile Flags */
/* input */
#define VIFF_FORCEINSTALL 0x0001
#define VIFF_DONTDELETEOLD 0x0002
/* output (return) */
#define VIF_TEMPFILE __MSABI_LONG(0x00000001)
#define VIF_MISMATCH __MSABI_LONG(0x00000002)
#define VIF_SRCOLD __MSABI_LONG(0x00000004)
#define VIF_DIFFLANG __MSABI_LONG(0x00000008)
#define VIF_DIFFCODEPG __MSABI_LONG(0x00000010)
#define VIF_DIFFTYPE __MSABI_LONG(0x00000020)
#define VIF_WRITEPROT __MSABI_LONG(0x00000040)
#define VIF_FILEINUSE __MSABI_LONG(0x00000080)
#define VIF_OUTOFSPACE __MSABI_LONG(0x00000100)
#define VIF_ACCESSVIOLATION __MSABI_LONG(0x00000200)
#define VIF_SHARINGVIOLATION __MSABI_LONG(0x00000400)
#define VIF_CANNOTCREATE __MSABI_LONG(0x00000800)
#define VIF_CANNOTDELETE __MSABI_LONG(0x00001000)
#define VIF_CANNOTRENAME __MSABI_LONG(0x00002000)
#define VIF_CANNOTDELETECUR __MSABI_LONG(0x00004000)
#define VIF_OUTOFMEMORY __MSABI_LONG(0x00008000)
#define VIF_CANNOTREADSRC __MSABI_LONG(0x00010000)
#define VIF_CANNOTREADDST __MSABI_LONG(0x00020000)
#define VIF_BUFFTOOSMALL __MSABI_LONG(0x00040000)
#define VIF_CANNOTLOADLZ32 __MSABI_LONG(0x00080000)
#define VIF_CANNOTLOADCABINET __MSABI_LONG(0x00100000)
#ifndef RC_INVOKED
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
#define FILE_VER_GET_LOCALISED 0x01
#define FILE_VER_GET_NEUTRAL 0x02
#define FILE_VER_GET_PREFETCHED 0x04
typedef struct tagVS_FIXEDFILEINFO {
DWORD dwSignature;
DWORD dwStrucVersion;
DWORD dwFileVersionMS;
DWORD dwFileVersionLS;
DWORD dwProductVersionMS;
DWORD dwProductVersionLS;
DWORD dwFileFlagsMask;
DWORD dwFileFlags;
DWORD dwFileOS;
DWORD dwFileType;
DWORD dwFileSubtype;
DWORD dwFileDateMS;
DWORD dwFileDateLS;
} VS_FIXEDFILEINFO;
#ifdef __cplusplus
} /* extern "C" */
#endif /* defined(__cplusplus) */
#endif /* RC_INVOKED */
#endif /* __WINE_VERRSRC_H */
|