Commit | Line | Data |
---|---|---|
f981c6cb | 1 | /* Definitions for the VERsion infolibrary (VER.DLL) |
9a624916 | 2 | * |
f981c6cb | 3 | * Copyright 1996 Marcus Meissner |
0799c1a7 AJ |
4 | * |
5 | * This library is free software; you can redistribute it and/or | |
6 | * modify it under the terms of the GNU Lesser General Public | |
7 | * License as published by the Free Software Foundation; either | |
8 | * version 2.1 of the License, or (at your option) any later version. | |
9 | * | |
10 | * This library is distributed in the hope that it will be useful, | |
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 | * Lesser General Public License for more details. | |
14 | * | |
15 | * You should have received a copy of the GNU Lesser General Public | |
16 | * License along with this library; if not, write to the Free Software | |
360a3f91 | 17 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA |
f981c6cb PQ |
18 | */ |
19 | ||
17822f45 MV |
20 | #ifndef __WINE_WINVER_H |
21 | #define __WINE_WINVER_H | |
22 | ||
14da7b1c PS |
23 | #ifdef __cplusplus |
24 | extern "C" { | |
25 | #endif /* defined(__cplusplus) */ | |
26 | ||
f981c6cb | 27 | /* resource ids for different version infos */ |
f981c6cb PQ |
28 | #define VS_FILE_INFO 16 |
29 | #define VS_VERSION_INFO 1 | |
3e88da11 | 30 | #define VS_USER_DEFINED 100 |
f981c6cb PQ |
31 | |
32 | #define VS_FFI_SIGNATURE 0xfeef04bdL /* FileInfo Magic */ | |
33 | #define VS_FFI_STRUCVERSION 0x00010000L /* struc version 1.0 */ | |
34 | #define VS_FFI_FILEFLAGSMASK 0x0000003fL /* valid flags */ | |
35 | ||
36 | /* VS_VERSION.dwFileFlags */ | |
37 | #define VS_FF_DEBUG 0x01L | |
38 | #define VS_FF_PRERELEASE 0x02L | |
39 | #define VS_FF_PATCHED 0x04L | |
40 | #define VS_FF_PRIVATEBUILD 0x08L | |
41 | #define VS_FF_INFOINFERRED 0x10L | |
42 | #define VS_FF_SPECIALBUILD 0x20L | |
43 | ||
44 | /* VS_VERSION.dwFileOS */ | |
45 | ||
46 | /* major os version */ | |
47 | #define VOS_UNKNOWN 0x00000000L | |
48 | #define VOS_DOS 0x00010000L | |
49 | #define VOS_OS216 0x00020000L | |
50 | #define VOS_OS232 0x00030000L | |
51 | #define VOS_NT 0x00040000L | |
52 | ||
53 | /* minor os version */ | |
54 | #define VOS__BASE 0x00000000L | |
55 | #define VOS__WINDOWS16 0x00000001L | |
56 | #define VOS__PM16 0x00000002L | |
57 | #define VOS__PM32 0x00000003L | |
58 | #define VOS__WINDOWS32 0x00000004L | |
59 | ||
60 | /* possible versions */ | |
61 | #define VOS_DOS_WINDOWS16 (VOS_DOS|VOS__WINDOWS16) | |
62 | #define VOS_DOS_WINDOWS32 (VOS_DOS|VOS__WINDOWS32) | |
63 | #define VOS_OS216_PM16 (VOS_OS216|VOS__PM16) | |
64 | #define VOS_OS232_PM32 (VOS_OS232|VOS__PM32) | |
65 | #define VOS_NT_WINDOWS32 (VOS_NT|VOS__WINDOWS32) | |
66 | ||
67 | /* VS_VERSION.dwFileType */ | |
68 | #define VFT_UNKNOWN 0x00000000L | |
69 | #define VFT_APP 0x00000001L | |
70 | #define VFT_DLL 0x00000002L | |
71 | #define VFT_DRV 0x00000003L | |
72 | #define VFT_FONT 0x00000004L | |
73 | #define VFT_VXD 0x00000005L | |
74 | /* ??one type missing?? 0x00000006L -Marcus */ | |
75 | #define VFT_STATIC_LIB 0x00000007L | |
76 | ||
77 | /* VS_VERSION.dwFileSubtype for VFT_DRV */ | |
78 | #define VFT2_UNKNOWN 0x00000000L | |
79 | #define VFT2_DRV_PRINTER 0x00000001L | |
80 | #define VFT2_DRV_KEYBOARD 0x00000002L | |
81 | #define VFT2_DRV_LANGUAGE 0x00000003L | |
82 | #define VFT2_DRV_DISPLAY 0x00000004L | |
83 | #define VFT2_DRV_MOUSE 0x00000005L | |
84 | #define VFT2_DRV_NETWORK 0x00000006L | |
85 | #define VFT2_DRV_SYSTEM 0x00000007L | |
86 | #define VFT2_DRV_INSTALLABLE 0x00000008L | |
87 | #define VFT2_DRV_SOUND 0x00000009L | |
88 | #define VFT2_DRV_COMM 0x0000000aL | |
89 | #define VFT2_DRV_INPUTMETHOD 0x0000000bL | |
625f5862 | 90 | #define VFT2_DRV_VERSIONED_PRINTER 0x0000000cL |
f981c6cb PQ |
91 | |
92 | /* VS_VERSION.dwFileSubtype for VFT_FONT */ | |
93 | #define VFT2_FONT_RASTER 0x00000001L | |
94 | #define VFT2_FONT_VECTOR 0x00000002L | |
95 | #define VFT2_FONT_TRUETYPE 0x00000003L | |
96 | ||
97 | /* VerFindFile Flags */ | |
98 | /* input */ | |
99 | #define VFFF_ISSHAREDFILE 0x0001 | |
100 | ||
101 | /* output (returned) */ | |
102 | #define VFF_CURNEDEST 0x0001 | |
103 | #define VFF_FILEINUSE 0x0002 | |
104 | #define VFF_BUFFTOOSMALL 0x0004 | |
105 | ||
106 | /* VerInstallFile Flags */ | |
107 | /* input */ | |
108 | #define VIFF_FORCEINSTALL 0x0001 | |
109 | #define VIFF_DONTDELETEOLD 0x0002 | |
110 | ||
111 | /* output (return) */ | |
112 | #define VIF_TEMPFILE 0x00000001L | |
113 | #define VIF_MISMATCH 0x00000002L | |
114 | #define VIF_SRCOLD 0x00000004L | |
115 | #define VIF_DIFFLANG 0x00000008L | |
116 | #define VIF_DIFFCODEPG 0x00000010L | |
117 | #define VIF_DIFFTYPE 0x00000020L | |
118 | #define VIF_WRITEPROT 0x00000040L | |
119 | #define VIF_FILEINUSE 0x00000080L | |
120 | #define VIF_OUTOFSPACE 0x00000100L | |
121 | #define VIF_ACCESSVIOLATION 0x00000200L | |
122 | #define VIF_SHARINGVIOLATION 0x00000400L | |
123 | #define VIF_CANNOTCREATE 0x00000800L | |
124 | #define VIF_CANNOTDELETE 0x00001000L | |
125 | #define VIF_CANNOTRENAME 0x00002000L | |
126 | #define VIF_CANNOTDELETECUR 0x00004000L | |
127 | #define VIF_OUTOFMEMORY 0x00008000L | |
128 | #define VIF_CANNOTREADSRC 0x00010000L | |
129 | #define VIF_CANNOTREADDST 0x00020000L | |
130 | #define VIF_BUFFTOOSMALL 0x00040000L | |
131 | ||
132 | typedef struct tagVS_FIXEDFILEINFO { | |
133 | DWORD dwSignature; | |
134 | DWORD dwStrucVersion; | |
135 | DWORD dwFileVersionMS; | |
136 | DWORD dwFileVersionLS; | |
137 | DWORD dwProductVersionMS; | |
138 | DWORD dwProductVersionLS; | |
139 | DWORD dwFileFlagsMask; | |
140 | DWORD dwFileFlags; | |
141 | DWORD dwFileOS; | |
142 | DWORD dwFileType; | |
143 | DWORD dwFileSubtype; | |
144 | DWORD dwFileDateMS; | |
145 | DWORD dwFileDateLS; | |
146 | } VS_FIXEDFILEINFO; | |
147 | ||
148 | ||
149 | #ifndef RC_INVOKED | |
150 | ||
151 | /* function prototypes */ | |
152 | ||
015dc79c FG |
153 | DWORD WINAPI VerFindFileA(DWORD,LPCSTR,LPCSTR,LPCSTR,LPSTR,PUINT,LPSTR,PUINT); |
154 | DWORD WINAPI VerFindFileW(DWORD,LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,PUINT,LPWSTR,PUINT); | |
17822f45 | 155 | #define VerFindFile WINELIB_NAME_AW(VerFindFile) |
015dc79c FG |
156 | DWORD WINAPI VerInstallFileA(DWORD,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPSTR,PUINT); |
157 | DWORD WINAPI VerInstallFileW(DWORD,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,PUINT); | |
17822f45 | 158 | #define VerInstallFile WINELIB_NAME_AW(VerInstallFile) |
015dc79c FG |
159 | DWORD WINAPI VerLanguageNameA(DWORD,LPSTR,DWORD); |
160 | DWORD WINAPI VerLanguageNameW(DWORD,LPWSTR,DWORD); | |
3467dab3 | 161 | #define VerLanguageName WINELIB_NAME_AW(VerLanguageName) |
015dc79c FG |
162 | BOOL WINAPI VerQueryValueA(LPCVOID,LPCSTR,LPVOID*,PUINT); |
163 | BOOL WINAPI VerQueryValueW(LPCVOID,LPCWSTR,LPVOID*,PUINT); | |
17822f45 | 164 | #define VerQueryValue WINELIB_NAME_AW(VerQueryValue) |
a3960292 AJ |
165 | DWORD WINAPI GetFileVersionInfoSizeA(LPCSTR,LPDWORD); |
166 | DWORD WINAPI GetFileVersionInfoSizeW(LPCWSTR,LPDWORD); | |
17822f45 | 167 | #define GetFileVersionInfoSize WINELIB_NAME_AW(GetFileVersionInfoSize) |
07b6e6e6 DT |
168 | BOOL WINAPI GetFileVersionInfoA(LPCSTR,DWORD,DWORD,LPVOID); |
169 | BOOL WINAPI GetFileVersionInfoW(LPCWSTR,DWORD,DWORD,LPVOID); | |
17822f45 MV |
170 | #define GetFileVersionInfo WINELIB_NAME_AW(GetFileVersionInfo) |
171 | ||
f981c6cb PQ |
172 | /* 20 GETFILEVERSIONINFORAW */ |
173 | ||
f981c6cb PQ |
174 | #endif /* RC_INVOKED */ |
175 | ||
14da7b1c PS |
176 | #ifdef __cplusplus |
177 | } /* extern "C" */ | |
178 | #endif /* defined(__cplusplus) */ | |
179 | ||
17822f45 | 180 | #endif /* __WINE_WINVER_H */ |