diff -r 000000000000 -r 76b1f169d9fe mingw-5.1.4/win32/include/schannel.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mingw-5.1.4/win32/include/schannel.h Fri Apr 03 17:16:45 2009 +0100 @@ -0,0 +1,90 @@ +#ifndef _SCHANNEL_H +#define _SCHANNEL_H +#if __GNUC__ >=3 +#pragma GCC system_header +#endif + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define SCHANNEL_CRED_VERSION 4 +#define SCHANNEL_SHUTDOWN 1 +/* ? Do these belong here or in wincrypt.h */ +#define AUTHTYPE_CLIENT 1 +#define AUTHTYPE_SERVER 2 + +#define SP_PROT_TLS1_CLIENT 128 +#define SP_PROT_TLS1_SERVER 64 +#define SP_PROT_SSL3_CLIENT 32 +#define SP_PROT_SSL3_SERVER 16 +#define SP_PROT_SSL2_CLIENT 8 +#define SP_PROT_SSL2_SERVER 4 +#define SP_PROT_PCT1_SERVER 1 +#define SP_PROT_PCT1_CLIENT 2 + +#define SP_PROT_PCT1 (SP_PROT_PCT1_CLIENT|SP_PROT_PCT1_SERVER) +#define SP_PROT_TLS1 (SP_PROT_TLS1_CLIENT|SP_PROT_TLS1_SERVER) +#define SP_PROT_SSL2 (SP_PROT_SSL2_CLIENT|SP_PROT_SSL2_SERVER) +#define SP_PROT_SSL3 (SP_PROT_SSL3_CLIENT|SP_PROT_SSL3_SERVER) + +#define SCH_CRED_NO_SYSTEM_MAPPER 2 +#define SCH_CRED_NO_SERVERNAME_CHECK 4 +#define SCH_CRED_MANUAL_CRED_VALIDATION 8 +#define SCH_CRED_NO_DEFAULT_CREDS 16 +#define SCH_CRED_AUTO_CRED_VALIDATION 32 +#define SCH_CRED_REVOCATION_CHECK_CHAIN 512 +#define SCH_CRED_REVOCATION_CHECK_END_CERT 256 +#define SCH_CRED_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT 1024 +#define SCH_CRED_IGNORE_NO_REVOCATION_CHECK 2048 +#define SCH_CRED_IGNORE_REVOCATION_OFFLINE 4096 +#define SCH_CRED_USE_DEFAULT_CREDS 64 + +typedef struct _SCHANNEL_CRED { + DWORD dwVersion; + DWORD cCreds; + PCCERT_CONTEXT* paCred; + HCERTSTORE hRootStore; + DWORD cMappers; + struct _HMAPPER** aphMappers; + DWORD cSupportedAlgs; + ALG_ID* palgSupportedAlgs; + DWORD grbitEnabledProtocols; + DWORD dwMinimumCypherStrength; + DWORD dwMaximumCypherStrength; + DWORD dwSessionLifespan; + DWORD dwFlags; + DWORD reserved; +} SCHANNEL_CRED, *PSCHANNEL_CRED; +typedef struct _SecPkgCred_SupportedAlgs { + DWORD cSupportedAlgs; + ALG_ID* palgSupportedAlgs; +} SecPkgCred_SupportedAlgs, *PSecPkgCred_SupportedAlgs; +typedef struct _SecPkgCred_CypherStrengths { + DWORD dwMinimumCypherStrength; + DWORD dwMaximumCypherStrength; +} SecPkgCred_CypherStrengths, *PSecPkgCred_CypherStrengths; +typedef struct _SecPkgCred_SupportedProtocols { + DWORD grbitProtocol; +} SecPkgCred_SupportedProtocols, *PSecPkgCred_SupportedProtocols; +typedef struct _SecPkgContext_IssuerListInfoEx { + PCERT_NAME_BLOB aIssuers; + DWORD cIssuers; +} SecPkgContext_IssuerListInfoEx, *PSecPkgContext_IssuerListInfoEx; +typedef struct _SecPkgContext_ConnectionInfo { + DWORD dwProtocol; + ALG_ID aiCipher; + DWORD dwCipherStrength; + ALG_ID aiHash; + DWORD dwHashStrength; + ALG_ID aiExch; + DWORD dwExchStrength; +} SecPkgContext_ConnectionInfo, *PSecPkgContext_ConnectionInfo; + +#ifdef __cplusplus +} +#endif + +#endif /* _SCHANNEL_H */