winver.h revision 4b9d6701570cb98fd36e209314239d104ec584d3
980bee71ed017c72bfdd9861445f9495855508ccgryzor/* Definitions for the VERsion infolibrary (VER.DLL)
980bee71ed017c72bfdd9861445f9495855508ccgryzor *
980bee71ed017c72bfdd9861445f9495855508ccgryzor * Copyright 1996 Marcus Meissner
4a56677aad9b66a36f3dc9fddbca8dc1230ad471rbowen *
980bee71ed017c72bfdd9861445f9495855508ccgryzor * This library is free software; you can redistribute it and/or
980bee71ed017c72bfdd9861445f9495855508ccgryzor * modify it under the terms of the GNU Lesser General Public
980bee71ed017c72bfdd9861445f9495855508ccgryzor * License as published by the Free Software Foundation; either
980bee71ed017c72bfdd9861445f9495855508ccgryzor * version 2.1 of the License, or (at your option) any later version.
980bee71ed017c72bfdd9861445f9495855508ccgryzor *
980bee71ed017c72bfdd9861445f9495855508ccgryzor * This library is distributed in the hope that it will be useful,
980bee71ed017c72bfdd9861445f9495855508ccgryzor * but WITHOUT ANY WARRANTY; without even the implied warranty of
980bee71ed017c72bfdd9861445f9495855508ccgryzor * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
980bee71ed017c72bfdd9861445f9495855508ccgryzor * Lesser General Public License for more details.
980bee71ed017c72bfdd9861445f9495855508ccgryzor *
980bee71ed017c72bfdd9861445f9495855508ccgryzor * You should have received a copy of the GNU Lesser General Public
980bee71ed017c72bfdd9861445f9495855508ccgryzor * License along with this library; if not, write to the Free Software
980bee71ed017c72bfdd9861445f9495855508ccgryzor * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
980bee71ed017c72bfdd9861445f9495855508ccgryzor */
980bee71ed017c72bfdd9861445f9495855508ccgryzor
980bee71ed017c72bfdd9861445f9495855508ccgryzor/*
980bee71ed017c72bfdd9861445f9495855508ccgryzor * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
980bee71ed017c72bfdd9861445f9495855508ccgryzor * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
980bee71ed017c72bfdd9861445f9495855508ccgryzor * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
980bee71ed017c72bfdd9861445f9495855508ccgryzor * a choice of LGPL license versions is made available with the language indicating
980bee71ed017c72bfdd9861445f9495855508ccgryzor * that LGPLv2 or any later version may be used, or where a choice of which version
980bee71ed017c72bfdd9861445f9495855508ccgryzor * of the LGPL is applied is otherwise unspecified.
980bee71ed017c72bfdd9861445f9495855508ccgryzor */
8c7a70cc3f10ec5402377663f1ab14828871670elgentis
980bee71ed017c72bfdd9861445f9495855508ccgryzor#ifndef __WINE_WINVER_H
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define __WINE_WINVER_H
980bee71ed017c72bfdd9861445f9495855508ccgryzor
980bee71ed017c72bfdd9861445f9495855508ccgryzor#ifdef __cplusplus
980bee71ed017c72bfdd9861445f9495855508ccgryzorextern "C" {
980bee71ed017c72bfdd9861445f9495855508ccgryzor#endif /* defined(__cplusplus) */
980bee71ed017c72bfdd9861445f9495855508ccgryzor
693cfa5113f2a407a7f982ef851a97c2327ab3a3lgentis/* resource ids for different version infos */
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VS_FILE_INFO 16
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VS_VERSION_INFO 1
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VS_USER_DEFINED 100
980bee71ed017c72bfdd9861445f9495855508ccgryzor
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VS_FFI_SIGNATURE 0xfeef04bdL /* FileInfo Magic */
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VS_FFI_STRUCVERSION 0x00010000L /* struc version 1.0 */
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VS_FFI_FILEFLAGSMASK 0x0000003fL /* valid flags */
980bee71ed017c72bfdd9861445f9495855508ccgryzor
980bee71ed017c72bfdd9861445f9495855508ccgryzor/* VS_VERSION.dwFileFlags */
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VS_FF_DEBUG 0x01L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VS_FF_PRERELEASE 0x02L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VS_FF_PATCHED 0x04L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VS_FF_PRIVATEBUILD 0x08L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VS_FF_INFOINFERRED 0x10L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VS_FF_SPECIALBUILD 0x20L
980bee71ed017c72bfdd9861445f9495855508ccgryzor
04180f61123bcb92117fb5285f6143f196180f20lgentis/* VS_VERSION.dwFileOS */
04180f61123bcb92117fb5285f6143f196180f20lgentis
980bee71ed017c72bfdd9861445f9495855508ccgryzor/* major os version */
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VOS_UNKNOWN 0x00000000L
04180f61123bcb92117fb5285f6143f196180f20lgentis#define VOS_DOS 0x00010000L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VOS_OS216 0x00020000L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VOS_OS232 0x00030000L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VOS_NT 0x00040000L
693cfa5113f2a407a7f982ef851a97c2327ab3a3lgentis
693cfa5113f2a407a7f982ef851a97c2327ab3a3lgentis/* minor os version */
693cfa5113f2a407a7f982ef851a97c2327ab3a3lgentis#define VOS__BASE 0x00000000L
8c7a70cc3f10ec5402377663f1ab14828871670elgentis#define VOS__WINDOWS16 0x00000001L
693cfa5113f2a407a7f982ef851a97c2327ab3a3lgentis#define VOS__PM16 0x00000002L
693cfa5113f2a407a7f982ef851a97c2327ab3a3lgentis#define VOS__PM32 0x00000003L
693cfa5113f2a407a7f982ef851a97c2327ab3a3lgentis#define VOS__WINDOWS32 0x00000004L
693cfa5113f2a407a7f982ef851a97c2327ab3a3lgentis
980bee71ed017c72bfdd9861445f9495855508ccgryzor/* possible versions */
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VOS_DOS_WINDOWS16 (VOS_DOS|VOS__WINDOWS16)
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VOS_DOS_WINDOWS32 (VOS_DOS|VOS__WINDOWS32)
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VOS_OS216_PM16 (VOS_OS216|VOS__PM16)
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VOS_OS232_PM32 (VOS_OS232|VOS__PM32)
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VOS_NT_WINDOWS32 (VOS_NT|VOS__WINDOWS32)
980bee71ed017c72bfdd9861445f9495855508ccgryzor
980bee71ed017c72bfdd9861445f9495855508ccgryzor/* VS_VERSION.dwFileType */
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VFT_UNKNOWN 0x00000000L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VFT_APP 0x00000001L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VFT_DLL 0x00000002L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VFT_DRV 0x00000003L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VFT_FONT 0x00000004L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VFT_VXD 0x00000005L
980bee71ed017c72bfdd9861445f9495855508ccgryzor/* ??one type missing?? 0x00000006L -Marcus */
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VFT_STATIC_LIB 0x00000007L
980bee71ed017c72bfdd9861445f9495855508ccgryzor
980bee71ed017c72bfdd9861445f9495855508ccgryzor/* VS_VERSION.dwFileSubtype for VFT_DRV */
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VFT2_UNKNOWN 0x00000000L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VFT2_DRV_PRINTER 0x00000001L
d89089206f40f9a6d58528ff85050447d4a52d53lgentis#define VFT2_DRV_KEYBOARD 0x00000002L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VFT2_DRV_LANGUAGE 0x00000003L
d89089206f40f9a6d58528ff85050447d4a52d53lgentis#define VFT2_DRV_DISPLAY 0x00000004L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VFT2_DRV_MOUSE 0x00000005L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VFT2_DRV_NETWORK 0x00000006L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VFT2_DRV_SYSTEM 0x00000007L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VFT2_DRV_INSTALLABLE 0x00000008L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VFT2_DRV_SOUND 0x00000009L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VFT2_DRV_COMM 0x0000000aL
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VFT2_DRV_INPUTMETHOD 0x0000000bL
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VFT2_DRV_VERSIONED_PRINTER 0x0000000cL
980bee71ed017c72bfdd9861445f9495855508ccgryzor
980bee71ed017c72bfdd9861445f9495855508ccgryzor/* VS_VERSION.dwFileSubtype for VFT_FONT */
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VFT2_FONT_RASTER 0x00000001L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VFT2_FONT_VECTOR 0x00000002L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VFT2_FONT_TRUETYPE 0x00000003L
980bee71ed017c72bfdd9861445f9495855508ccgryzor
980bee71ed017c72bfdd9861445f9495855508ccgryzor/* VerFindFile Flags */
980bee71ed017c72bfdd9861445f9495855508ccgryzor /* input */
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VFFF_ISSHAREDFILE 0x0001
980bee71ed017c72bfdd9861445f9495855508ccgryzor
980bee71ed017c72bfdd9861445f9495855508ccgryzor /* output (returned) */
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VFF_CURNEDEST 0x0001
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VFF_FILEINUSE 0x0002
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VFF_BUFFTOOSMALL 0x0004
980bee71ed017c72bfdd9861445f9495855508ccgryzor
980bee71ed017c72bfdd9861445f9495855508ccgryzor/* VerInstallFile Flags */
980bee71ed017c72bfdd9861445f9495855508ccgryzor /* input */
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VIFF_FORCEINSTALL 0x0001
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VIFF_DONTDELETEOLD 0x0002
980bee71ed017c72bfdd9861445f9495855508ccgryzor
980bee71ed017c72bfdd9861445f9495855508ccgryzor /* output (return) */
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VIF_TEMPFILE 0x00000001L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VIF_MISMATCH 0x00000002L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VIF_SRCOLD 0x00000004L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VIF_DIFFLANG 0x00000008L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VIF_DIFFCODEPG 0x00000010L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VIF_DIFFTYPE 0x00000020L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VIF_WRITEPROT 0x00000040L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VIF_FILEINUSE 0x00000080L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VIF_OUTOFSPACE 0x00000100L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VIF_ACCESSVIOLATION 0x00000200L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VIF_SHARINGVIOLATION 0x00000400L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VIF_CANNOTCREATE 0x00000800L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VIF_CANNOTDELETE 0x00001000L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VIF_CANNOTRENAME 0x00002000L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VIF_CANNOTDELETECUR 0x00004000L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VIF_OUTOFMEMORY 0x00008000L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VIF_CANNOTREADSRC 0x00010000L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VIF_CANNOTREADDST 0x00020000L
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VIF_BUFFTOOSMALL 0x00040000L
980bee71ed017c72bfdd9861445f9495855508ccgryzor
980bee71ed017c72bfdd9861445f9495855508ccgryzortypedef struct tagVS_FIXEDFILEINFO {
980bee71ed017c72bfdd9861445f9495855508ccgryzor DWORD dwSignature;
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis DWORD dwStrucVersion;
87298e85438774f5f373aa3117f32d27a3e895a3lgentis DWORD dwFileVersionMS;
87298e85438774f5f373aa3117f32d27a3e895a3lgentis DWORD dwFileVersionLS;
980bee71ed017c72bfdd9861445f9495855508ccgryzor DWORD dwProductVersionMS;
980bee71ed017c72bfdd9861445f9495855508ccgryzor DWORD dwProductVersionLS;
87298e85438774f5f373aa3117f32d27a3e895a3lgentis DWORD dwFileFlagsMask;
87298e85438774f5f373aa3117f32d27a3e895a3lgentis DWORD dwFileFlags;
87298e85438774f5f373aa3117f32d27a3e895a3lgentis DWORD dwFileOS;
87298e85438774f5f373aa3117f32d27a3e895a3lgentis DWORD dwFileType;
980bee71ed017c72bfdd9861445f9495855508ccgryzor DWORD dwFileSubtype;
980bee71ed017c72bfdd9861445f9495855508ccgryzor DWORD dwFileDateMS;
87298e85438774f5f373aa3117f32d27a3e895a3lgentis DWORD dwFileDateLS;
87298e85438774f5f373aa3117f32d27a3e895a3lgentis} VS_FIXEDFILEINFO;
87298e85438774f5f373aa3117f32d27a3e895a3lgentis
980bee71ed017c72bfdd9861445f9495855508ccgryzor
980bee71ed017c72bfdd9861445f9495855508ccgryzor#ifndef RC_INVOKED
980bee71ed017c72bfdd9861445f9495855508ccgryzor
980bee71ed017c72bfdd9861445f9495855508ccgryzor/* function prototypes */
980bee71ed017c72bfdd9861445f9495855508ccgryzor
980bee71ed017c72bfdd9861445f9495855508ccgryzorDWORD WINAPI VerFindFileA(DWORD,LPCSTR,LPCSTR,LPCSTR,LPSTR,PUINT,LPSTR,PUINT);
980bee71ed017c72bfdd9861445f9495855508ccgryzorDWORD WINAPI VerFindFileW(DWORD,LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,PUINT,LPWSTR,PUINT);
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VerFindFile WINELIB_NAME_AW(VerFindFile)
980bee71ed017c72bfdd9861445f9495855508ccgryzorDWORD WINAPI VerInstallFileA(DWORD,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPSTR,PUINT);
980bee71ed017c72bfdd9861445f9495855508ccgryzorDWORD WINAPI VerInstallFileW(DWORD,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,PUINT);
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VerInstallFile WINELIB_NAME_AW(VerInstallFile)
980bee71ed017c72bfdd9861445f9495855508ccgryzorDWORD WINAPI VerLanguageNameA(DWORD,LPSTR,DWORD);
980bee71ed017c72bfdd9861445f9495855508ccgryzorDWORD WINAPI VerLanguageNameW(DWORD,LPWSTR,DWORD);
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VerLanguageName WINELIB_NAME_AW(VerLanguageName)
980bee71ed017c72bfdd9861445f9495855508ccgryzorBOOL WINAPI VerQueryValueA(LPCVOID,LPCSTR,LPVOID*,PUINT);
980bee71ed017c72bfdd9861445f9495855508ccgryzorBOOL WINAPI VerQueryValueW(LPCVOID,LPCWSTR,LPVOID*,PUINT);
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define VerQueryValue WINELIB_NAME_AW(VerQueryValue)
980bee71ed017c72bfdd9861445f9495855508ccgryzorDWORD WINAPI GetFileVersionInfoSizeA(LPCSTR,LPDWORD);
980bee71ed017c72bfdd9861445f9495855508ccgryzorDWORD WINAPI GetFileVersionInfoSizeW(LPCWSTR,LPDWORD);
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define GetFileVersionInfoSize WINELIB_NAME_AW(GetFileVersionInfoSize)
980bee71ed017c72bfdd9861445f9495855508ccgryzorBOOL WINAPI GetFileVersionInfoA(LPCSTR,DWORD,DWORD,LPVOID);
980bee71ed017c72bfdd9861445f9495855508ccgryzorBOOL WINAPI GetFileVersionInfoW(LPCWSTR,DWORD,DWORD,LPVOID);
980bee71ed017c72bfdd9861445f9495855508ccgryzor#define GetFileVersionInfo WINELIB_NAME_AW(GetFileVersionInfo)
980bee71ed017c72bfdd9861445f9495855508ccgryzor
980bee71ed017c72bfdd9861445f9495855508ccgryzor/* 20 GETFILEVERSIONINFORAW */
980bee71ed017c72bfdd9861445f9495855508ccgryzor
980bee71ed017c72bfdd9861445f9495855508ccgryzor#endif /* RC_INVOKED */
980bee71ed017c72bfdd9861445f9495855508ccgryzor
8c7a70cc3f10ec5402377663f1ab14828871670elgentis#ifdef __cplusplus
980bee71ed017c72bfdd9861445f9495855508ccgryzor} /* extern "C" */
980bee71ed017c72bfdd9861445f9495855508ccgryzor#endif /* defined(__cplusplus) */
980bee71ed017c72bfdd9861445f9495855508ccgryzor
980bee71ed017c72bfdd9861445f9495855508ccgryzor#endif /* __WINE_WINVER_H */
980bee71ed017c72bfdd9861445f9495855508ccgryzor