winver.h 5.82 KB
Newer Older
1
/* Definitions for the VERsion infolibrary (VER.DLL)
2
 *
3
 * Copyright 1996 Marcus Meissner
4 5 6 7 8 9 10 11 12 13 14 15 16
 *
 * 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
17
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18 19
 */

20 21 22
#ifndef __WINE_WINVER_H
#define __WINE_WINVER_H

23 24 25 26
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */

27 28 29
/* resource ids for different version infos */
#define	VS_FILE_INFO		16
#define	VS_VERSION_INFO		1
30
#define	VS_USER_DEFINED		100
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

#define	VS_FFI_SIGNATURE	0xfeef04bdL	/* FileInfo Magic */
#define	VS_FFI_STRUCVERSION	0x00010000L	/* struc version 1.0 */
#define	VS_FFI_FILEFLAGSMASK	0x0000003fL	/* valid flags */

/* VS_VERSION.dwFileFlags */
#define	VS_FF_DEBUG		0x01L
#define	VS_FF_PRERELEASE	0x02L
#define	VS_FF_PATCHED		0x04L
#define	VS_FF_PRIVATEBUILD	0x08L
#define	VS_FF_INFOINFERRED	0x10L
#define	VS_FF_SPECIALBUILD	0x20L

/* VS_VERSION.dwFileOS */

/* major os version */
#define	VOS_UNKNOWN		0x00000000L
#define	VOS_DOS			0x00010000L
#define	VOS_OS216		0x00020000L
#define	VOS_OS232		0x00030000L
#define	VOS_NT			0x00040000L

/* minor os version */
#define	VOS__BASE		0x00000000L
#define	VOS__WINDOWS16		0x00000001L
#define	VOS__PM16		0x00000002L
#define	VOS__PM32		0x00000003L
#define	VOS__WINDOWS32		0x00000004L

/* 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		0x00000000L
#define	VFT_APP			0x00000001L
#define	VFT_DLL			0x00000002L
#define	VFT_DRV			0x00000003L
#define	VFT_FONT		0x00000004L
#define	VFT_VXD			0x00000005L
/* ??one type missing??		0x00000006L -Marcus */
#define	VFT_STATIC_LIB		0x00000007L

/* VS_VERSION.dwFileSubtype for VFT_DRV */
#define	VFT2_UNKNOWN		0x00000000L
#define	VFT2_DRV_PRINTER	0x00000001L
#define	VFT2_DRV_KEYBOARD	0x00000002L
#define	VFT2_DRV_LANGUAGE	0x00000003L
#define	VFT2_DRV_DISPLAY	0x00000004L
#define	VFT2_DRV_MOUSE		0x00000005L
#define	VFT2_DRV_NETWORK	0x00000006L
#define	VFT2_DRV_SYSTEM		0x00000007L
#define	VFT2_DRV_INSTALLABLE	0x00000008L
#define	VFT2_DRV_SOUND		0x00000009L
#define	VFT2_DRV_COMM		0x0000000aL
#define	VFT2_DRV_INPUTMETHOD	0x0000000bL
90
#define	VFT2_DRV_VERSIONED_PRINTER	0x0000000cL
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

/* VS_VERSION.dwFileSubtype for VFT_FONT */
#define	VFT2_FONT_RASTER	0x00000001L
#define	VFT2_FONT_VECTOR	0x00000002L
#define	VFT2_FONT_TRUETYPE	0x00000003L

/* 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		0x00000001L
#define	VIF_MISMATCH		0x00000002L
#define	VIF_SRCOLD		0x00000004L
#define	VIF_DIFFLANG		0x00000008L
#define	VIF_DIFFCODEPG		0x00000010L
#define	VIF_DIFFTYPE		0x00000020L
#define	VIF_WRITEPROT		0x00000040L
#define	VIF_FILEINUSE		0x00000080L
#define	VIF_OUTOFSPACE		0x00000100L
#define	VIF_ACCESSVIOLATION	0x00000200L
#define	VIF_SHARINGVIOLATION	0x00000400L
#define	VIF_CANNOTCREATE	0x00000800L
#define	VIF_CANNOTDELETE	0x00001000L
#define	VIF_CANNOTRENAME	0x00002000L
#define	VIF_CANNOTDELETECUR	0x00004000L
#define	VIF_OUTOFMEMORY		0x00008000L
#define	VIF_CANNOTREADSRC	0x00010000L
#define	VIF_CANNOTREADDST	0x00020000L
#define	VIF_BUFFTOOSMALL	0x00040000L

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;


#ifndef RC_INVOKED

/* function prototypes */

153 154
DWORD       WINAPI VerFindFileA(DWORD,LPCSTR,LPCSTR,LPCSTR,LPSTR,PUINT,LPSTR,PUINT);
DWORD       WINAPI VerFindFileW(DWORD,LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,PUINT,LPWSTR,PUINT);
155
#define     VerFindFile WINELIB_NAME_AW(VerFindFile)
156 157
DWORD       WINAPI VerInstallFileA(DWORD,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPSTR,PUINT);
DWORD       WINAPI VerInstallFileW(DWORD,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,PUINT);
158
#define     VerInstallFile WINELIB_NAME_AW(VerInstallFile)
159 160
DWORD       WINAPI VerLanguageNameA(DWORD,LPSTR,DWORD);
DWORD       WINAPI VerLanguageNameW(DWORD,LPWSTR,DWORD);
161
#define     VerLanguageName WINELIB_NAME_AW(VerLanguageName)
162 163
BOOL        WINAPI VerQueryValueA(LPCVOID,LPCSTR,LPVOID*,PUINT);
BOOL        WINAPI VerQueryValueW(LPCVOID,LPCWSTR,LPVOID*,PUINT);
164
#define     VerQueryValue WINELIB_NAME_AW(VerQueryValue)
165 166
DWORD       WINAPI GetFileVersionInfoSizeA(LPCSTR,LPDWORD);
DWORD       WINAPI GetFileVersionInfoSizeW(LPCWSTR,LPDWORD);
167
#define     GetFileVersionInfoSize WINELIB_NAME_AW(GetFileVersionInfoSize)
168 169
BOOL        WINAPI GetFileVersionInfoA(LPCSTR,DWORD,DWORD,LPVOID);
BOOL        WINAPI GetFileVersionInfoW(LPCWSTR,DWORD,DWORD,LPVOID);
170 171
#define     GetFileVersionInfo WINELIB_NAME_AW(GetFileVersionInfo)

172 173 174 175
/* 20 GETFILEVERSIONINFORAW */

#endif /* RC_INVOKED */

176 177 178 179
#ifdef __cplusplus
} /* extern "C" */
#endif /* defined(__cplusplus) */

180
#endif /* __WINE_WINVER_H */