blob: 7cd655e5616b7a73d9164c9aa8c2dd5cb717c628 [file] [log] [blame]
Paul Quinnf981c6c1999-05-29 11:15:39 +00001/* Definitions for the VERsion infolibrary (VER.DLL)
2 *
3 * Copyright 1996 Marcus Meissner
4 */
5
Michael Veksler17822f41999-02-09 15:46:25 +00006#ifndef __WINE_WINVER_H
7#define __WINE_WINVER_H
8
Jim Aston2e1cafa1999-03-14 16:35:05 +00009#include "windef.h"
Marcus Meissner317af321999-02-17 13:51:06 +000010
Patrik Stridvall14da7b11999-06-12 10:53:06 +000011#ifdef __cplusplus
12extern "C" {
13#endif /* defined(__cplusplus) */
14
Paul Quinnf981c6c1999-05-29 11:15:39 +000015/* resource ids for different version infos */
16/* These are internal resources for win16, but simple numbers in win32 */
17/* All win32 defines should be moved to winver.h */
18#define VS_FILE_INFO16 MAKEINTRESOURCE16(16)
19#define VS_VERSION_INFO16 MAKEINTRESOURCE16(1)
20#define VS_USER_INFO16 MAKEINTRESOURCE16(100)
21
22#define VS_FILE_INFO 16
23#define VS_VERSION_INFO 1
Francois Gouget3e88da12000-09-29 00:22:09 +000024#define VS_USER_DEFINED 100
Paul Quinnf981c6c1999-05-29 11:15:39 +000025
26#define VS_FFI_SIGNATURE 0xfeef04bdL /* FileInfo Magic */
27#define VS_FFI_STRUCVERSION 0x00010000L /* struc version 1.0 */
28#define VS_FFI_FILEFLAGSMASK 0x0000003fL /* valid flags */
29
30/* VS_VERSION.dwFileFlags */
31#define VS_FF_DEBUG 0x01L
32#define VS_FF_PRERELEASE 0x02L
33#define VS_FF_PATCHED 0x04L
34#define VS_FF_PRIVATEBUILD 0x08L
35#define VS_FF_INFOINFERRED 0x10L
36#define VS_FF_SPECIALBUILD 0x20L
37
38/* VS_VERSION.dwFileOS */
39
40/* major os version */
41#define VOS_UNKNOWN 0x00000000L
42#define VOS_DOS 0x00010000L
43#define VOS_OS216 0x00020000L
44#define VOS_OS232 0x00030000L
45#define VOS_NT 0x00040000L
46
47/* minor os version */
48#define VOS__BASE 0x00000000L
49#define VOS__WINDOWS16 0x00000001L
50#define VOS__PM16 0x00000002L
51#define VOS__PM32 0x00000003L
52#define VOS__WINDOWS32 0x00000004L
53
54/* possible versions */
55#define VOS_DOS_WINDOWS16 (VOS_DOS|VOS__WINDOWS16)
56#define VOS_DOS_WINDOWS32 (VOS_DOS|VOS__WINDOWS32)
57#define VOS_OS216_PM16 (VOS_OS216|VOS__PM16)
58#define VOS_OS232_PM32 (VOS_OS232|VOS__PM32)
59#define VOS_NT_WINDOWS32 (VOS_NT|VOS__WINDOWS32)
60
61/* VS_VERSION.dwFileType */
62#define VFT_UNKNOWN 0x00000000L
63#define VFT_APP 0x00000001L
64#define VFT_DLL 0x00000002L
65#define VFT_DRV 0x00000003L
66#define VFT_FONT 0x00000004L
67#define VFT_VXD 0x00000005L
68/* ??one type missing?? 0x00000006L -Marcus */
69#define VFT_STATIC_LIB 0x00000007L
70
71/* VS_VERSION.dwFileSubtype for VFT_DRV */
72#define VFT2_UNKNOWN 0x00000000L
73#define VFT2_DRV_PRINTER 0x00000001L
74#define VFT2_DRV_KEYBOARD 0x00000002L
75#define VFT2_DRV_LANGUAGE 0x00000003L
76#define VFT2_DRV_DISPLAY 0x00000004L
77#define VFT2_DRV_MOUSE 0x00000005L
78#define VFT2_DRV_NETWORK 0x00000006L
79#define VFT2_DRV_SYSTEM 0x00000007L
80#define VFT2_DRV_INSTALLABLE 0x00000008L
81#define VFT2_DRV_SOUND 0x00000009L
82#define VFT2_DRV_COMM 0x0000000aL
83#define VFT2_DRV_INPUTMETHOD 0x0000000bL
84
85/* VS_VERSION.dwFileSubtype for VFT_FONT */
86#define VFT2_FONT_RASTER 0x00000001L
87#define VFT2_FONT_VECTOR 0x00000002L
88#define VFT2_FONT_TRUETYPE 0x00000003L
89
90/* VerFindFile Flags */
91 /* input */
92#define VFFF_ISSHAREDFILE 0x0001
93
94 /* output (returned) */
95#define VFF_CURNEDEST 0x0001
96#define VFF_FILEINUSE 0x0002
97#define VFF_BUFFTOOSMALL 0x0004
98
99/* VerInstallFile Flags */
100 /* input */
101#define VIFF_FORCEINSTALL 0x0001
102#define VIFF_DONTDELETEOLD 0x0002
103
104 /* output (return) */
105#define VIF_TEMPFILE 0x00000001L
106#define VIF_MISMATCH 0x00000002L
107#define VIF_SRCOLD 0x00000004L
108#define VIF_DIFFLANG 0x00000008L
109#define VIF_DIFFCODEPG 0x00000010L
110#define VIF_DIFFTYPE 0x00000020L
111#define VIF_WRITEPROT 0x00000040L
112#define VIF_FILEINUSE 0x00000080L
113#define VIF_OUTOFSPACE 0x00000100L
114#define VIF_ACCESSVIOLATION 0x00000200L
115#define VIF_SHARINGVIOLATION 0x00000400L
116#define VIF_CANNOTCREATE 0x00000800L
117#define VIF_CANNOTDELETE 0x00001000L
118#define VIF_CANNOTRENAME 0x00002000L
119#define VIF_CANNOTDELETECUR 0x00004000L
120#define VIF_OUTOFMEMORY 0x00008000L
121#define VIF_CANNOTREADSRC 0x00010000L
122#define VIF_CANNOTREADDST 0x00020000L
123#define VIF_BUFFTOOSMALL 0x00040000L
124
125typedef struct tagVS_FIXEDFILEINFO {
126 DWORD dwSignature;
127 DWORD dwStrucVersion;
128 DWORD dwFileVersionMS;
129 DWORD dwFileVersionLS;
130 DWORD dwProductVersionMS;
131 DWORD dwProductVersionLS;
132 DWORD dwFileFlagsMask;
133 DWORD dwFileFlags;
134 DWORD dwFileOS;
135 DWORD dwFileType;
136 DWORD dwFileSubtype;
137 DWORD dwFileDateMS;
138 DWORD dwFileDateLS;
139} VS_FIXEDFILEINFO;
140
141
142#ifndef RC_INVOKED
143
144/* function prototypes */
145
Alexandre Julliarda3960291999-02-26 11:11:13 +0000146DWORD WINAPI VerFindFileA(UINT,LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT*,LPSTR,UINT*);
147DWORD WINAPI VerFindFileW(UINT,LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT*,LPWSTR,UINT*);
Michael Veksler17822f41999-02-09 15:46:25 +0000148#define VerFindFile WINELIB_NAME_AW(VerFindFile)
Alexandre Julliarda3960291999-02-26 11:11:13 +0000149DWORD WINAPI VerInstallFileA(UINT,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT*);
150DWORD WINAPI VerInstallFileW(UINT,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT*);
Michael Veksler17822f41999-02-09 15:46:25 +0000151#define VerInstallFile WINELIB_NAME_AW(VerInstallFile)
Ulrich Weigand3467dab1999-09-19 12:15:58 +0000152DWORD WINAPI VerLanguageNameA(UINT,LPSTR,UINT);
153DWORD WINAPI VerLanguageNameW(UINT,LPWSTR,UINT);
154#define VerLanguageName WINELIB_NAME_AW(VerLanguageName)
Alexandre Julliarda3960291999-02-26 11:11:13 +0000155DWORD WINAPI VerQueryValueA(LPVOID,LPCSTR,LPVOID*,UINT*);
156DWORD WINAPI VerQueryValueW(LPVOID,LPCWSTR,LPVOID*,UINT*);
Michael Veksler17822f41999-02-09 15:46:25 +0000157#define VerQueryValue WINELIB_NAME_AW(VerQueryValue)
Alexandre Julliarda3960291999-02-26 11:11:13 +0000158DWORD WINAPI GetFileVersionInfoSizeA(LPCSTR,LPDWORD);
159DWORD WINAPI GetFileVersionInfoSizeW(LPCWSTR,LPDWORD);
Michael Veksler17822f41999-02-09 15:46:25 +0000160#define GetFileVersionInfoSize WINELIB_NAME_AW(GetFileVersionInfoSize)
Alexandre Julliarda3960291999-02-26 11:11:13 +0000161DWORD WINAPI GetFileVersionInfoA(LPCSTR,DWORD,DWORD,LPVOID);
162DWORD WINAPI GetFileVersionInfoW(LPCWSTR,DWORD,DWORD,LPVOID);
Michael Veksler17822f41999-02-09 15:46:25 +0000163#define GetFileVersionInfo WINELIB_NAME_AW(GetFileVersionInfo)
164
Paul Quinnf981c6c1999-05-29 11:15:39 +0000165/* 20 GETFILEVERSIONINFORAW */
166
Paul Quinnf981c6c1999-05-29 11:15:39 +0000167#endif /* RC_INVOKED */
168
Patrik Stridvall14da7b11999-06-12 10:53:06 +0000169#ifdef __cplusplus
170} /* extern "C" */
171#endif /* defined(__cplusplus) */
172
Michael Veksler17822f41999-02-09 15:46:25 +0000173#endif /* __WINE_WINVER_H */