代码拉取完成,页面将自动刷新
/* This is an implementation of the threads API of POSIX 1003.1-2001.
*
* --------------------------------------------------------------------------
*
* pthreads-win32 - POSIX Threads Library for Win32
* Copyright(C) 1998 John E. Bossom
* Copyright(C) 1999-2021 pthreads-win32 / pthreads4w contributors
*
* Homepage1: http://sourceware.org/pthreads-win32/
* Homepage2: http://sourceforge.net/projects/pthreads4w/
*
* The current list of contributors is contained
* in the file CONTRIBUTORS included with the source
* code distribution. The list can also be seen at the
* following World Wide Web location:
* http://sources.redhat.com/pthreads-win32/contributors.html
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library in the file COPYING.LIB;
* if not, write to the Free Software Foundation, Inc.,
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
* --------------------------------------------------------------------------
*/
/* #include <winver.h> --> #include <verrsrc.h> but these cause a lot of trouble wwith CMake+MSVC+RC at least. (Also without CMake it's one big effin' b0rk; !@#$%^&* Resource Compiler Piece Of Sh*te.) */
#define VS_VERSION_INFO 1
#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_WINCE 0x00050000L
#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
#define VFT2_DRV_VERSIONED_PRINTER 0x0000000CL
/* ----- VS_VERSION.dwFileSubtype for VFT_WINDOWS_FONT ----- */
#define VFT2_FONT_RASTER 0x00000001L
#define VFT2_FONT_VECTOR 0x00000002L
#define VFT2_FONT_TRUETYPE 0x00000003L
#include "config.h"
#include "_ptw32.h"
/*
* Note: the correct PTW32_CLEANUP_* macro must be defined corresponding to
* the definition used for the object file builds. This is done in the
* relevent makefiles for the command line builds, but users should ensure
* that their resource compiler knows what it is too.
* If using the default (no PTW32_CLEANUP_* defined), pthread.h will define it
* as PTW32_CLEANUP_C.
*/
#if defined(PTW32_RC_MSC)
# if defined (PTW32_ARCHx64) || defined (PTW32_ARCHX64) || defined (PTW32_ARCHAMD64)
# define PTW32_ARCH "x64"
# elif defined (PTW32_ARCHx86) || defined (PTW32_ARCHX86)
# define PTW32_ARCH "x86"
# elif defined (PTW32_ARCHarm) || defined (PTW32_ARCHARM) || defined (PTW32_AARCH32)
# define PTW32_ARCH "ARM"
# elif defined (PTW32_ARCHarm64) || defined (PTW32_ARCHARM64) || defined (PTW32_AARCH64)
# define PTW32_ARCH "ARM64"
# else
# error "PTW32_ARCHx64 / PTW32_ARCHx86 has not been defined"
# endif
# if defined(PTW32_CLEANUP_C)
# define PTW32_VERSIONINFO_NAME "pthreadVC2.DLL\0"
# elif defined(PTW32_CLEANUP_CXX)
# define PTW32_VERSIONINFO_NAME "pthreadVCE2.DLL\0"
# elif defined(PTW32_CLEANUP_SEH)
# define PTW32_VERSIONINFO_NAME "pthreadVSE2.DLL\0"
# else
# define PTW32_VERSIONINFO_NAME "pthread.DLL\0"
# endif
# if defined (PTW32_ARCHx64) || defined (PTW32_ARCHX64) || defined (PTW32_ARCHAMD64)
# if defined(PTW32_CLEANUP_C)
# define PTW32_VERSIONINFO_DESCRIPTION "MS C x64\0"
# elif defined(PTW32_CLEANUP_CXX)
# define PTW32_VERSIONINFO_DESCRIPTION "MS C++ x64\0"
# elif defined(PTW32_CLEANUP_SEH)
# define PTW32_VERSIONINFO_DESCRIPTION "MS C SEH x64\0"
# else
# define PTW32_VERSIONINFO_DESCRIPTION "MS x64\0"
# endif
# elif defined (PTW32_ARCHx86) || defined (PTW32_ARCHX86)
# if defined(PTW32_CLEANUP_C)
# define PTW32_VERSIONINFO_DESCRIPTION "MS C x86\0"
# elif defined(PTW32_CLEANUP_CXX)
# define PTW32_VERSIONINFO_DESCRIPTION "MS C++ x86\0"
# elif defined(PTW32_CLEANUP_SEH)
# define PTW32_VERSIONINFO_DESCRIPTION "MS C SEH x86\0"
# else
# define PTW32_VERSIONINFO_DESCRIPTION "MS x86\0"
# endif
# elif defined (PTW32_ARCHarm) || defined (PTW32_ARCHARM) || defined (PTW32_AARCH32)
# if defined(PTW32_CLEANUP_C)
# define PTW32_VERSIONINFO_DESCRIPTION "MS C ARM\0"
# elif defined(PTW32_CLEANUP_CXX)
# define PTW32_VERSIONINFO_DESCRIPTION "MS C++ ARM\0"
# elif defined(PTW32_CLEANUP_SEH)
# define PTW32_VERSIONINFO_DESCRIPTION "MS C SEH ARM\0"
# endif
# elif defined (PTW32_ARCHarm64) || defined (PTW32_ARCHARM64) || defined (PTW32_AARCH64)
# if defined(PTW32_CLEANUP_C)
# define PTW32_VERSIONINFO_DESCRIPTION "MS C ARM64\0"
# elif defined(PTW32_CLEANUP_CXX)
# define PTW32_VERSIONINFO_DESCRIPTION "MS C++ ARM64\0"
# elif defined(PTW32_CLEANUP_SEH)
# define PTW32_VERSIONINFO_DESCRIPTION "MS C SEH ARM64\0"
# endif
# endif
#elif defined(__GNUC__)
# if defined(_M_X64)
# define PTW32_ARCH "x64 (mingw64)"
# else
# define PTW32_ARCH "x86 (mingw32)"
# endif
# if defined(PTW32_CLEANUP_C)
# define PTW32_VERSIONINFO_NAME "pthreadGC2.DLL\0"
# define PTW32_VERSIONINFO_DESCRIPTION "GNU C " PTW32_ARCH "\0"
# elif defined(PTW32_CLEANUP_CXX)
# define PTW32_VERSIONINFO_NAME "pthreadGCE2.DLL\0"
# define PTW32_VERSIONINFO_DESCRIPTION "GNU C++ " PTW32_ARCH "\0"
# else
# error Resource compiler doesn't know which cleanup style you're using - see version.rc
# endif
#elif defined(__BORLANDC__)
# if defined(_M_X64)
# define PTW32_ARCH "x64 (Borland)"
# else
# define PTW32_ARCH "x86 (Borland)"
# endif
# if defined(PTW32_CLEANUP_C)
# define PTW32_VERSIONINFO_NAME "pthreadBC2.DLL\0"
# define PTW32_VERSIONINFO_DESCRIPTION "BORLAND C " PTW32_ARCH "\0"
# elif defined(PTW32_CLEANUP_CXX)
# define PTW32_VERSIONINFO_NAME "pthreadBCE2.DLL\0"
# define PTW32_VERSIONINFO_DESCRIPTION "BORLAND C++ " PTW32_ARCH "\0"
# else
# error Resource compiler doesn't know which cleanup style you're using - see version.rc
# endif
#elif defined(__WATCOMC__)
# if defined(_M_X64)
# define PTW32_ARCH "x64 (Watcom)"
# else
# define PTW32_ARCH "x86 (Watcom)"
# endif
# if defined(PTW32_CLEANUP_C)
# define PTW32_VERSIONINFO_NAME "pthreadWC2.DLL\0"
# define PTW32_VERSIONINFO_DESCRIPTION "WATCOM C " PTW32_ARCH "\0"
# elif defined(PTW32_CLEANUP_CXX)
# define PTW32_VERSIONINFO_NAME "pthreadWCE2.DLL\0"
# define PTW32_VERSIONINFO_DESCRIPTION "WATCOM C++ " PTW32_ARCH "\0"
# else
# error Resource compiler doesn't know which cleanup style you're using - see version.rc
# endif
#else
# error Resource compiler doesn't know which compiler you're using - see version.rc
#endif
VS_VERSION_INFO VERSIONINFO
FILEVERSION PTW32_VERSION
PRODUCTVERSION PTW32_VERSION
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
FILEFLAGS 0
FILEOS VOS__WINDOWS32
FILETYPE VFT_DLL
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "ProductName", "POSIX Threads for Windows\0"
VALUE "ProductVersion", PTW32_VERSION_STRING
VALUE "FileVersion", PTW32_VERSION_STRING
VALUE "FileDescription", PTW32_VERSIONINFO_DESCRIPTION
VALUE "InternalName", PTW32_VERSIONINFO_NAME
VALUE "OriginalFilename", PTW32_VERSIONINFO_NAME
VALUE "CompanyName", "Open Source Software community\0"
VALUE "LegalCopyright", "Copyright(C) 1999-2021 pthreads-win32 / pthreads4w contributors 1999-2021\0"
VALUE "Comments", "https://sourceforge.net/p/pthreads4w/wiki/Contributors/\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
/*
VERSIONINFO Resource
The VERSIONINFO resource-definition statement creates a version-information
resource. The resource contains such information about the file as its
version number, its intended operating system, and its original filename.
The resource is intended to be used with the Version Information functions.
versionID VERSIONINFO fixed-info { block-statement...}
versionID
Version-information resource identifier. This value must be 1.
fixed-info
Version information, such as the file version and the intended operating
system. This parameter consists of the following statements.
Statement Description
--------------------------------------------------------------------------
FILEVERSION
version Binary version number for the file. The version
consists of two 32-bit integers, defined by four
16-bit integers. For example, "FILEVERSION 3,10,0,61"
is translated into two doublewords: 0x0003000a and
0x0000003d, in that order. Therefore, if version is
defined by the DWORD values dw1 and dw2, they need
to appear in the FILEVERSION statement as follows:
HIWORD(dw1), LOWORD(dw1), HIWORD(dw2), LOWORD(dw2).
PRODUCTVERSION
version Binary version number for the product with which the
file is distributed. The version parameter is two
32-bit integers, defined by four 16-bit integers.
For more information about version, see the
FILEVERSION description.
FILEFLAGSMASK
fileflagsmask Bits in the FILEFLAGS statement are valid. If a bit
is set, the corresponding bit in FILEFLAGS is valid.
FILEFLAGSfileflags Attributes of the file. The fileflags parameter must
be the combination of all the file flags that are
valid at compile time. For 16-bit Windows, this
value is 0x3f.
FILEOSfileos Operating system for which this file was designed.
The fileos parameter can be one of the operating
system values given in the Remarks section.
FILETYPEfiletype General type of file. The filetype parameter can be
one of the file type values listed in the Remarks
section.
FILESUBTYPE
subtype Function of the file. The subtype parameter is zero
unless the type parameter in the FILETYPE statement
is VFT_DRV, VFT_FONT, or VFT_VXD. For a list of file
subtype values, see the Remarks section.
block-statement
Specifies one or more version-information blocks. A block can contain
string information or variable information. For more information, see
StringFileInfo Block or VarFileInfo Block.
Remarks
To use the constants specified with the VERSIONINFO statement, you must
include the Winver.h or Windows.h header file in the resource-definition file.
The following list describes the parameters used in the VERSIONINFO statement:
fileflags
A combination of the following values.
Value Description
VS_FF_DEBUG File contains debugging information or is compiled
with debugging features enabled.
VS_FF_PATCHED File has been modified and is not identical to the
original shipping file of the same version number.
VS_FF_PRERELEASE File is a development version, not a commercially
released product.
VS_FF_PRIVATEBUILD File was not built using standard release procedures.
If this value is given, the StringFileInfo block must
contain a PrivateBuild string.
VS_FF_SPECIALBUILD File was built by the original company using standard
release procedures but is a variation of the standard
file of the same version number. If this value is
given, the StringFileInfo block must contain a
SpecialBuild string.
fileos
One of the following values.
Value Description
VOS_UNKNOWN The operating system for which the file was designed
is unknown.
VOS_DOS File was designed for MS-DOS.
VOS_NT File was designed for Windows Server 2003 family,
Windows XP, Windows 2000, or Windows NT.
VOS__WINDOWS16 File was designed for 16-bit Windows.
VOS__WINDOWS32 File was designed for 32-bit Windows.
VOS_DOS_WINDOWS16 File was designed for 16-bit Windows running with
MS-DOS.
VOS_DOS_WINDOWS32 File was designed for 32-bit Windows running with
MS-DOS.
VOS_NT_WINDOWS32 File was designed for Windows Server 2003 family,
Windows XP, Windows 2000, or Windows NT.
The values 0x00002L, 0x00003L, 0x20000L and 0x30000L are reserved.
filetype
One of the following values.
Value Description
VFT_UNKNOWN File type is unknown.
VFT_APP File contains an application.
VFT_DLL File contains a dynamic-link library (DLL).
VFT_DRV File contains a device driver. If filetype is
VFT_DRV, subtype contains a more specific
description of the driver.
VFT_FONT File contains a font. If filetype is VFT_FONT,
subtype contains a more specific description of the
font.
VFT_VXD File contains a virtual device.
VFT_STATIC_LIB File contains a static-link library.
All other values are reserved for use by Microsoft.
subtype
Additional information about the file type.
If filetype specifies VFT_DRV, this parameter can be one of the
following values.
Value Description
VFT2_UNKNOWN Driver type is unknown.
VFT2_DRV_COMM File contains a communications driver.
VFT2_DRV_PRINTER File contains a printer driver.
VFT2_DRV_KEYBOARD File contains a keyboard driver.
VFT2_DRV_LANGUAGE File contains a language driver.
VFT2_DRV_DISPLAY File contains a display driver.
VFT2_DRV_MOUSE File contains a mouse driver.
VFT2_DRV_NETWORK File contains a network driver.
VFT2_DRV_SYSTEM File contains a system driver.
VFT2_DRV_INSTALLABLE File contains an installable driver.
VFT2_DRV_SOUND File contains a sound driver.
VFT2_DRV_VERSIONED_PRINTER File contains a versioned printer driver.
If filetype specifies VFT_FONT, this parameter can be one of the
following values.
Value Description
VFT2_UNKNOWN Font type is unknown.
VFT2_FONT_RASTER File contains a raster font.
VFT2_FONT_VECTOR File contains a vector font.
VFT2_FONT_TRUETYPE File contains a TrueType font.
If filetype specifies VFT_VXD, this parameter must be the virtual-device
identifier included in the virtual-device control block.
All subtype values not listed here are reserved for use by Microsoft.
langID
One of the following language codes.
Code Language Code Language
0x0401 Arabic 0x0415 Polish
0x0402 Bulgarian 0x0416 Portuguese (Brazil)
0x0403 Catalan 0x0417 Rhaeto-Romanic
0x0404 Traditional Chinese 0x0418 Romanian
0x0405 Czech 0x0419 Russian
0x0406 Danish 0x041A Croato-Serbian (Latin)
0x0407 German 0x041B Slovak
0x0408 Greek 0x041C Albanian
0x0409 U.S. English 0x041D Swedish
0x040A Castilian Spanish 0x041E Thai
0x040B Finnish 0x041F Turkish
0x040C French 0x0420 Urdu
0x040D Hebrew 0x0421 Bahasa
0x040E Hungarian 0x0804 Simplified Chinese
0x040F Icelandic 0x0807 Swiss German
0x0410 Italian 0x0809 U.K. English
0x0411 Japanese 0x080A Mexican Spanish
0x0412 Korean 0x080C Belgian French
0x0413 Dutch 0x0C0C Canadian French
0x0414 Norwegian Bokmal 0x100C Swiss French
0x0810 Swiss Italian 0x0816 Portuguese (Portugal)
0x0813 Belgian Dutch 0x081A Serbo-Croatian (Cyrillic)
0x0814 Norwegian Nynorsk
charsetID
One of the following character-set identifiers.
Identifier Character Set
0 7-bit ASCII
932 Japan (Shift %G%@ JIS X-0208)
949 Korea (Shift %G%@ KSC 5601)
950 Taiwan (Big5)
1200 Unicode
1250 Latin-2 (Eastern European)
1251 Cyrillic
1252 Multilingual
1253 Greek
1254 Turkish
1255 Hebrew
1256 Arabic
string-name
One of the following predefined names.
Name Description
Comments Additional information that should be displayed for
diagnostic purposes.
CompanyName Company that produced the file%G%@for example,
"Microsoft Corporation" or "Standard Microsystems
Corporation, Inc." This string is required.
FileDescription File description to be presented to users. This
string may be displayed in a list box when the user
is choosing files to install%G%@for example,
"Keyboard Driver for AT-Style Keyboards". This
string is required.
FileVersion Version number of the file%G%@for example,
"3.10" or "5.00.RC2". This string is required.
InternalName Internal name of the file, if one exists for
example, a module name if the file is a dynamic-link
library. If the file has no internal name, this
string should be the original filename, without
extension. This string is required.
LegalCopyright Copyright notices that apply to the file. This
should include the full text of all notices, legal
symbols, copyright dates, and so on for example,
"Copyright (C) Microsoft Corporation 19901999".
This string is optional.
LegalTrademarks Trademarks and registered trademarks that apply to
the file. This should include the full text of all
notices, legal symbols, trademark numbers, and so on.
This string is optional.
OriginalFilename Original name of the file, not including a path.
This information enables an application to determine
whether a file has been renamed by a user. The
format of the name depends on the file system for
which the file was created. This string is required.
PrivateBuild Information about a private version of the file for
example, "Built by TESTER1 on \TESTBED". This string
should be present only if VS_FF_PRIVATEBUILD is
specified in the fileflags parameter of the root
block.
ProductName Name of the product with which the file is
distributed. This string is required.
ProductVersion Version of the product with which the file is
distributed for example, "3.10" or "5.00.RC2".
This string is required.
SpecialBuild Text that indicates how this version of the file
differs from the standard version for example,
"Private build for TESTER1 solving mouse problems
on M250 and M250E computers". This string should be
present only if VS_FF_SPECIALBUILD is specified in
the fileflags parameter of the root block.
*/
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。