1 /* Definitions for the VERsion infolibrary (VER.DLL)
3 * Copyright 1996 Marcus Meissner
6 #ifndef __WINE_WINVER_H
7 #define __WINE_WINVER_H
13 #endif /* defined(__cplusplus) */
15 /* 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)
22 #define VS_FILE_INFO 16
23 #define VS_VERSION_INFO 1
24 #define VS_USER_INFO 100
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 */
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
38 /* VS_VERSION.dwFileOS */
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
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
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)
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
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
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
90 /* VerFindFile Flags */
92 #define VFFF_ISSHAREDFILE 0x0001
94 /* output (returned) */
95 #define VFF_CURNEDEST 0x0001
96 #define VFF_FILEINUSE 0x0002
97 #define VFF_BUFFTOOSMALL 0x0004
99 /* VerInstallFile Flags */
101 #define VIFF_FORCEINSTALL 0x0001
102 #define VIFF_DONTDELETEOLD 0x0002
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
125 typedef struct tagVS_FIXEDFILEINFO {
127 DWORD dwStrucVersion;
128 DWORD dwFileVersionMS;
129 DWORD dwFileVersionLS;
130 DWORD dwProductVersionMS;
131 DWORD dwProductVersionLS;
132 DWORD dwFileFlagsMask;
144 /* function prototypes */
146 DWORD WINAPI VerFindFile16(UINT16,LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT16*,LPSTR,UINT16*);
147 DWORD WINAPI VerFindFileA(UINT,LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT*,LPSTR,UINT*);
148 DWORD WINAPI VerFindFileW(UINT,LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT*,LPWSTR,UINT*);
149 #define VerFindFile WINELIB_NAME_AW(VerFindFile)
150 DWORD WINAPI VerInstallFile16(UINT16,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT16*);
151 DWORD WINAPI VerInstallFileA(UINT,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT*);
152 DWORD WINAPI VerInstallFileW(UINT,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT*);
153 #define VerInstallFile WINELIB_NAME_AW(VerInstallFile)
154 DWORD WINAPI VerLanguageName16(UINT16,LPSTR,UINT16);
155 DWORD WINAPI VerLanguageNameA(UINT,LPSTR,UINT);
156 DWORD WINAPI VerLanguageNameW(UINT,LPWSTR,UINT);
157 #define VerLanguageName WINELIB_NAME_AW(VerLanguageName)
158 DWORD WINAPI VerQueryValue16(SEGPTR,LPCSTR,SEGPTR*,UINT16*);
159 DWORD WINAPI VerQueryValueA(LPVOID,LPCSTR,LPVOID*,UINT*);
160 DWORD WINAPI VerQueryValueW(LPVOID,LPCWSTR,LPVOID*,UINT*);
161 #define VerQueryValue WINELIB_NAME_AW(VerQueryValue)
162 DWORD WINAPI GetFileVersionInfoSize16(LPCSTR,LPDWORD);
163 DWORD WINAPI GetFileVersionInfoSizeA(LPCSTR,LPDWORD);
164 DWORD WINAPI GetFileVersionInfoSizeW(LPCWSTR,LPDWORD);
165 #define GetFileVersionInfoSize WINELIB_NAME_AW(GetFileVersionInfoSize)
166 DWORD WINAPI GetFileVersionInfo16(LPCSTR,DWORD,DWORD,LPVOID);
167 DWORD WINAPI GetFileVersionInfoA(LPCSTR,DWORD,DWORD,LPVOID);
168 DWORD WINAPI GetFileVersionInfoW(LPCWSTR,DWORD,DWORD,LPVOID);
169 #define GetFileVersionInfo WINELIB_NAME_AW(GetFileVersionInfo)
171 /* 20 GETFILEVERSIONINFORAW */
175 DWORD WINAPI GetFileResourceSize( LPCSTR lpszFileName,
176 LPCSTR lpszResType, LPCSTR lpszResId,
177 LPDWORD lpdwFileOffset );
178 DWORD WINAPI GetFileResource( LPCSTR lpszFileName,
179 LPCSTR lpszResType, LPCSTR lpszResId,
181 DWORD dwResLen, LPVOID lpvData );
183 #endif /* __WINE__ */
185 #endif /* RC_INVOKED */
189 #endif /* defined(__cplusplus) */
191 #endif /* __WINE_WINVER_H */