1 /* Definitions for the VERsion infolibrary (VER.DLL)
3 * Copyright 1996 Marcus Meissner
6 #ifndef __WINE_WINVER_H
7 #define __WINE_WINVER_H
11 /* resource ids for different version infos */
12 /* These are internal resources for win16, but simple numbers in win32 */
13 /* All win32 defines should be moved to winver.h */
14 #define VS_FILE_INFO16 MAKEINTRESOURCE16(16)
15 #define VS_VERSION_INFO16 MAKEINTRESOURCE16(1)
16 #define VS_USER_INFO16 MAKEINTRESOURCE16(100)
18 #define VS_FILE_INFO 16
19 #define VS_VERSION_INFO 1
20 #define VS_USER_INFO 100
22 #define VS_FFI_SIGNATURE 0xfeef04bdL /* FileInfo Magic */
23 #define VS_FFI_STRUCVERSION 0x00010000L /* struc version 1.0 */
24 #define VS_FFI_FILEFLAGSMASK 0x0000003fL /* valid flags */
26 /* VS_VERSION.dwFileFlags */
27 #define VS_FF_DEBUG 0x01L
28 #define VS_FF_PRERELEASE 0x02L
29 #define VS_FF_PATCHED 0x04L
30 #define VS_FF_PRIVATEBUILD 0x08L
31 #define VS_FF_INFOINFERRED 0x10L
32 #define VS_FF_SPECIALBUILD 0x20L
34 /* VS_VERSION.dwFileOS */
36 /* major os version */
37 #define VOS_UNKNOWN 0x00000000L
38 #define VOS_DOS 0x00010000L
39 #define VOS_OS216 0x00020000L
40 #define VOS_OS232 0x00030000L
41 #define VOS_NT 0x00040000L
43 /* minor os version */
44 #define VOS__BASE 0x00000000L
45 #define VOS__WINDOWS16 0x00000001L
46 #define VOS__PM16 0x00000002L
47 #define VOS__PM32 0x00000003L
48 #define VOS__WINDOWS32 0x00000004L
50 /* possible versions */
51 #define VOS_DOS_WINDOWS16 (VOS_DOS|VOS__WINDOWS16)
52 #define VOS_DOS_WINDOWS32 (VOS_DOS|VOS__WINDOWS32)
53 #define VOS_OS216_PM16 (VOS_OS216|VOS__PM16)
54 #define VOS_OS232_PM32 (VOS_OS232|VOS__PM32)
55 #define VOS_NT_WINDOWS32 (VOS_NT|VOS__WINDOWS32)
57 /* VS_VERSION.dwFileType */
58 #define VFT_UNKNOWN 0x00000000L
59 #define VFT_APP 0x00000001L
60 #define VFT_DLL 0x00000002L
61 #define VFT_DRV 0x00000003L
62 #define VFT_FONT 0x00000004L
63 #define VFT_VXD 0x00000005L
64 /* ??one type missing?? 0x00000006L -Marcus */
65 #define VFT_STATIC_LIB 0x00000007L
67 /* VS_VERSION.dwFileSubtype for VFT_DRV */
68 #define VFT2_UNKNOWN 0x00000000L
69 #define VFT2_DRV_PRINTER 0x00000001L
70 #define VFT2_DRV_KEYBOARD 0x00000002L
71 #define VFT2_DRV_LANGUAGE 0x00000003L
72 #define VFT2_DRV_DISPLAY 0x00000004L
73 #define VFT2_DRV_MOUSE 0x00000005L
74 #define VFT2_DRV_NETWORK 0x00000006L
75 #define VFT2_DRV_SYSTEM 0x00000007L
76 #define VFT2_DRV_INSTALLABLE 0x00000008L
77 #define VFT2_DRV_SOUND 0x00000009L
78 #define VFT2_DRV_COMM 0x0000000aL
79 #define VFT2_DRV_INPUTMETHOD 0x0000000bL
81 /* VS_VERSION.dwFileSubtype for VFT_FONT */
82 #define VFT2_FONT_RASTER 0x00000001L
83 #define VFT2_FONT_VECTOR 0x00000002L
84 #define VFT2_FONT_TRUETYPE 0x00000003L
86 /* VerFindFile Flags */
88 #define VFFF_ISSHAREDFILE 0x0001
90 /* output (returned) */
91 #define VFF_CURNEDEST 0x0001
92 #define VFF_FILEINUSE 0x0002
93 #define VFF_BUFFTOOSMALL 0x0004
95 /* VerInstallFile Flags */
97 #define VIFF_FORCEINSTALL 0x0001
98 #define VIFF_DONTDELETEOLD 0x0002
100 /* output (return) */
101 #define VIF_TEMPFILE 0x00000001L
102 #define VIF_MISMATCH 0x00000002L
103 #define VIF_SRCOLD 0x00000004L
104 #define VIF_DIFFLANG 0x00000008L
105 #define VIF_DIFFCODEPG 0x00000010L
106 #define VIF_DIFFTYPE 0x00000020L
107 #define VIF_WRITEPROT 0x00000040L
108 #define VIF_FILEINUSE 0x00000080L
109 #define VIF_OUTOFSPACE 0x00000100L
110 #define VIF_ACCESSVIOLATION 0x00000200L
111 #define VIF_SHARINGVIOLATION 0x00000400L
112 #define VIF_CANNOTCREATE 0x00000800L
113 #define VIF_CANNOTDELETE 0x00001000L
114 #define VIF_CANNOTRENAME 0x00002000L
115 #define VIF_CANNOTDELETECUR 0x00004000L
116 #define VIF_OUTOFMEMORY 0x00008000L
117 #define VIF_CANNOTREADSRC 0x00010000L
118 #define VIF_CANNOTREADDST 0x00020000L
119 #define VIF_BUFFTOOSMALL 0x00040000L
121 typedef struct tagVS_FIXEDFILEINFO
{
123 DWORD dwStrucVersion
;
124 DWORD dwFileVersionMS
;
125 DWORD dwFileVersionLS
;
126 DWORD dwProductVersionMS
;
127 DWORD dwProductVersionLS
;
128 DWORD dwFileFlagsMask
;
140 /* function prototypes */
142 DWORD WINAPI
VerFindFile16(UINT16
,LPCSTR
,LPCSTR
,LPCSTR
,LPSTR
,UINT16
*,LPSTR
,UINT16
*);
143 DWORD WINAPI
VerFindFileA(UINT
,LPCSTR
,LPCSTR
,LPCSTR
,LPSTR
,UINT
*,LPSTR
,UINT
*);
144 DWORD WINAPI
VerFindFileW(UINT
,LPCWSTR
,LPCWSTR
,LPCWSTR
,LPWSTR
,UINT
*,LPWSTR
,UINT
*);
145 #define VerFindFile WINELIB_NAME_AW(VerFindFile)
146 DWORD WINAPI
VerInstallFile16(UINT16
,LPCSTR
,LPCSTR
,LPCSTR
,LPCSTR
,LPCSTR
,LPSTR
,UINT16
*);
147 DWORD WINAPI
VerInstallFileA(UINT
,LPCSTR
,LPCSTR
,LPCSTR
,LPCSTR
,LPCSTR
,LPSTR
,UINT
*);
148 DWORD WINAPI
VerInstallFileW(UINT
,LPCWSTR
,LPCWSTR
,LPCWSTR
,LPCWSTR
,LPCWSTR
,LPWSTR
,UINT
*);
149 #define VerInstallFile WINELIB_NAME_AW(VerInstallFile)
150 DWORD WINAPI
VerLanguageName16(UINT16
,LPSTR
,UINT16
);
151 DWORD WINAPI
VerQueryValue16(SEGPTR
,LPCSTR
,SEGPTR
*,UINT16
*);
152 DWORD WINAPI
VerQueryValueA(LPVOID
,LPCSTR
,LPVOID
*,UINT
*);
153 DWORD WINAPI
VerQueryValueW(LPVOID
,LPCWSTR
,LPVOID
*,UINT
*);
154 #define VerQueryValue WINELIB_NAME_AW(VerQueryValue)
155 DWORD WINAPI
GetFileVersionInfoSize16(LPCSTR
,LPDWORD
);
156 DWORD WINAPI
GetFileVersionInfoSizeA(LPCSTR
,LPDWORD
);
157 DWORD WINAPI
GetFileVersionInfoSizeW(LPCWSTR
,LPDWORD
);
158 #define GetFileVersionInfoSize WINELIB_NAME_AW(GetFileVersionInfoSize)
159 DWORD WINAPI
GetFileVersionInfo16(LPCSTR
,DWORD
,DWORD
,LPVOID
);
160 DWORD WINAPI
GetFileVersionInfoA(LPCSTR
,DWORD
,DWORD
,LPVOID
);
161 DWORD WINAPI
GetFileVersionInfoW(LPCWSTR
,DWORD
,DWORD
,LPVOID
);
162 #define GetFileVersionInfo WINELIB_NAME_AW(GetFileVersionInfo)
164 /* 20 GETFILEVERSIONINFORAW */
168 DWORD WINAPI
GetFileResourceSize( LPCSTR lpszFileName
,
169 LPCSTR lpszResType
, LPCSTR lpszResId
,
170 LPDWORD lpdwFileOffset
);
171 DWORD WINAPI
GetFileResource( LPCSTR lpszFileName
,
172 LPCSTR lpszResType
, LPCSTR lpszResId
,
174 DWORD dwResLen
, LPVOID lpvData
);
176 #endif /* __WINE__ */
178 #endif /* RC_INVOKED */
180 #endif /* __WINE_WINVER_H */