VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/Graphics/Wine/include/schannel.h@ 20612

Last change on this file since 20612 was 20612, checked in by vboxsync, 16 years ago

crOpenGL: update wine to 1.1.23

  • Property svn:eol-style set to native
File size: 7.5 KB
Line 
1/*
2 * Copyright (C) 2005 Juan Lang
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19/*
20 * Sun LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
21 * other than GPL or LGPL is available it will apply instead, Sun elects to use only
22 * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
23 * a choice of LGPL license versions is made available with the language indicating
24 * that LGPLv2 or any later version may be used, or where a choice of which version
25 * of the LGPL is applied is otherwise unspecified.
26 */
27#ifndef __WINE_SCHANNEL_H__
28#define __WINE_SCHANNEL_H__
29
30#include <wincrypt.h>
31
32/* Package names */
33#define UNISP_NAME_A "Microsoft Unified Security Protocol Provider"
34#if defined(__GNUC__)
35#define UNISP_NAME_W (const WCHAR []){ 'M','i','c','r','o','s','o','f','t',\
36 ' ','U','n','i','f','i','e','d',' ','S','e','c','u','r','i','t','y',' ',\
37 'P','r','o','t','o','c','o','l',' ','P','r','o','v','i','d','e','r',0 }
38#elif defined(_MSC_VER)
39#define UNISP_NAME_W L"Microsoft Unified Security Protocol Provider"
40#else
41static const WCHAR UNISP_NAME_W[] = { 'M','i','c','r','o','s','o','f','t',
42 ' ','U','n','i','f','i','e','d',' ','S','e','c','u','r','i','t','y',' ',
43 'P','r','o','t','o','c','o','l',' ','P','r','o','v','i','d','e','r',0 };
44#endif
45#define UNISP_NAME WINELIB_NAME_AW(UNISP_NAME_)
46
47#define SSL2SP_NAME_A "Microsoft SSL 2.0"
48#if defined(__GNUC__)
49#define SSL2SP_NAME_W (const WCHAR []){ 'M','i','c','r','o','s','o','f','t',\
50 ' ','S','S','L',' ','2','.','0',0 }
51#elif defined(_MSC_VER)
52#define SSL2SP_NAME_W L"Microsoft SSL 2.0"
53#else
54static const WCHAR SSL2SP_NAME_W[] = { 'M','i','c','r','o','s','o','f','t',
55 ' ','S','S','L',' ','2','.','0',0 };
56#endif
57#define SSL2SP_NAME WINELIB_NAME_AW(SSL2SP_NAME_)
58
59#define SSL3SP_NAME_A "Microsoft SSL 3.0"
60#if defined(__GNUC__)
61#define SSL3SP_NAME_W (const WCHAR []){ 'M','i','c','r','o','s','o','f','t',\
62 ' ','S','S','L',' ','3','.','0',0 }
63#elif defined(_MSC_VER)
64#define SSL3SP_NAME_W L"Microsoft SSL 3.0"
65#else
66static const WCHAR SSL3SP_NAME_W[] = { 'M','i','c','r','o','s','o','f','t',
67 ' ','S','S','L',' ','3','.','0',0 };
68#endif
69#define SSL3SP_NAME WINELIB_NAME_AW(SSL3SP_NAME_)
70
71#define TLS1SP_NAME_A "Microsoft TLS 1.0"
72#if defined(__GNUC__)
73#define TLS1SP_NAME_W (const WCHAR []){ 'M','i','c','r','o','s','o','f','t',\
74 ' ','T','L','S',' ','1','.','0',0 }
75#elif defined(_MSC_VER)
76#define TLS1SP_NAME_W L"Microsoft TLS 1.0"
77#else
78static const WCHAR TLS1SP_NAME_W[] = { 'M','i','c','r','o','s','o','f','t',
79 ' ','T','L','S',' ','1','.','0',0 };
80#endif
81#define TLS1SP_NAME WINELIB_NAME_AW(TLS1SP_NAME_)
82
83#define PCT1SP_NAME_A "Microsoft PCT 1.0"
84#if defined(__GNUC__)
85#define PCT1SP_NAME_W (const WCHAR []){ 'M','i','c','r','o','s','o','f','t',\
86 ' ','P','C','T',' ','1','.','0',0 }
87#elif defined(_MSC_VER)
88#define PCT1SP_NAME_W L"Microsoft PCT 1.0"
89#else
90static const WCHAR PCT1SP_NAME_W[] = { 'M','i','c','r','o','s','o','f','t',
91 ' ','P','C','T',' ','1','.','0',0 };
92#endif
93#define PCT1SP_NAME WINELIB_NAME_AW(PCT1SP_NAME_)
94
95#define SCHANNEL_NAME_A "Schannel"
96#if defined(__GNUC__)
97#define SCHANNEL_NAME_W (const WCHAR []){ 'S','c','h','a','n','n','e','l',0 }
98#elif defined(_MSC_VER)
99#define SCHANNEL_NAME_W L"Schannel"
100#else
101static const WCHAR SCHANNEL_NAME_W[] = { 'S','c','h','a','n','n','e','l',0 };
102#endif
103#define SCHANNEL_NAME WINELIB_NAME_AW(SCHANNEL_NAME_)
104
105#define SCH_CRED_V1 1
106#define SCH_CRED_V2 2
107#define SCH_CRED_VERSION 2
108#define SCH_CRED_V3 3
109#define SCHANNEL_CRED_VERSION 4
110
111#define SCHANNEL_RENEGOTIATE 0
112#define SCHANNEL_SHUTDOWN 1
113#define SCHANNEL_ALERT 2
114#define SCHANNEL_SESSION 3
115
116#define SP_PROT_TLS1_CLIENT 128
117#define SP_PROT_TLS1_SERVER 64
118#define SP_PROT_SSL3_CLIENT 32
119#define SP_PROT_SSL3_SERVER 16
120#define SP_PROT_SSL2_CLIENT 8
121#define SP_PROT_SSL2_SERVER 4
122#define SP_PROT_PCT1_CLIENT 2
123#define SP_PROT_PCT1_SERVER 1
124
125#define SP_PROT_TLS1 (SP_PROT_TLS1_CLIENT | SP_PROT_TLS1_SERVER)
126#define SP_PROT_SSL3 (SP_PROT_SSL3_CLIENT | SP_PROT_SSL3_SERVER)
127#define SP_PROT_SSL2 (SP_PROT_SSL2_CLIENT | SP_PROT_SSL2_SERVER)
128#define SP_PROT_PCT1 (SP_PROT_PCT1_CLIENT | SP_PROT_PCT1_SERVER)
129
130#define SCH_CRED_NO_SYSTEM_MAPPER 2
131#define SCH_CRED_NO_SERVERNAME_CHECK 4
132#define SCH_CRED_MANUAL_CRED_VALIDATION 8
133#define SCH_CRED_NO_DEFAULT_CREDS 16
134#define SCH_CRED_AUTO_CRED_VALIDATION 32
135#define SCH_CRED_USE_DEFAULT_CREDS 64
136#define SCH_CRED_REVOCATION_CHECK_CHAIN_END_CERT 256
137#define SCH_CRED_REVOCATION_CHECK_CHAIN 512
138#define SCH_CRED_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT 1024
139#define SCH_CRED_IGNORE_NO_REVOCATION_CHECK 2048
140#define SCH_CRED_IGNORE_REVOCATION_OFFLINE 4096
141
142#define SECPKG_ATTR_ISSUER_LIST 0x50
143#define SECPKG_ATTR_REMOTE_CRED 0x51
144#define SECPKG_ATTR_LOCAL_CRED 0x52
145#define SECPKG_ATTR_REMOTE_CERT_CONTEXT 0x53
146#define SECPKG_ATTR_LOCAL_CERT_CONTEXT 0x54
147#define SECPKG_ATTR_ROOT_STORE 0x55
148#define SECPKG_ATTR_SUPPORTED_ALGS 0x56
149#define SECPKG_ATTR_CIPHER_STRENGTHS 0x57
150#define SECPKG_ATTR_SUPPORTED_PROTOCOLS 0x58
151#define SECPKG_ATTR_ISSUER_LIST_EX 0x59
152#define SECPKG_ATTR_CONNECTION_INFO 0x5a
153#define SECPKG_ATTR_EAP_KEY_BLOCK 0x5b
154#define SECPKG_ATTR_MAPPED_CRED_ATTR 0x5c
155#define SECPKG_ATTR_SESSION_INFO 0x5d
156#define SECPKG_ATTR_APP_DATA 0x5e
157
158#define UNISP_RPC_ID 14
159
160struct _HMAPPER;
161
162typedef struct _SCHANNEL_CRED
163{
164 DWORD dwVersion;
165 DWORD cCreds;
166 PCCERT_CONTEXT *paCred;
167 HCERTSTORE hRootStore;
168 DWORD cMappers;
169 struct _HMAPPER **aphMappers;
170 DWORD cSupportedAlgs;
171 ALG_ID *palgSupportedAlgs;
172 DWORD grbitEnabledProtocols;
173 DWORD dwMinimumCipherStrength;
174 DWORD dwMaximumCipherStrength;
175 DWORD dwSessionLifespan;
176 DWORD dwFlags;
177 DWORD dwCredFormat;
178} SCHANNEL_CRED, *PSCHANNEL_CRED;
179
180typedef struct _SecPkgCred_SupportedAlgs
181{
182 DWORD cSupportedAlgs;
183 ALG_ID *palgSupportedAlgs;
184} SecPkgCred_SupportedAlgs, *PSecPkgCred_SupportedAlgs;
185
186typedef struct _SecPkgCred_CipherStrengths
187{
188 DWORD dwMinimumCipherStrength;
189 DWORD dwMaximumCipherStrength;
190} SecPkgCred_CipherStrengths, *PSecPkgCred_CipherStrengths;
191
192typedef struct _SecPkgCred_SupportedProtocols
193{
194 DWORD grbitProtocol;
195} SecPkgCred_SupportedProtocols, *PSecPkgCred_SupportedProtocols;
196
197typedef struct _SecPkgContext_IssuerListInfoEx
198{
199 PCERT_NAME_BLOB aIssuers;
200 DWORD cIssuers;
201} SecPkgContext_IssuerListInfoEx, *PSecPkgContext_IssuerListInfoEx;
202
203typedef struct _SecPkgContext_ConnectionInfo
204{
205 DWORD dwProtocol;
206 ALG_ID aiCipher;
207 DWORD dwCipherStrength;
208 ALG_ID aiHash;
209 DWORD dwHashStrength;
210 ALG_ID aiExch;
211 DWORD dwExchStrength;
212} SecPkgContext_ConnectionInfo, *PSecPkgContext_ConnectionInfo;
213
214#endif /* __WINE_SCHANNEL_H__ */
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette