gcc/libphobos/libdruntime/core/sys/windows/schannel.d
Iain Buclaw 7e7ebe3e35 d: Merge upstream dmd, druntime e4f8919591, phobos 3ad507b51.
D front-end changes:

    - Import dmd v2.101.0-beta.1.
    - Add predefined version `D_Optimized' when compiling with `-O'.
    - Shortened method syntax (DIP1043) is now enabled by default.
    - Array literals assigned to `scope' array variables are now
      allocated on the stack.
    - Implement `@system' variables (DIP1035), available behind the
      preview feature flag `-fpreview=systemvariables'.

D runtime changes:

    - Import druntime v2.101.0-beta.1.

Phobos changes:

    - Import phobos v2.101.0-beta.1.
    - Added `std.typecons.SafeRefCounted', that can be used in `@safe'
      code with `-fpreview=dip1000'.

gcc/d/ChangeLog:

	* d-attribs.cc (apply_user_attributes): Update for new front-end
	interface.
	* d-builtins.cc (d_init_versions): Predefine `D_Optimized' with
	compiling with optimizations enabled.
	* d-lang.cc (d_handle_option): Update for new front-end interface.
	Handle new option `-fpreview=systemvariables'.
	* dmd/MERGE: Merge upstream dmd e4f8919591.
	* dmd/VERSION: Bump version to v2.101.0-beta.1.
	* expr.cc (ExprVisitor::visit (AssignExp *)): Treat construction of
	static arrays from a call expression as a simple assignment.
	(ExprVisitor::visit (ArrayLiteralExp *)): Handle array literals with
	`scope' storage.
	* gdc.texi: Update documentation of `-fpreview=' options.
	* lang.opt (fpreview=shortenedmethods): Remove.
	(fpreview=systemvariables):  New option.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime e4f8919591.
	* src/MERGE: Merge upstream phobos 3ad507b51.

gcc/testsuite/ChangeLog:

	* gdc.dg/simd19630.d: Move tests with errors to ...
	* gdc.dg/simd19630b.d: ... here.  New test.
	* gdc.dg/simd19630c.d: New test.
	* gdc.dg/simd_ctfe.d: Removed.
	* gdc.dg/simd18867.d: New test.
	* gdc.dg/simd19788.d: New test.
	* gdc.dg/simd21469.d: New test.
	* gdc.dg/simd21672.d: New test.
	* gdc.dg/simd23077.d: New test.
	* gdc.dg/simd23084.d: New test.
	* gdc.dg/simd23085.d: New test.
	* gdc.dg/torture/simd19632.d: New test.
	* gdc.dg/torture/simd20041.d: New test.
	* gdc.dg/torture/simd21673.d: New test.
	* gdc.dg/torture/simd21676.d: New test.
	* gdc.dg/torture/simd22438.d: New test.
	* gdc.dg/torture/simd23009.d: New test.
	* gdc.dg/torture/simd23077.d: New test.
	* gdc.dg/torture/simd8.d: New test.
	* gdc.dg/torture/simd9.d: New test.
	* gdc.dg/torture/simd_prefetch.d: New test.
2022-10-29 13:02:26 +02:00

106 lines
3.3 KiB
D

/**
* Windows API header module
*
* Translated from MinGW Windows headers
*
* Authors: Stewart Gordon
* License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
* Source: $(DRUNTIMESRC core/sys/windows/_schannel.d)
*/
module core.sys.windows.schannel;
version (Windows):
import core.sys.windows.wincrypt;
import core.sys.windows.windef;
enum DWORD SCHANNEL_CRED_VERSION = 4;
enum SCHANNEL_SHUTDOWN = 1;
/* Comment from MinGW
? Do these belong here or in wincrypt.h
*/
enum : DWORD {
AUTHTYPE_CLIENT = 1,
AUTHTYPE_SERVER = 2
}
enum DWORD
SP_PROT_PCT1_SERVER = 0x01,
SP_PROT_PCT1_CLIENT = 0x02,
SP_PROT_SSL2_SERVER = 0x04,
SP_PROT_SSL2_CLIENT = 0x08,
SP_PROT_SSL3_SERVER = 0x10,
SP_PROT_SSL3_CLIENT = 0x20,
SP_PROT_TLS1_SERVER = 0x40,
SP_PROT_TLS1_CLIENT = 0x80,
SP_PROT_PCT1 = SP_PROT_PCT1_CLIENT | SP_PROT_PCT1_SERVER,
SP_PROT_TLS1 = SP_PROT_TLS1_CLIENT | SP_PROT_TLS1_SERVER,
SP_PROT_SSL2 = SP_PROT_SSL2_CLIENT | SP_PROT_SSL2_SERVER,
SP_PROT_SSL3 = SP_PROT_SSL3_CLIENT | SP_PROT_SSL3_SERVER;
enum DWORD
SCH_CRED_NO_SYSTEM_MAPPER = 0x0002,
SCH_CRED_NO_SERVERNAME_CHECK = 0x0004,
SCH_CRED_MANUAL_CRED_VALIDATION = 0x0008,
SCH_CRED_NO_DEFAULT_CREDS = 0x0010,
SCH_CRED_AUTO_CRED_VALIDATION = 0x0020,
SCH_CRED_USE_DEFAULT_CREDS = 0x0040,
SCH_CRED_REVOCATION_CHECK_END_CERT = 0x0100,
SCH_CRED_REVOCATION_CHECK_CHAIN = 0x0200,
SCH_CRED_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT = 0x0400,
SCH_CRED_IGNORE_NO_REVOCATION_CHECK = 0x0800,
SCH_CRED_IGNORE_REVOCATION_OFFLINE = 0x1000;
// No definition - presumably an opaque structure
struct _HMAPPER;
struct SCHANNEL_CRED {
DWORD dwVersion = SCHANNEL_CRED_VERSION;
DWORD cCreds;
PCCERT_CONTEXT* paCred;
HCERTSTORE hRootStore;
DWORD cMappers;
_HMAPPER** aphMappers;
DWORD cSupportedAlgs;
ALG_ID* palgSupportedAlgs;
DWORD grbitEnabledProtocols;
DWORD dwMinimumCypherStrength;
DWORD dwMaximumCypherStrength;
DWORD dwSessionLifespan;
DWORD dwFlags;
DWORD reserved;
}
alias SCHANNEL_CRED* PSCHANNEL_CRED;
struct SecPkgCred_SupportedAlgs {
DWORD cSupportedAlgs;
ALG_ID* palgSupportedAlgs;
}
alias SecPkgCred_SupportedAlgs* PSecPkgCred_SupportedAlgs;
struct SecPkgCred_CypherStrengths {
DWORD dwMinimumCypherStrength;
DWORD dwMaximumCypherStrength;
}
alias SecPkgCred_CypherStrengths* PSecPkgCred_CypherStrengths;
struct SecPkgCred_SupportedProtocols {
DWORD grbitProtocol;
}
alias SecPkgCred_SupportedProtocols* PSecPkgCred_SupportedProtocols;
struct SecPkgContext_IssuerListInfoEx {
PCERT_NAME_BLOB aIssuers;
DWORD cIssuers;
}
alias SecPkgContext_IssuerListInfoEx* PSecPkgContext_IssuerListInfoEx;
struct SecPkgContext_ConnectionInfo {
DWORD dwProtocol;
ALG_ID aiCipher;
DWORD dwCipherStrength;
ALG_ID aiHash;
DWORD dwHashStrength;
ALG_ID aiExch;
DWORD dwExchStrength;
}
alias SecPkgContext_ConnectionInfo* PSecPkgContext_ConnectionInfo;