Diff

Not logged in

Differences From Artifact [e2bb31df25854a97]:

To Artifact [4fd71adb18fd2e65]:


1 +/***********************************************************************\ 2 +* winver.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 1 11 module win32.winver; 2 12 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino 13 +private import win32.windef; 14 + 15 +// FIXME: type weirdness 16 +enum { 17 + VS_FILE_INFO = 16, 18 + VS_VERSION_INFO = 1, 19 + VS_USER_DEFINED = 100 20 +} 21 + 22 +enum { 23 + VS_FFI_SIGNATURE = 0xFEEF04BD, 24 + VS_FFI_STRUCVERSION = 0x10000, 25 + VS_FFI_FILEFLAGSMASK = 0x3F 26 +} 5 27 6 -import win32.winuser; 28 +enum { 29 + VS_FF_DEBUG = 1, 30 + VS_FF_PRERELEASE = 2, 31 + VS_FF_PATCHED = 4, 32 + VS_FF_PRIVATEBUILD = 8, 33 + VS_FF_INFOINFERRED = 16, 34 + VS_FF_SPECIALBUILD = 32 35 +} 7 36 8 -// #ifndef VER_H 9 -// #define VER_H 37 +enum { 38 + VOS_UNKNOWN = 0, 39 + VOS_DOS = 0x10000, 40 + VOS_OS216 = 0x20000, 41 + VOS_OS232 = 0x30000, 42 + VOS_NT = 0x40000, 43 + VOS__BASE = 0, 44 + VOS__WINDOWS16 = 1, 45 + VOS__PM16 = 2, 46 + VOS__PM32 = 3, 47 + VOS__WINDOWS32 = 4, 48 + VOS_DOS_WINDOWS16 = 0x10001, 49 + VOS_DOS_WINDOWS32 = 0x10004, 50 + VOS_OS216_PM16 = 0x20002, 51 + VOS_OS232_PM32 = 0x30003, 52 + VOS_NT_WINDOWS32 = 0x40004 53 +} 10 54 11 -// #ifdef __cplusplus 12 -// extern "C" { 13 -// #endif 55 +enum { 56 + VFT_UNKNOWN = 0, 57 + VFT_APP = 1, 58 + VFT_DLL = 2, 59 + VFT_DRV = 3, 60 + VFT_FONT = 4, 61 + VFT_VXD = 5, 62 + VFT_STATIC_LIB = 7 63 +} 14 64 15 -alias RT_VERSION VS_FILE_INFO; 16 -enum : uint { VS_VERSION_INFO = 1 } 17 -enum : uint { VS_USER_DEFINED = 100 } 65 +enum { 66 + VFT2_UNKNOWN = 0, 67 + VFT2_DRV_PRINTER = 1, 68 + VFT2_DRV_KEYBOARD = 2, 69 + VFT2_DRV_LANGUAGE = 3, 70 + VFT2_DRV_DISPLAY = 4, 71 + VFT2_DRV_MOUSE = 5, 72 + VFT2_DRV_NETWORK = 6, 73 + VFT2_DRV_SYSTEM = 7, 74 + VFT2_DRV_INSTALLABLE = 8, 75 + VFT2_DRV_SOUND = 9, 76 + VFT2_DRV_COMM = 10, 77 + VFT2_DRV_INPUTMETHOD = 11, 78 + VFT2_FONT_RASTER = 1, 79 + VFT2_FONT_VECTOR = 2, 80 + VFT2_FONT_TRUETYPE = 3 81 +} 18 82 19 -// #ifndef _MAC 20 -enum : uint { VS_FFI_SIGNATURE = 0xFEEF04BD } 21 -// #else 22 -// #... 23 -// #endif 24 -enum : uint { VS_FFI_STRUCVERSION = 0x00010000 } 25 -enum : uint { VS_FFI_FILEFLAGSMASK = 0x0000003F } 83 +enum : DWORD { 84 + VFFF_ISSHAREDFILE = 1 85 +} 26 86 27 -enum : uint { VS_FF_DEBUG = 0x00000001 } 28 -enum : uint { VS_FF_PRERELEASE = 0x00000002 } 29 -enum : uint { VS_FF_PATCHED = 0x00000004 } 30 -enum : uint { VS_FF_PRIVATEBUILD = 0x00000008 } 31 -enum : uint { VS_FF_INFOINFERRED = 0x00000010 } 32 -enum : uint { VS_FF_SPECIALBUILD = 0x00000020 } 33 - 34 -enum : uint { VOS_UNKNOWN = 0x00000000 } 35 -enum : uint { VOS_DOS = 0x00010000 } 36 -enum : uint { VOS_OS216 = 0x00020000 } 37 -enum : uint { VOS_OS232 = 0x00030000 } 38 -enum : uint { VOS_NT = 0x00040000 } 87 +enum : DWORD { 88 + VFF_CURNEDEST = 1, 89 + VFF_FILEINUSE = 2, 90 + VFF_BUFFTOOSMALL = 4 91 +} 39 92 40 -enum : uint { VOS__BASE = 0x00000000 } 41 -enum : uint { VOS__WINDOWS16 = 0x00000001 } 42 -enum : uint { VOS__PM16 = 0x00000002 } 43 -enum : uint { VOS__PM32 = 0x00000003 } 44 -enum : uint { VOS__WINDOWS32 = 0x00000004 } 45 - 46 -enum : uint { VOS_DOS_WINDOWS16 = 0x00010001 } 47 -enum : uint { VOS_DOS_WINDOWS32 = 0x00010004 } 48 -enum : uint { VOS_OS216_PM16 = 0x00020002 } 49 -enum : uint { VOS_OS232_PM32 = 0x00030003 } 50 -enum : uint { VOS_NT_WINDOWS32 = 0x00040004 } 93 +enum : DWORD { 94 + VIFF_FORCEINSTALL = 1, 95 + VIFF_DONTDELETEOLD 96 +} 51 97 52 -enum : uint { VFT_UNKNOWN = 0x00000000 } 53 -enum : uint { VFT_APP = 0x00000001 } 54 -enum : uint { VFT_DLL = 0x00000002 } 55 -enum : uint { VFT_DRV = 0x00000003 } 56 -enum : uint { VFT_FONT = 0x00000004 } 57 -enum : uint { VFT_VXD = 0x00000005 } 58 -enum : uint { VFT_STATIC_LIB = 0x00000007 } 98 +enum { 99 + VIF_TEMPFILE = 0x00001, 100 + VIF_MISMATCH = 0x00002, 101 + VIF_SRCOLD = 0x00004, 102 + VIF_DIFFLANG = 0x00008, 103 + VIF_DIFFCODEPG = 0x00010, 104 + VIF_DIFFTYPE = 0x00020, 105 + VIF_WRITEPROT = 0x00040, 106 + VIF_FILEINUSE = 0x00080, 107 + VIF_OUTOFSPACE = 0x00100, 108 + VIF_ACCESSVIOLATION = 0x00200, 109 + VIF_SHARINGVIOLATION = 0x00400, 110 + VIF_CANNOTCREATE = 0x00800, 111 + VIF_CANNOTDELETE = 0x01000, 112 + VIF_CANNOTRENAME = 0x02000, 113 + VIF_CANNOTDELETECUR = 0x04000, 114 + VIF_OUTOFMEMORY = 0x08000, 115 + VIF_CANNOTREADSRC = 0x10000, 116 + VIF_CANNOTREADDST = 0x20000, 117 + VIF_BUFFTOOSMALL = 0x40000 118 +} 59 119 60 -enum : uint { VFT2_UNKNOWN = 0x00000000 } 61 -enum : uint { VFT2_DRV_PRINTER = 0x00000001 } 62 -enum : uint { VFT2_DRV_KEYBOARD = 0x00000002 } 63 -enum : uint { VFT2_DRV_LANGUAGE = 0x00000003 } 64 -enum : uint { VFT2_DRV_DISPLAY = 0x00000004 } 65 -enum : uint { VFT2_DRV_MOUSE = 0x00000005 } 66 -enum : uint { VFT2_DRV_NETWORK = 0x00000006 } 67 -enum : uint { VFT2_DRV_SYSTEM = 0x00000007 } 68 -enum : uint { VFT2_DRV_INSTALLABLE = 0x00000008 } 69 -enum : uint { VFT2_DRV_SOUND = 0x00000009 } 70 -enum : uint { VFT2_DRV_COMM = 0x0000000A } 71 -enum : uint { VFT2_DRV_INPUTMETHOD = 0x0000000B } 72 -enum : uint { VFT2_DRV_VERSIONED_PRINTER = 0x0000000C } 73 - 74 -enum : uint { VFT2_FONT_RASTER = 0x00000001 } 75 -enum : uint { VFT2_FONT_VECTOR = 0x00000002 } 76 -enum : uint { VFT2_FONT_TRUETYPE = 0x00000003 } 77 - 78 -enum : uint { VFFF_ISSHAREDFILE = 0x0001 } 79 - 80 -enum : uint { VFF_CURNEDEST = 0x0001 } 81 -enum : uint { VFF_FILEINUSE = 0x0002 } 82 -enum : uint { VFF_BUFFTOOSMALL = 0x0004 } 83 - 84 -enum : uint { VIFF_FORCEINSTALL = 0x0001 } 85 -enum : uint { VIFF_DONTDELETEOLD = 0x0002 } 86 - 87 -enum : uint { VIF_TEMPFILE = 0x00000001 } 88 -enum : uint { VIF_MISMATCH = 0x00000002 } 89 -enum : uint { VIF_SRCOLD = 0x00000004 } 90 - 91 -enum : uint { VIF_DIFFLANG = 0x00000008 } 92 -enum : uint { VIF_DIFFCODEPG = 0x00000010 } 93 -enum : uint { VIF_DIFFTYPE = 0x00000020 } 94 - 95 -enum : uint { VIF_WRITEPROT = 0x00000040 } 96 -enum : uint { VIF_FILEINUSE = 0x00000080 } 97 -enum : uint { VIF_OUTOFSPACE = 0x00000100 } 98 -enum : uint { VIF_ACCESSVIOLATION = 0x00000200 } 99 -enum : uint { VIF_SHARINGVIOLATION = 0x00000400 } 100 -enum : uint { VIF_CANNOTCREATE = 0x00000800 } 101 -enum : uint { VIF_CANNOTDELETE = 0x00001000 } 102 -enum : uint { VIF_CANNOTRENAME = 0x00002000 } 103 -enum : uint { VIF_CANNOTDELETECUR = 0x00004000 } 104 -enum : uint { VIF_OUTOFMEMORY = 0x00008000 } 105 - 106 -enum : uint { VIF_CANNOTREADSRC = 0x00010000 } 107 -enum : uint { VIF_CANNOTREADDST = 0x00020000 } 108 - 109 -enum : uint { VIF_BUFFTOOSMALL = 0x00040000 } 110 -enum : uint { VIF_CANNOTLOADLZ32 = 0x00080000 } 111 -enum : uint { VIF_CANNOTLOADCABINET = 0x00100000 } 120 +struct VS_FIXEDFILEINFO { 121 + DWORD dwSignature; 122 + DWORD dwStrucVersion; 123 + DWORD dwFileVersionMS; 124 + DWORD dwFileVersionLS; 125 + DWORD dwProductVersionMS; 126 + DWORD dwProductVersionLS; 127 + DWORD dwFileFlagsMask; 128 + DWORD dwFileFlags; 129 + DWORD dwFileOS; 130 + DWORD dwFileType; 131 + DWORD dwFileSubtype; 132 + DWORD dwFileDateMS; 133 + DWORD dwFileDateLS; 134 +} 112 135 113 -// #ifndef RC_INVOKED /* RC doesn't need to see the rest of this */ 114 - 115 -struct tagVS_FIXEDFILEINFO { 116 - DWORD dwSignature; 117 - DWORD dwStrucVersion; 118 - DWORD dwFileVersionMS; 119 - DWORD dwFileVersionLS; 120 - DWORD dwProductVersionMS; 121 - DWORD dwProductVersionLS; 122 - DWORD dwFileFlagsMask; 123 - DWORD dwFileFlags; 124 - DWORD dwFileOS; 125 - DWORD dwFileType; 126 - DWORD dwFileSubtype; 127 - DWORD dwFileDateMS; 128 - DWORD dwFileDateLS; 136 +extern (Windows) { 137 + DWORD VerFindFileA(DWORD, LPCSTR, LPCSTR, LPCSTR, LPSTR, PUINT, LPSTR, 138 + PUINT); 139 + DWORD VerFindFileW(DWORD, LPCWSTR, LPCWSTR, LPCWSTR, LPWSTR, PUINT, LPWSTR, 140 + PUINT); 141 + DWORD VerInstallFileA(DWORD, LPCSTR, LPCSTR, LPCSTR, LPCSTR, LPCSTR, LPSTR, 142 + PUINT); 143 + DWORD VerInstallFileW(DWORD, LPCWSTR, LPCWSTR, LPCWSTR, LPCWSTR, LPCWSTR, 144 + LPWSTR, PUINT); 145 + DWORD GetFileVersionInfoSizeA(LPCSTR, PDWORD); 146 + DWORD GetFileVersionInfoSizeW(LPCWSTR, PDWORD); 147 + BOOL GetFileVersionInfoA(LPCSTR, DWORD, DWORD, PVOID); 148 + BOOL GetFileVersionInfoW(LPCWSTR, DWORD, DWORD, PVOID); 149 + DWORD VerLanguageNameA(DWORD, LPSTR, DWORD); 150 + DWORD VerLanguageNameW(DWORD, LPWSTR, DWORD); 151 + BOOL VerQueryValueA(LPCVOID, LPCSTR, LPVOID*, PUINT); 152 + BOOL VerQueryValueW(LPCVOID, LPCWSTR, LPVOID*, PUINT); 129 153 } 130 -alias tagVS_FIXEDFILEINFO VS_FIXEDFILEINFO; 131 154 132 -extern(Windows) export DWORD VerFindFileA( 133 - DWORD uFlags, 134 - LPSTR szFileName, 135 - LPSTR szWinDir, 136 - LPSTR szAppDir, 137 - LPSTR szCurDir, 138 - PUINT lpuCurDirLen, 139 - LPSTR szDestDir, 140 - PUINT lpuDestDirLen 141 - ); 142 -extern(Windows) export DWORD VerFindFileW( 143 - DWORD uFlags, 144 - LPWSTR szFileName, 145 - LPWSTR szWinDir, 146 - LPWSTR szAppDir, 147 - LPWSTR szCurDir, 148 - PUINT lpuCurDirLen, 149 - LPWSTR szDestDir, 150 - PUINT lpuDestDirLen 151 - ); 152 -// #ifdef UNICODE 153 -alias VerFindFileW VerFindFile; 154 -// #else 155 -// #... 156 -// #endif // !UNICODE 157 - 158 -extern(Windows) export DWORD VerInstallFileA( 159 - DWORD uFlags, 160 - LPSTR szSrcFileName, 161 - LPSTR szDestFileName, 162 - LPSTR szSrcDir, 163 - LPSTR szDestDir, 164 - LPSTR szCurDir, 165 - LPSTR szTmpFile, 166 - PUINT lpuTmpFileLen 167 - ); 168 -extern(Windows) export DWORD VerInstallFileW( 169 - DWORD uFlags, 170 - LPWSTR szSrcFileName, 171 - LPWSTR szDestFileName, 172 - LPWSTR szSrcDir, 173 - LPWSTR szDestDir, 174 - LPWSTR szCurDir, 175 - LPWSTR szTmpFile, 176 - PUINT lpuTmpFileLen 177 - ); 178 -// #ifdef UNICODE 179 -alias VerInstallFileW VerInstallFile; 180 -// #else 181 -// #... 182 -// #endif // !UNICODE 183 - 184 -extern(Windows) export DWORD GetFileVersionInfoSizeA( 185 - LPSTR lptstrFilename, 186 - LPDWORD lpdwHandle 187 - ); 188 - 189 -extern(Windows) export DWORD GetFileVersionInfoSizeW( 190 - LPWSTR lptstrFilename, 191 - LPDWORD lpdwHandle 192 - ); 193 -// #ifdef UNICODE 194 -alias GetFileVersionInfoSizeW GetFileVersionInfoSize; 195 -// #else 196 -// #... 197 -// #endif // !UNICODE 198 - 199 -extern(Windows) export BOOL GetFileVersionInfoA( 200 - LPSTR lptstrFilename, 201 - DWORD dwHandle, 202 - DWORD dwLen, 203 - LPVOID lpData 204 - ); 205 - 206 -extern(Windows) export BOOL GetFileVersionInfoW( 207 - LPWSTR lptstrFilename, 208 - DWORD dwHandle, 209 - DWORD dwLen, 210 - LPVOID lpData 211 - ); 212 -// #ifdef UNICODE 213 -alias GetFileVersionInfoW GetFileVersionInfo; 214 -// #else 215 -// #... 216 -// #endif // !UNICODE 217 - 218 -extern(Windows) export DWORD VerLanguageNameA( 219 - DWORD wLang, 220 - LPSTR szLang, 221 - DWORD nSize 222 - ); 223 -extern(Windows) export DWORD VerLanguageNameW( 224 - DWORD wLang, 225 - LPWSTR szLang, 226 - DWORD nSize 227 - ); 228 -// #ifdef UNICODE 229 -alias VerLanguageNameW VerLanguageName; 230 -// #else 231 -// #... 232 -// #endif // !UNICODE 233 - 234 -extern(Windows) export BOOL VerQueryValueA( 235 - LPVOID pBlock, 236 - LPSTR lpSubBlock, 237 - LPVOID * lplpBuffer, 238 - PUINT puLen 239 - ); 240 -extern(Windows) export BOOL VerQueryValueW( 241 - LPVOID pBlock, 242 - LPWSTR lpSubBlock, 243 - LPVOID * lplpBuffer, 244 - PUINT puLen 245 - ); 246 -// #ifdef UNICODE 247 -alias VerQueryValueW VerQueryValue; 248 -// #else 249 -// #... 250 -// #endif // !UNICODE 251 - 252 -// #endif /* !RC_INVOKED */ 253 - 254 -// #ifdef __cplusplus 255 -// } 256 -// #endif 257 - 258 -// #endif /* !VER_H */ 259 - 155 +version (Unicode) { 156 + alias VerFindFileW VerFindFile; 157 + alias VerQueryValueW VerQueryValue; 158 + alias VerInstallFileW VerInstallFile; 159 + alias GetFileVersionInfoSizeW GetFileVersionInfoSize; 160 + alias GetFileVersionInfoW GetFileVersionInfo; 161 + alias VerLanguageNameW VerLanguageName; 162 + alias VerQueryValueW VerQueryValue; 163 +} else { 164 + alias VerQueryValueA VerQueryValue; 165 + alias VerFindFileA VerFindFile; 166 + alias VerInstallFileA VerInstallFile; 167 + alias GetFileVersionInfoSizeA GetFileVersionInfoSize; 168 + alias GetFileVersionInfoA GetFileVersionInfo; 169 + alias VerLanguageNameA VerLanguageName; 170 + alias VerQueryValueA VerQueryValue; 171 +}