source: Daodan/MinGW/include/winver.h@ 1118

Last change on this file since 1118 was 1046, checked in by alloc, 8 years ago

Daodan: Added Windows MinGW and build batch file

File size: 7.4 KB
RevLine 
[1046]1/*
2 * winver.h
3 *
4 * Declarations supporting the API for retrieval of version informatation
5 * from a PE-COFF file's associated version resources.
6 *
7 * $Id: winver.h,v 9f500a353390 2016/06/03 22:05:03 keithmarshall $
8 *
9 * Written by Anders Norlander <anorland@hem2.passagen.se>
10 * Copyright (C) 1998, 1999, 2002, 2006, 2009, 2015, MinGW.org Project
11 *
12 *
13 * Permission is hereby granted, free of charge, to any person obtaining a
14 * copy of this software and associated documentation files (the "Software"),
15 * to deal in the Software without restriction, including without limitation
16 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
17 * and/or sell copies of the Software, and to permit persons to whom the
18 * Software is furnished to do so, subject to the following conditions:
19 *
20 * The above copyright notice and this permission notice (including the next
21 * paragraph) shall be included in all copies or substantial portions of the
22 * Software.
23 *
24 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
25 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
26 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
27 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
28 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
29 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
30 * DEALINGS IN THE SOFTWARE.
31 *
32 */
33#ifndef _WINVER_H
34#define _WINVER_H
35#pragma GCC system_header
36
37#define VS_FILE_INFO RT_VERSION
38#define VS_VERSION_INFO 1
39#define VS_USER_DEFINED 100
40#define VS_FFI_SIGNATURE 0xFEEF04BD
41#define VS_FFI_STRUCVERSION 0x10000
42#define VS_FFI_FILEFLAGSMASK 0x3F
43#define VS_FF_DEBUG 1
44#define VS_FF_PRERELEASE 2
45#define VS_FF_PATCHED 4
46#define VS_FF_PRIVATEBUILD 8
47#define VS_FF_INFOINFERRED 16
48#define VS_FF_SPECIALBUILD 32
49#define VOS_UNKNOWN 0
50#define VOS_DOS 0x10000
51#define VOS_OS216 0x20000
52#define VOS_OS232 0x30000
53#define VOS_NT 0x40000
54#define VOS__BASE 0
55#define VOS__WINDOWS16 1
56#define VOS__PM16 2
57#define VOS__PM32 3
58#define VOS__WINDOWS32 4
59#define VOS_DOS_WINDOWS16 0x10001
60#define VOS_DOS_WINDOWS32 0x10004
61#define VOS_OS216_PM16 0x20002
62#define VOS_OS232_PM32 0x30003
63#define VOS_NT_WINDOWS32 0x40004
64#define VFT_UNKNOWN 0
65#define VFT_APP 1
66#define VFT_DLL 2
67#define VFT_DRV 3
68#define VFT_FONT 4
69#define VFT_VXD 5
70#define VFT_STATIC_LIB 7
71#define VFT2_UNKNOWN 0
72#define VFT2_DRV_PRINTER 1
73#define VFT2_DRV_KEYBOARD 2
74#define VFT2_DRV_LANGUAGE 3
75#define VFT2_DRV_DISPLAY 4
76#define VFT2_DRV_MOUSE 5
77#define VFT2_DRV_NETWORK 6
78#define VFT2_DRV_SYSTEM 7
79#define VFT2_DRV_INSTALLABLE 8
80#define VFT2_DRV_SOUND 9
81#define VFT2_DRV_COMM 10
82#define VFT2_DRV_INPUTMETHOD 11
83#define VFT2_FONT_RASTER 1
84#define VFT2_FONT_VECTOR 2
85#define VFT2_FONT_TRUETYPE 3
86#define VFFF_ISSHAREDFILE 1
87#define VFF_CURNEDEST 1
88#define VFF_FILEINUSE 2
89#define VFF_BUFFTOOSMALL 4
90#define VIFF_FORCEINSTALL 1
91#define VIFF_DONTDELETEOLD 2
92#define VIF_TEMPFILE 1
93#define VIF_MISMATCH 2
94#define VIF_SRCOLD 4
95#define VIF_DIFFLANG 8
96#define VIF_DIFFCODEPG 16
97#define VIF_DIFFTYPE 32
98#define VIF_WRITEPROT 64
99#define VIF_FILEINUSE 128
100#define VIF_OUTOFSPACE 256
101#define VIF_ACCESSVIOLATION 512
102#define VIF_SHARINGVIOLATION 1024
103#define VIF_CANNOTCREATE 2048
104#define VIF_CANNOTDELETE 4096
105#define VIF_CANNOTRENAME 8192
106#define VIF_CANNOTDELETECUR 16384
107#define VIF_OUTOFMEMORY 32768
108#define VIF_CANNOTREADSRC 65536
109#define VIF_CANNOTREADDST 0x20000
110#define VIF_BUFFTOOSMALL 0x40000
111
112#ifndef RC_INVOKED
113
114_BEGIN_C_DECLS
115
116typedef
117struct tagVS_FIXEDFILEINFO {
118 DWORD dwSignature;
119 DWORD dwStrucVersion;
120 DWORD dwFileVersionMS;
121 DWORD dwFileVersionLS;
122 DWORD dwProductVersionMS;
123 DWORD dwProductVersionLS;
124 DWORD dwFileFlagsMask;
125 DWORD dwFileFlags;
126 DWORD dwFileOS;
127 DWORD dwFileType;
128 DWORD dwFileSubtype;
129 DWORD dwFileDateMS;
130 DWORD dwFileDateLS;
131} VS_FIXEDFILEINFO;
132
133/* The following functions are each provided with prototype variants
134 * supporting strings in ANSI or UTF-16LE encodings, distinguised by
135 * the "A" suffix in the ANSI case, or the "W" suffix for UTF-16LE.
136 * Each pair is associated with a single generic function name, which
137 * is mapped to the appropriate prototype by the __AW_SUFFIXED__ macro,
138 * according to the defined state of the UNICODE macro; representation
139 * of the generic name becomes the ANSI prototype when UNICODE is NOT
140 * defined, or the UTF-16LE prototype when UNICODE is defined.
141 */
142#define VerFindFile __AW_SUFFIXED__( VerFindFile )
143DWORD WINAPI VerFindFileA( DWORD, LPSTR, LPSTR, LPSTR, LPSTR, PUINT, LPSTR, PUINT );
144DWORD WINAPI VerFindFileW( DWORD, LPWSTR, LPWSTR, LPWSTR, LPWSTR, PUINT, LPWSTR, PUINT );
145
146#define VerInstallFile __AW_SUFFIXED__( VerInstallFile )
147DWORD WINAPI VerInstallFileA( DWORD, LPSTR, LPSTR, LPSTR, LPSTR, LPSTR, LPSTR, PUINT );
148DWORD WINAPI VerInstallFileW( DWORD, LPWSTR, LPWSTR, LPWSTR, LPWSTR, LPWSTR, LPWSTR, PUINT );
149
150#define GetFileVersionInfoSize __AW_SUFFIXED__( GetFileVersionInfoSize )
151DWORD WINAPI GetFileVersionInfoSizeA( LPCSTR, PDWORD );
152DWORD WINAPI GetFileVersionInfoSizeW( LPCWSTR, PDWORD );
153
154#define GetFileVersionInfo __AW_SUFFIXED__( GetFileVersionInfo )
155BOOL WINAPI GetFileVersionInfoA( LPCSTR, DWORD, DWORD, PVOID );
156BOOL WINAPI GetFileVersionInfoW( LPCWSTR, DWORD, DWORD, PVOID );
157
158#if NTDDI_VERSION >= NTDDI_VISTA
159/* Windows-Vista added extended variants of the preceding two functions,
160 * each taking one additional DWORD flags argument, (in first position).
161 *
162 * WARNING: Although documented as supported by Windows-Vista and later,
163 * the ANSI variants of these two functions appear to be unsupported in
164 * VERSION.DLL, prior to Windows-8. If using these functions, you are
165 * advised to use a LoadLibrary/GetProcAddress (or dlopen/dlsym) probe,
166 * to confirm availability of the API entry points within VERSION.DLL
167 * on the run-time host.
168 */
169#define GetFileVersionInfoEx __AW_SUFFIXED__( GetFileVersionInfoEx )
170#define GetFileVersionInfoSizeEx __AW_SUFFIXED__( GetFileVersionInfoSizeEx )
171#if NTDDI_VERSION >= NTDDI_WIN8
172DWORD WINAPI GetFileVersionInfoSizeExA( DWORD, LPCSTR, PDWORD );
173BOOL WINAPI GetFileVersionInfoExA( DWORD, LPCSTR, DWORD, DWORD, PVOID );
174#endif
175DWORD WINAPI GetFileVersionInfoSizeExW( DWORD, LPCWSTR, PDWORD );
176BOOL WINAPI GetFileVersionInfoExW( DWORD, LPCWSTR, DWORD, DWORD, PVOID );
177
178/* Values permitted for the flags in each of these functions; these may be
179 * combined by logically adding them together (using the OR operator).
180 */
181#define FILE_VER_GET_LOCALISED 0x01
182#define FILE_VER_GET_NEUTRAL 0x02
183/*
184 * ...and an additional one, for the GetFileVersionInfoEx() function
185 * only; (must be combined with the value derived from the preceding
186 * pair, as used in a prior call to GetFileVersionInfoSizeEx()).
187 */
188#define FILE_VER_GET_PREFETCHED 0x04
189#endif
190
191#define VerLanguageName __AW_SUFFIXED__( VerLanguageName )
192DWORD WINAPI VerLanguageNameA( DWORD, LPSTR, DWORD );
193DWORD WINAPI VerLanguageNameW( DWORD, LPWSTR, DWORD );
194
195#define VerQueryValue __AW_SUFFIXED__( VerQueryValue )
196BOOL WINAPI VerQueryValueA( LPCVOID, LPCSTR, LPVOID *, PUINT );
197BOOL WINAPI VerQueryValueW( LPCVOID, LPCWSTR, LPVOID *, PUINT );
198
199_END_C_DECLS
200
201#endif /* ! defined RC_INVOKED */
202#endif /* ! defined _WINVER_H: $RCSfile: winver.h,v $: end of file */
Note: See TracBrowser for help on using the repository browser.