OSDN Git Service

Redo the filters based on assumptions discussed in mingw-dvlpr list.
[mingw/mingw-org-wsl.git] / include / winver.h
1 /**
2  * @file winver.h
3  * @copy 2012 MinGW.org project
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining a
6  * copy of this software and associated documentation files (the "Software"),
7  * to deal in the Software without restriction, including without limitation
8  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9  * and/or sell copies of the Software, and to permit persons to whom the
10  * Software is furnished to do so, subject to the following conditions:
11  * 
12  * The above copyright notice and this permission notice (including the next
13  * paragraph) shall be included in all copies or substantial portions of the
14  * Software.
15  * 
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22  * DEALINGS IN THE SOFTWARE.
23  */
24 #ifndef _WINVER_H
25 #define _WINVER_H
26 #pragma GCC system_header
27 #include <_mingw.h>
28
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32
33 #define VS_FILE_INFO RT_VERSION
34 #define VS_VERSION_INFO 1
35 #define VS_USER_DEFINED 100
36 #define VS_FFI_SIGNATURE 0xFEEF04BD
37 #define VS_FFI_STRUCVERSION 0x10000
38 #define VS_FFI_FILEFLAGSMASK 0x3F
39 #define VS_FF_DEBUG 1
40 #define VS_FF_PRERELEASE 2
41 #define VS_FF_PATCHED 4
42 #define VS_FF_PRIVATEBUILD 8
43 #define VS_FF_INFOINFERRED 16
44 #define VS_FF_SPECIALBUILD 32
45 #define VOS_UNKNOWN 0
46 #define VOS_DOS 0x10000
47 #define VOS_OS216 0x20000
48 #define VOS_OS232 0x30000
49 #define VOS_NT 0x40000
50 #define VOS__BASE 0
51 #define VOS__WINDOWS16 1
52 #define VOS__PM16 2
53 #define VOS__PM32 3
54 #define VOS__WINDOWS32 4
55 #define VOS_DOS_WINDOWS16 0x10001
56 #define VOS_DOS_WINDOWS32 0x10004
57 #define VOS_OS216_PM16 0x20002
58 #define VOS_OS232_PM32 0x30003
59 #define VOS_NT_WINDOWS32 0x40004
60 #define VFT_UNKNOWN 0
61 #define VFT_APP 1
62 #define VFT_DLL 2
63 #define VFT_DRV 3
64 #define VFT_FONT 4
65 #define VFT_VXD 5
66 #define VFT_STATIC_LIB 7
67 #define VFT2_UNKNOWN 0
68 #define VFT2_DRV_PRINTER 1
69 #define VFT2_DRV_KEYBOARD 2
70 #define VFT2_DRV_LANGUAGE 3
71 #define VFT2_DRV_DISPLAY 4
72 #define VFT2_DRV_MOUSE 5
73 #define VFT2_DRV_NETWORK 6
74 #define VFT2_DRV_SYSTEM 7
75 #define VFT2_DRV_INSTALLABLE 8
76 #define VFT2_DRV_SOUND 9
77 #define VFT2_DRV_COMM 10
78 #define VFT2_DRV_INPUTMETHOD 11
79 #define VFT2_FONT_RASTER 1
80 #define VFT2_FONT_VECTOR 2
81 #define VFT2_FONT_TRUETYPE 3
82 #define VFFF_ISSHAREDFILE 1
83 #define VFF_CURNEDEST 1
84 #define VFF_FILEINUSE 2
85 #define VFF_BUFFTOOSMALL 4
86 #define VIFF_FORCEINSTALL 1
87 #define VIFF_DONTDELETEOLD 2
88 #define VIF_TEMPFILE 1
89 #define VIF_MISMATCH 2
90 #define VIF_SRCOLD 4
91 #define VIF_DIFFLANG 8
92 #define VIF_DIFFCODEPG 16
93 #define VIF_DIFFTYPE 32
94 #define VIF_WRITEPROT 64
95 #define VIF_FILEINUSE 128
96 #define VIF_OUTOFSPACE 256
97 #define VIF_ACCESSVIOLATION 512
98 #define VIF_SHARINGVIOLATION 1024
99 #define VIF_CANNOTCREATE 2048
100 #define VIF_CANNOTDELETE 4096
101 #define VIF_CANNOTRENAME 8192
102 #define VIF_CANNOTDELETECUR 16384
103 #define VIF_OUTOFMEMORY 32768
104 #define VIF_CANNOTREADSRC  65536
105 #define VIF_CANNOTREADDST 0x20000
106 #define VIF_BUFFTOOSMALL 0x40000
107
108 #ifndef RC_INVOKED
109 typedef struct tagVS_FIXEDFILEINFO {
110         DWORD dwSignature;
111         DWORD dwStrucVersion;
112         DWORD dwFileVersionMS;
113         DWORD dwFileVersionLS;
114         DWORD dwProductVersionMS;
115         DWORD dwProductVersionLS;
116         DWORD dwFileFlagsMask;
117         DWORD dwFileFlags;
118         DWORD dwFileOS;
119         DWORD dwFileType;
120         DWORD dwFileSubtype;
121         DWORD dwFileDateMS;
122         DWORD dwFileDateLS;
123 } VS_FIXEDFILEINFO;
124 DWORD WINAPI VerFindFileA(DWORD,LPSTR,LPSTR,LPSTR,LPSTR,PUINT,LPSTR,PUINT);
125 DWORD WINAPI VerFindFileW(DWORD,LPWSTR,LPWSTR,LPWSTR,LPWSTR,PUINT,LPWSTR,PUINT);
126 DWORD WINAPI VerInstallFileA(DWORD,LPSTR,LPSTR,LPSTR,LPSTR,LPSTR,LPSTR,PUINT);
127 DWORD WINAPI VerInstallFileW(DWORD,LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR,PUINT);
128 DWORD WINAPI GetFileVersionInfoSizeA(LPCSTR,PDWORD);
129 DWORD WINAPI GetFileVersionInfoSizeW(LPCWSTR,PDWORD);
130 BOOL WINAPI GetFileVersionInfoA(LPCSTR,DWORD,DWORD,PVOID);
131 BOOL WINAPI GetFileVersionInfoW(LPCWSTR,DWORD,DWORD,PVOID);
132 DWORD WINAPI VerLanguageNameA(DWORD,LPSTR,DWORD);
133 DWORD WINAPI VerLanguageNameW(DWORD,LPWSTR,DWORD);
134 BOOL WINAPI VerQueryValueA(LPCVOID,LPCSTR,LPVOID*,PUINT);
135 BOOL WINAPI VerQueryValueW(LPCVOID,LPCWSTR,LPVOID*,PUINT);
136
137 #define VerFindFile __AW(VerFindFile)
138 #define VerQueryValue __AW(VerQueryValue)
139 #define VerInstallFile __AW(VerInstallFile)
140 #define GetFileVersionInfoSize __AW(GetFileVersionInfoSize)
141 #define GetFileVersionInfo __AW(GetFileVersionInfo)
142 #define VerLanguageName __AW(VerLanguageName)
143 #define VerQueryValue __AW(VerQueryValue)
144 #endif /* ! RC_INVOKED */
145
146 #ifdef __cplusplus
147 }
148 #endif
149
150 #endif