| Index: compat/non_win/verrsrc.h
|
| diff --git a/compat/non_win/verrsrc.h b/compat/non_win/verrsrc.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..70f534424040ee66ef460ca4026f28ef98b8197d
|
| --- /dev/null
|
| +++ b/compat/non_win/verrsrc.h
|
| @@ -0,0 +1,184 @@
|
| +// Copyright 2014 The Crashpad Authors. All rights reserved.
|
| +//
|
| +// Licensed under the Apache License, Version 2.0 (the "License");
|
| +// you may not use this file except in compliance with the License.
|
| +// You may obtain a copy of the License at
|
| +//
|
| +// http://www.apache.org/licenses/LICENSE-2.0
|
| +//
|
| +// Unless required by applicable law or agreed to in writing, software
|
| +// distributed under the License is distributed on an "AS IS" BASIS,
|
| +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| +// See the License for the specific language governing permissions and
|
| +// limitations under the License.
|
| +
|
| +#ifndef CRASHPAD_COMPAT_NON_WIN_VERRSRC_H_
|
| +#define CRASHPAD_COMPAT_NON_WIN_VERRSRC_H_
|
| +
|
| +#include <stdint.h>
|
| +
|
| +//! \file
|
| +
|
| +//! \brief The magic number for a VS_FIXEDFILEINFO structure, stored in
|
| +//! VS_FIXEDFILEINFO::dwSignature.
|
| +#define VS_FFI_SIGNATURE 0xfeef04bd
|
| +
|
| +//! \brief The version of a VS_FIXEDFILEINFO structure, stored in
|
| +//! VS_FIXEDFILEINFO::dwStrucVersion.
|
| +#define VS_FFI_STRUCVERSION 0x00010000
|
| +
|
| +//! \anchor VS_FF_x
|
| +//! \name VS_FF_*
|
| +//!
|
| +//! \brief File attribute values for VS_FIXEDFILEINFO::dwFileFlags and
|
| +//! VS_FIXEDFILEINFO::dwFileFlagsMask.
|
| +//! \{
|
| +#define VS_FF_DEBUG 0x00000001
|
| +#define VS_FF_PRERELEASE 0x00000002
|
| +#define VS_FF_PATCHED 0x00000004
|
| +#define VS_FF_PRIVATEBUILD 0x00000008
|
| +#define VS_FF_INFOINFERRED 0x00000010
|
| +#define VS_FF_SPECIALBUILD 0x00000020
|
| +//! \}
|
| +
|
| +//! \anchor VOS_x
|
| +//! \name VOS_*
|
| +//!
|
| +//! \brief Operating system values for VS_FIXEDFILEINFO::dwFileOS.
|
| +//! \{
|
| +#define VOS_UNKNOWN 0x00000000
|
| +#define VOS_DOS 0x00010000
|
| +#define VOS_OS216 0x00020000
|
| +#define VOS_OS232 0x00030000
|
| +#define VOS_NT 0x00040000
|
| +#define VOS_WINCE 0x00050000
|
| +#define VOS__BASE 0x00000000
|
| +#define VOS__WINDOWS16 0x00000001
|
| +#define VOS__PM16 0x00000002
|
| +#define VOS__PM32 0x00000003
|
| +#define VOS__WINDOWS32 0x00000004
|
| +#define VOS_DOS_WINDOWS16 0x00010001
|
| +#define VOS_DOS_WINDOWS32 0x00010004
|
| +#define VOS_OS216_PM16 0x00020002
|
| +#define VOS_OS232_PM32 0x00030003
|
| +#define VOS_NT_WINDOWS32 0x00040004
|
| +//! \}
|
| +
|
| +//! \anchor VFT_x
|
| +//! \name VFT_*
|
| +//!
|
| +//! \brief File type values for VS_FIXEDFILEINFO::dwFileType.
|
| +//! \{
|
| +#define VFT_UNKNOWN 0x00000000
|
| +#define VFT_APP 0x00000001
|
| +#define VFT_DLL 0x00000002
|
| +#define VFT_DRV 0x00000003
|
| +#define VFT_FONT 0x00000004
|
| +#define VFT_VXD 0x00000005
|
| +#define VFT_STATIC_LIB 0x00000007
|
| +//! \}
|
| +
|
| +//! \anchor VFT2_x
|
| +//! \name VFT2_*
|
| +//!
|
| +//! \brief File subtype values for VS_FIXEDFILEINFO::dwFileSubtype.
|
| +//! \{
|
| +#define VFT2_UNKNOWN 0x00000000
|
| +#define VFT2_DRV_PRINTER 0x00000001
|
| +#define VFT2_DRV_KEYBOARD 0x00000002
|
| +#define VFT2_DRV_LANGUAGE 0x00000003
|
| +#define VFT2_DRV_DISPLAY 0x00000004
|
| +#define VFT2_DRV_MOUSE 0x00000005
|
| +#define VFT2_DRV_NETWORK 0x00000006
|
| +#define VFT2_DRV_SYSTEM 0x00000007
|
| +#define VFT2_DRV_INSTALLABLE 0x00000008
|
| +#define VFT2_DRV_SOUND 0x00000009
|
| +#define VFT2_DRV_COMM 0x0000000A
|
| +#define VFT2_DRV_INPUTMETHOD 0x0000000B
|
| +#define VFT2_DRV_VERSIONED_PRINTER 0x0000000C
|
| +#define VFT2_FONT_RASTER 0x00000001
|
| +#define VFT2_FONT_VECTOR 0x00000002
|
| +#define VFT2_FONT_TRUETYPE 0x00000003
|
| +//! \}
|
| +
|
| +//! \brief Version information for a file.
|
| +//!
|
| +//! On Windows, this information is derived from a file’s version information
|
| +//! resource, and is obtained by calling `VerQueryValue()` with an `lpSubBlock`
|
| +//! argument of `"\"` (a single backslash).
|
| +struct VS_FIXEDFILEINFO {
|
| + //! \brief The structure’s magic number, ::VS_FFI_SIGNATURE.
|
| + uint32_t dwSignature;
|
| +
|
| + //! \brief The structure’s version, ::VS_FFI_STRUCVERSION.
|
| + uint32_t dwStrucVersion;
|
| +
|
| + //! \brief The more-significant portion of the file’s version number.
|
| + //!
|
| + //! This field contains the first two components of a four-component version
|
| + //! number. For a file whose version is 1.2.3.4, this field would be
|
| + //! `0x00010002`.
|
| + //!
|
| + //! \sa dwFileVersionLS
|
| + uint32_t dwFileVersionMS;
|
| +
|
| + //! \brief The less-significant portion of the file’s version number.
|
| + //!
|
| + //! This field contains the last two components of a four-component version
|
| + //! number. For a file whose version is 1.2.3.4, this field would be
|
| + //! `0x00030004`.
|
| + //!
|
| + //! \sa dwFileVersionMS
|
| + uint32_t dwFileVersionLS;
|
| +
|
| + //! \brief The more-significant portion of the product’s version number.
|
| + //!
|
| + //! This field contains the first two components of a four-component version
|
| + //! number. For a product whose version is 1.2.3.4, this field would be
|
| + //! `0x00010002`.
|
| + //!
|
| + //! \sa dwProductVersionLS
|
| + uint32_t dwProductVersionMS;
|
| +
|
| + //! \brief The less-significant portion of the product’s version number.
|
| + //!
|
| + //! This field contains the last two components of a four-component version
|
| + //! number. For a product whose version is 1.2.3.4, this field would be
|
| + //! `0x00030004`.
|
| + //!
|
| + //! \sa dwProductVersionMS
|
| + uint32_t dwProductVersionLS;
|
| +
|
| + //! \brief A bitmask of \ref VS_FF_x "VS_FF_*" values indicating which bits in
|
| + //! #dwFileFlags are valid.
|
| + uint32_t dwFileFlagsMask;
|
| +
|
| + //! \brief A bitmask of \ref VS_FF_x "VS_FF_*" values identifying attributes
|
| + //! of the file. Only bits present in #dwFileFlagsMask are valid.
|
| + uint32_t dwFileFlags;
|
| +
|
| + //! \brief The file’s intended operating system, a value of \ref VOS_x
|
| + //! "VOS_*".
|
| + uint32_t dwFileOS;
|
| +
|
| + //! \brief The file’s type, a value of \ref VFT_x "VFT_*".
|
| + uint32_t dwFileType;
|
| +
|
| + //! \brief The file’s subtype, a value of \ref VFT2_x "VFT2_*" corresponding
|
| + //! to its #dwFileType, if the file type has subtypes.
|
| + uint32_t dwFileSubtype;
|
| +
|
| + //! \brief The more-significant portion of the file’s creation date.
|
| + //!
|
| + //! The intended encoding of this field is unknown. This field is unused and
|
| + //! always has the value `0`.
|
| + uint32_t dwFileDateMS;
|
| +
|
| + //! \brief The less-significant portion of the file’s creation date.
|
| + //!
|
| + //! The intended encoding of this field is unknown. This field is unused and
|
| + //! always has the value `0`.
|
| + uint32_t dwFileDateLS;
|
| +};
|
| +
|
| +#endif // CRASHPAD_COMPAT_NON_WIN_VERRSRC_H_
|
|
|