summaryrefslogtreecommitdiffstats
path: root/public/sdk/inc/winver.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--public/sdk/inc/winver.h295
1 files changed, 295 insertions, 0 deletions
diff --git a/public/sdk/inc/winver.h b/public/sdk/inc/winver.h
new file mode 100644
index 000000000..fe38a73cb
--- /dev/null
+++ b/public/sdk/inc/winver.h
@@ -0,0 +1,295 @@
+/*****************************************************************************\
+* *
+* winver.h - Version management functions, types, and definitions *
+* *
+* Include file for VER.DLL. This library is *
+* designed to allow version stamping of Windows executable files*
+* and of special .VER files for DOS executable files. *
+* *
+* Copyright (c) 1993-1996, Microsoft Corp. All rights reserved *
+* *
+\*****************************************************************************/
+
+#ifndef VER_H
+#define VER_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ----- Symbols ----- */
+#define VS_FILE_INFO RT_VERSION
+#define VS_VERSION_INFO 1
+#define VS_USER_DEFINED 100
+
+/* ----- VS_VERSION.dwFileFlags ----- */
+#define VS_FFI_SIGNATURE 0xFEEF04BDL
+#define VS_FFI_STRUCVERSION 0x00010000L
+#define VS_FFI_FILEFLAGSMASK 0x0000003FL
+
+/* ----- VS_VERSION.dwFileFlags ----- */
+#define VS_FF_DEBUG 0x00000001L
+#define VS_FF_PRERELEASE 0x00000002L
+#define VS_FF_PATCHED 0x00000004L
+#define VS_FF_PRIVATEBUILD 0x00000008L
+#define VS_FF_INFOINFERRED 0x00000010L
+#define VS_FF_SPECIALBUILD 0x00000020L
+
+/* ----- VS_VERSION.dwFileOS ----- */
+#define VOS_UNKNOWN 0x00000000L
+#define VOS_DOS 0x00010000L
+#define VOS_OS216 0x00020000L
+#define VOS_OS232 0x00030000L
+#define VOS_NT 0x00040000L
+
+#define VOS__BASE 0x00000000L
+#define VOS__WINDOWS16 0x00000001L
+#define VOS__PM16 0x00000002L
+#define VOS__PM32 0x00000003L
+#define VOS__WINDOWS32 0x00000004L
+
+#define VOS_DOS_WINDOWS16 0x00010001L
+#define VOS_DOS_WINDOWS32 0x00010004L
+#define VOS_OS216_PM16 0x00020002L
+#define VOS_OS232_PM32 0x00030003L
+#define VOS_NT_WINDOWS32 0x00040004L
+
+/* ----- 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
+#define VFT_STATIC_LIB 0x00000007L
+
+/* ----- VS_VERSION.dwFileSubtype for VFT_WINDOWS_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
+
+/* ----- VS_VERSION.dwFileSubtype for VFT_WINDOWS_FONT ----- */
+#define VFT2_FONT_RASTER 0x00000001L
+#define VFT2_FONT_VECTOR 0x00000002L
+#define VFT2_FONT_TRUETYPE 0x00000003L
+
+/* ----- VerFindFile() flags ----- */
+#define VFFF_ISSHAREDFILE 0x0001
+
+#define VFF_CURNEDEST 0x0001
+#define VFF_FILEINUSE 0x0002
+#define VFF_BUFFTOOSMALL 0x0004
+
+/* ----- VerInstallFile() flags ----- */
+#define VIFF_FORCEINSTALL 0x0001
+#define VIFF_DONTDELETEOLD 0x0002
+
+#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
+
+#ifndef RC_INVOKED /* RC doesn't need to see the rest of this */
+
+/* ----- Types and structures ----- */
+
+typedef struct tagVS_FIXEDFILEINFO
+{
+ DWORD dwSignature; /* e.g. 0xfeef04bd */
+ DWORD dwStrucVersion; /* e.g. 0x00000042 = "0.42" */
+ DWORD dwFileVersionMS; /* e.g. 0x00030075 = "3.75" */
+ DWORD dwFileVersionLS; /* e.g. 0x00000031 = "0.31" */
+ DWORD dwProductVersionMS; /* e.g. 0x00030010 = "3.10" */
+ DWORD dwProductVersionLS; /* e.g. 0x00000031 = "0.31" */
+ DWORD dwFileFlagsMask; /* = 0x3F for version "0.42" */
+ DWORD dwFileFlags; /* e.g. VFF_DEBUG | VFF_PRERELEASE */
+ DWORD dwFileOS; /* e.g. VOS_DOS_WINDOWS16 */
+ DWORD dwFileType; /* e.g. VFT_DRIVER */
+ DWORD dwFileSubtype; /* e.g. VFT2_DRV_KEYBOARD */
+ DWORD dwFileDateMS; /* e.g. 0 */
+ DWORD dwFileDateLS; /* e.g. 0 */
+} VS_FIXEDFILEINFO;
+
+/* ----- Function prototypes ----- */
+
+DWORD
+APIENTRY
+VerFindFileA(
+ DWORD uFlags,
+ LPSTR szFileName,
+ LPSTR szWinDir,
+ LPSTR szAppDir,
+ LPSTR szCurDir,
+ PUINT lpuCurDirLen,
+ LPSTR szDestDir,
+ PUINT lpuDestDirLen
+ );
+DWORD
+APIENTRY
+VerFindFileW(
+ DWORD uFlags,
+ LPWSTR szFileName,
+ LPWSTR szWinDir,
+ LPWSTR szAppDir,
+ LPWSTR szCurDir,
+ PUINT lpuCurDirLen,
+ LPWSTR szDestDir,
+ PUINT lpuDestDirLen
+ );
+#ifdef UNICODE
+#define VerFindFile VerFindFileW
+#else
+#define VerFindFile VerFindFileA
+#endif // !UNICODE
+
+DWORD
+APIENTRY
+VerInstallFileA(
+ DWORD uFlags,
+ LPSTR szSrcFileName,
+ LPSTR szDestFileName,
+ LPSTR szSrcDir,
+ LPSTR szDestDir,
+ LPSTR szCurDir,
+ LPSTR szTmpFile,
+ PUINT lpuTmpFileLen
+ );
+DWORD
+APIENTRY
+VerInstallFileW(
+ DWORD uFlags,
+ LPWSTR szSrcFileName,
+ LPWSTR szDestFileName,
+ LPWSTR szSrcDir,
+ LPWSTR szDestDir,
+ LPWSTR szCurDir,
+ LPWSTR szTmpFile,
+ PUINT lpuTmpFileLen
+ );
+#ifdef UNICODE
+#define VerInstallFile VerInstallFileW
+#else
+#define VerInstallFile VerInstallFileA
+#endif // !UNICODE
+
+/* Returns size of version info in bytes */
+DWORD
+APIENTRY
+GetFileVersionInfoSizeA(
+ LPSTR lptstrFilename, /* Filename of version stamped file */
+ LPDWORD lpdwHandle
+ ); /* Information for use by GetFileVersionInfo */
+/* Returns size of version info in bytes */
+DWORD
+APIENTRY
+GetFileVersionInfoSizeW(
+ LPWSTR lptstrFilename, /* Filename of version stamped file */
+ LPDWORD lpdwHandle
+ ); /* Information for use by GetFileVersionInfo */
+#ifdef UNICODE
+#define GetFileVersionInfoSize GetFileVersionInfoSizeW
+#else
+#define GetFileVersionInfoSize GetFileVersionInfoSizeA
+#endif // !UNICODE
+
+/* Read version info into buffer */
+BOOL
+APIENTRY
+GetFileVersionInfoA(
+ LPSTR lptstrFilename, /* Filename of version stamped file */
+ DWORD dwHandle, /* Information from GetFileVersionSize */
+ DWORD dwLen, /* Length of buffer for info */
+ LPVOID lpData
+ ); /* Buffer to place the data structure */
+/* Read version info into buffer */
+BOOL
+APIENTRY
+GetFileVersionInfoW(
+ LPWSTR lptstrFilename, /* Filename of version stamped file */
+ DWORD dwHandle, /* Information from GetFileVersionSize */
+ DWORD dwLen, /* Length of buffer for info */
+ LPVOID lpData
+ ); /* Buffer to place the data structure */
+#ifdef UNICODE
+#define GetFileVersionInfo GetFileVersionInfoW
+#else
+#define GetFileVersionInfo GetFileVersionInfoA
+#endif // !UNICODE
+
+DWORD
+APIENTRY
+VerLanguageNameA(
+ DWORD wLang,
+ LPSTR szLang,
+ DWORD nSize
+ );
+DWORD
+APIENTRY
+VerLanguageNameW(
+ DWORD wLang,
+ LPWSTR szLang,
+ DWORD nSize
+ );
+#ifdef UNICODE
+#define VerLanguageName VerLanguageNameW
+#else
+#define VerLanguageName VerLanguageNameA
+#endif // !UNICODE
+
+BOOL
+APIENTRY
+VerQueryValueA(
+ const LPVOID pBlock,
+ LPSTR lpSubBlock,
+ LPVOID * lplpBuffer,
+ PUINT puLen
+ );
+BOOL
+APIENTRY
+VerQueryValueW(
+ const LPVOID pBlock,
+ LPWSTR lpSubBlock,
+ LPVOID * lplpBuffer,
+ PUINT puLen
+ );
+#ifdef UNICODE
+#define VerQueryValue VerQueryValueW
+#else
+#define VerQueryValue VerQueryValueA
+#endif // !UNICODE
+
+#endif /* !RC_INVOKED */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* !VER_H */