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