diff win32/schannel.d @ 1:4a9dcbd9e54f

-files of 0.13 beta -fixes so that it now compiles with the current dmd version
author marton@basel.hu
date Tue, 05 Apr 2011 20:44:01 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/win32/schannel.d	Tue Apr 05 20:44:01 2011 +0200
@@ -0,0 +1,106 @@
+/***********************************************************************\
+*                               schannel.d                              *
+*                                                                       *
+*                       Windows API header module                       *
+*                                                                       *
+*                 Translated from MinGW Windows headers                 *
+*                           by Stewart Gordon                           *
+*                                                                       *
+*                       Placed into public domain                       *
+\***********************************************************************/
+module win32.schannel;
+
+import win32.wincrypt;
+private import win32.windef;
+
+const DWORD SCHANNEL_CRED_VERSION = 4;
+const SCHANNEL_SHUTDOWN           = 1;
+/* Comment from MinGW
+	? Do these belong here or in wincrypt.h
+ */
+enum : DWORD {
+	AUTHTYPE_CLIENT = 1,
+	AUTHTYPE_SERVER = 2
+}
+
+const 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;
+
+const 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;