source: Daodan/MinGW/include/schannel.h@ 1098

Last change on this file since 1098 was 1046, checked in by alloc, 8 years ago

Daodan: Added Windows MinGW and build batch file

File size: 2.6 KB
Line 
1#ifndef _SCHANNEL_H
2#define _SCHANNEL_H
3#if __GNUC__ >=3
4#pragma GCC system_header
5#endif
6
7#include <wincrypt.h>
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13#define SCHANNEL_CRED_VERSION 4
14#define SCHANNEL_SHUTDOWN 1
15/* ? Do these belong here or in wincrypt.h */
16#define AUTHTYPE_CLIENT 1
17#define AUTHTYPE_SERVER 2
18
19#define SP_PROT_TLS1_CLIENT 128
20#define SP_PROT_TLS1_SERVER 64
21#define SP_PROT_SSL3_CLIENT 32
22#define SP_PROT_SSL3_SERVER 16
23#define SP_PROT_SSL2_CLIENT 8
24#define SP_PROT_SSL2_SERVER 4
25#define SP_PROT_PCT1_SERVER 1
26#define SP_PROT_PCT1_CLIENT 2
27
28#define SP_PROT_PCT1 (SP_PROT_PCT1_CLIENT|SP_PROT_PCT1_SERVER)
29#define SP_PROT_TLS1 (SP_PROT_TLS1_CLIENT|SP_PROT_TLS1_SERVER)
30#define SP_PROT_SSL2 (SP_PROT_SSL2_CLIENT|SP_PROT_SSL2_SERVER)
31#define SP_PROT_SSL3 (SP_PROT_SSL3_CLIENT|SP_PROT_SSL3_SERVER)
32
33#define SCH_CRED_NO_SYSTEM_MAPPER 2
34#define SCH_CRED_NO_SERVERNAME_CHECK 4
35#define SCH_CRED_MANUAL_CRED_VALIDATION 8
36#define SCH_CRED_NO_DEFAULT_CREDS 16
37#define SCH_CRED_AUTO_CRED_VALIDATION 32
38#define SCH_CRED_REVOCATION_CHECK_CHAIN 512
39#define SCH_CRED_REVOCATION_CHECK_END_CERT 256
40#define SCH_CRED_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT 1024
41#define SCH_CRED_IGNORE_NO_REVOCATION_CHECK 2048
42#define SCH_CRED_IGNORE_REVOCATION_OFFLINE 4096
43#define SCH_CRED_USE_DEFAULT_CREDS 64
44
45typedef struct _SCHANNEL_CRED {
46 DWORD dwVersion;
47 DWORD cCreds;
48 PCCERT_CONTEXT* paCred;
49 HCERTSTORE hRootStore;
50 DWORD cMappers;
51 struct _HMAPPER** aphMappers;
52 DWORD cSupportedAlgs;
53 ALG_ID* palgSupportedAlgs;
54 DWORD grbitEnabledProtocols;
55 DWORD dwMinimumCypherStrength;
56 DWORD dwMaximumCypherStrength;
57 DWORD dwSessionLifespan;
58 DWORD dwFlags;
59 DWORD reserved;
60} SCHANNEL_CRED, *PSCHANNEL_CRED;
61typedef struct _SecPkgCred_SupportedAlgs {
62 DWORD cSupportedAlgs;
63 ALG_ID* palgSupportedAlgs;
64} SecPkgCred_SupportedAlgs, *PSecPkgCred_SupportedAlgs;
65typedef struct _SecPkgCred_CypherStrengths {
66 DWORD dwMinimumCypherStrength;
67 DWORD dwMaximumCypherStrength;
68} SecPkgCred_CypherStrengths, *PSecPkgCred_CypherStrengths;
69typedef struct _SecPkgCred_SupportedProtocols {
70 DWORD grbitProtocol;
71} SecPkgCred_SupportedProtocols, *PSecPkgCred_SupportedProtocols;
72typedef struct _SecPkgContext_IssuerListInfoEx {
73 PCERT_NAME_BLOB aIssuers;
74 DWORD cIssuers;
75} SecPkgContext_IssuerListInfoEx, *PSecPkgContext_IssuerListInfoEx;
76typedef struct _SecPkgContext_ConnectionInfo {
77 DWORD dwProtocol;
78 ALG_ID aiCipher;
79 DWORD dwCipherStrength;
80 ALG_ID aiHash;
81 DWORD dwHashStrength;
82 ALG_ID aiExch;
83 DWORD dwExchStrength;
84} SecPkgContext_ConnectionInfo, *PSecPkgContext_ConnectionInfo;
85
86#ifdef __cplusplus
87}
88#endif
89
90#endif /* _SCHANNEL_H */
Note: See TracBrowser for help on using the repository browser.