mingw-5.1.4/win32/include/schannel.h
changeset 0 76b1f169d9fe
equal deleted inserted replaced
-1:000000000000 0:76b1f169d9fe
       
     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
       
    10 extern "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 
       
    45 typedef 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;
       
    61 typedef struct _SecPkgCred_SupportedAlgs {
       
    62 	DWORD cSupportedAlgs;
       
    63 	ALG_ID* palgSupportedAlgs;
       
    64 } SecPkgCred_SupportedAlgs, *PSecPkgCred_SupportedAlgs;
       
    65 typedef struct _SecPkgCred_CypherStrengths {
       
    66 	DWORD dwMinimumCypherStrength;
       
    67 	DWORD dwMaximumCypherStrength;
       
    68 } SecPkgCred_CypherStrengths, *PSecPkgCred_CypherStrengths;
       
    69 typedef struct _SecPkgCred_SupportedProtocols {
       
    70 	DWORD grbitProtocol;
       
    71 } SecPkgCred_SupportedProtocols, *PSecPkgCred_SupportedProtocols;
       
    72 typedef struct _SecPkgContext_IssuerListInfoEx {
       
    73 	PCERT_NAME_BLOB aIssuers;
       
    74 	DWORD cIssuers;
       
    75 } SecPkgContext_IssuerListInfoEx, *PSecPkgContext_IssuerListInfoEx;
       
    76 typedef 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 */