comparison 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
comparison
equal deleted inserted replaced
0:586e4a649642 1:4a9dcbd9e54f
1 /***********************************************************************\
2 * schannel.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 \***********************************************************************/
11 module win32.schannel;
12
13 import win32.wincrypt;
14 private import win32.windef;
15
16 const DWORD SCHANNEL_CRED_VERSION = 4;
17 const SCHANNEL_SHUTDOWN = 1;
18 /* Comment from MinGW
19 ? Do these belong here or in wincrypt.h
20 */
21 enum : DWORD {
22 AUTHTYPE_CLIENT = 1,
23 AUTHTYPE_SERVER = 2
24 }
25
26 const DWORD
27 SP_PROT_PCT1_SERVER = 0x01,
28 SP_PROT_PCT1_CLIENT = 0x02,
29 SP_PROT_SSL2_SERVER = 0x04,
30 SP_PROT_SSL2_CLIENT = 0x08,
31 SP_PROT_SSL3_SERVER = 0x10,
32 SP_PROT_SSL3_CLIENT = 0x20,
33 SP_PROT_TLS1_SERVER = 0x40,
34 SP_PROT_TLS1_CLIENT = 0x80,
35 SP_PROT_PCT1 = SP_PROT_PCT1_CLIENT | SP_PROT_PCT1_SERVER,
36 SP_PROT_TLS1 = SP_PROT_TLS1_CLIENT | SP_PROT_TLS1_SERVER,
37 SP_PROT_SSL2 = SP_PROT_SSL2_CLIENT | SP_PROT_SSL2_SERVER,
38 SP_PROT_SSL3 = SP_PROT_SSL3_CLIENT | SP_PROT_SSL3_SERVER;
39
40 const DWORD
41 SCH_CRED_NO_SYSTEM_MAPPER = 0x0002,
42 SCH_CRED_NO_SERVERNAME_CHECK = 0x0004,
43 SCH_CRED_MANUAL_CRED_VALIDATION = 0x0008,
44 SCH_CRED_NO_DEFAULT_CREDS = 0x0010,
45 SCH_CRED_AUTO_CRED_VALIDATION = 0x0020,
46 SCH_CRED_USE_DEFAULT_CREDS = 0x0040,
47 SCH_CRED_REVOCATION_CHECK_END_CERT = 0x0100,
48 SCH_CRED_REVOCATION_CHECK_CHAIN = 0x0200,
49 SCH_CRED_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT = 0x0400,
50 SCH_CRED_IGNORE_NO_REVOCATION_CHECK = 0x0800,
51 SCH_CRED_IGNORE_REVOCATION_OFFLINE = 0x1000;
52
53 // No definition - presumably an opaque structure
54 struct _HMAPPER;
55
56 struct SCHANNEL_CRED {
57 DWORD dwVersion = SCHANNEL_CRED_VERSION;
58 DWORD cCreds;
59 PCCERT_CONTEXT* paCred;
60 HCERTSTORE hRootStore;
61 DWORD cMappers;
62 _HMAPPER** aphMappers;
63 DWORD cSupportedAlgs;
64 ALG_ID* palgSupportedAlgs;
65 DWORD grbitEnabledProtocols;
66 DWORD dwMinimumCypherStrength;
67 DWORD dwMaximumCypherStrength;
68 DWORD dwSessionLifespan;
69 DWORD dwFlags;
70 DWORD reserved;
71 }
72 alias SCHANNEL_CRED* PSCHANNEL_CRED;
73
74 struct SecPkgCred_SupportedAlgs {
75 DWORD cSupportedAlgs;
76 ALG_ID* palgSupportedAlgs;
77 }
78 alias SecPkgCred_SupportedAlgs* PSecPkgCred_SupportedAlgs;
79
80 struct SecPkgCred_CypherStrengths {
81 DWORD dwMinimumCypherStrength;
82 DWORD dwMaximumCypherStrength;
83 }
84 alias SecPkgCred_CypherStrengths* PSecPkgCred_CypherStrengths;
85
86 struct SecPkgCred_SupportedProtocols {
87 DWORD grbitProtocol;
88 }
89 alias SecPkgCred_SupportedProtocols* PSecPkgCred_SupportedProtocols;
90
91 struct SecPkgContext_IssuerListInfoEx {
92 PCERT_NAME_BLOB aIssuers;
93 DWORD cIssuers;
94 }
95 alias SecPkgContext_IssuerListInfoEx* PSecPkgContext_IssuerListInfoEx;
96
97 struct SecPkgContext_ConnectionInfo {
98 DWORD dwProtocol;
99 ALG_ID aiCipher;
100 DWORD dwCipherStrength;
101 ALG_ID aiHash;
102 DWORD dwHashStrength;
103 ALG_ID aiExch;
104 DWORD dwExchStrength;
105 }
106 alias SecPkgContext_ConnectionInfo* PSecPkgContext_ConnectionInfo;