3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Copyright (C) 2005 Juan Lang
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is free software; you can redistribute it and/or
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * modify it under the terms of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License as published by the Free Software Foundation; either
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * version 2.1 of the License, or (at your option) any later version.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is distributed in the hope that it will be useful,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Lesser General Public License for more details.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * You should have received a copy of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License along with this library; if not, write to the Free Software
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync */
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync/*
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * a choice of LGPL license versions is made available with the language indicating
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * of the LGPL is applied is otherwise unspecified.
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync */
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifndef __WINE_SCHANNEL_H__
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define __WINE_SCHANNEL_H__
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#include <wincrypt.h>
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Package names */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define UNISP_NAME_A "Microsoft Unified Security Protocol Provider"
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#if defined(__GNUC__)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define UNISP_NAME_W (const WCHAR []){ 'M','i','c','r','o','s','o','f','t',\
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ' ','U','n','i','f','i','e','d',' ','S','e','c','u','r','i','t','y',' ',\
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync 'P','r','o','t','o','c','o','l',' ','P','r','o','v','i','d','e','r',0 }
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#elif defined(_MSC_VER)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define UNISP_NAME_W L"Microsoft Unified Security Protocol Provider"
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#else
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncstatic const WCHAR UNISP_NAME_W[] = { 'M','i','c','r','o','s','o','f','t',
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ' ','U','n','i','f','i','e','d',' ','S','e','c','u','r','i','t','y',' ',
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync 'P','r','o','t','o','c','o','l',' ','P','r','o','v','i','d','e','r',0 };
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define UNISP_NAME WINELIB_NAME_AW(UNISP_NAME_)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SSL2SP_NAME_A "Microsoft SSL 2.0"
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#if defined(__GNUC__)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SSL2SP_NAME_W (const WCHAR []){ 'M','i','c','r','o','s','o','f','t',\
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ' ','S','S','L',' ','2','.','0',0 }
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#elif defined(_MSC_VER)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SSL2SP_NAME_W L"Microsoft SSL 2.0"
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#else
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncstatic const WCHAR SSL2SP_NAME_W[] = { 'M','i','c','r','o','s','o','f','t',
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ' ','S','S','L',' ','2','.','0',0 };
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SSL2SP_NAME WINELIB_NAME_AW(SSL2SP_NAME_)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SSL3SP_NAME_A "Microsoft SSL 3.0"
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#if defined(__GNUC__)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SSL3SP_NAME_W (const WCHAR []){ 'M','i','c','r','o','s','o','f','t',\
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ' ','S','S','L',' ','3','.','0',0 }
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#elif defined(_MSC_VER)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SSL3SP_NAME_W L"Microsoft SSL 3.0"
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#else
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncstatic const WCHAR SSL3SP_NAME_W[] = { 'M','i','c','r','o','s','o','f','t',
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ' ','S','S','L',' ','3','.','0',0 };
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SSL3SP_NAME WINELIB_NAME_AW(SSL3SP_NAME_)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define TLS1SP_NAME_A "Microsoft TLS 1.0"
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#if defined(__GNUC__)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define TLS1SP_NAME_W (const WCHAR []){ 'M','i','c','r','o','s','o','f','t',\
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ' ','T','L','S',' ','1','.','0',0 }
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#elif defined(_MSC_VER)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define TLS1SP_NAME_W L"Microsoft TLS 1.0"
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#else
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncstatic const WCHAR TLS1SP_NAME_W[] = { 'M','i','c','r','o','s','o','f','t',
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ' ','T','L','S',' ','1','.','0',0 };
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define TLS1SP_NAME WINELIB_NAME_AW(TLS1SP_NAME_)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PCT1SP_NAME_A "Microsoft PCT 1.0"
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#if defined(__GNUC__)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PCT1SP_NAME_W (const WCHAR []){ 'M','i','c','r','o','s','o','f','t',\
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ' ','P','C','T',' ','1','.','0',0 }
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#elif defined(_MSC_VER)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PCT1SP_NAME_W L"Microsoft PCT 1.0"
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#else
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncstatic const WCHAR PCT1SP_NAME_W[] = { 'M','i','c','r','o','s','o','f','t',
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ' ','P','C','T',' ','1','.','0',0 };
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define PCT1SP_NAME WINELIB_NAME_AW(PCT1SP_NAME_)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SCHANNEL_NAME_A "Schannel"
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#if defined(__GNUC__)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SCHANNEL_NAME_W (const WCHAR []){ 'S','c','h','a','n','n','e','l',0 }
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#elif defined(_MSC_VER)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SCHANNEL_NAME_W L"Schannel"
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#else
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncstatic const WCHAR SCHANNEL_NAME_W[] = { 'S','c','h','a','n','n','e','l',0 };
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SCHANNEL_NAME WINELIB_NAME_AW(SCHANNEL_NAME_)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SCH_CRED_V1 1
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SCH_CRED_V2 2
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SCH_CRED_VERSION 2
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SCH_CRED_V3 3
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SCHANNEL_CRED_VERSION 4
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SCHANNEL_RENEGOTIATE 0
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SCHANNEL_SHUTDOWN 1
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SCHANNEL_ALERT 2
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SCHANNEL_SESSION 3
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_ALL 0xffffffff
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_UNI_CLIENT 0x80000000
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_UNI_SERVER 0x40000000
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_TLS1_2_CLIENT 0x00000800
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_TLS1_2_SERVER 0x00000400
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_TLS1_1_CLIENT 0x00000200
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_TLS1_1_SERVER 0x00000100
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_TLS1_0_CLIENT SP_PROT_TLS1_CLIENT
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_TLS1_0_SERVER SP_PROT_TLS1_SERVER
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_TLS1_CLIENT 0x00000080
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_TLS1_SERVER 0x00000040
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_SSL3_CLIENT 0x00000020
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_SSL3_SERVER 0x00000010
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_SSL2_CLIENT 0x00000008
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_SSL2_SERVER 0x00000004
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_PCT1_CLIENT 0x00000002
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_PCT1_SERVER 0x00000001
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_NONE 0x00000000
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_UNI (SP_PROT_UNI_CLIENT | SP_PROT_UNI_SERVER)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_TLS1_2 (SP_PROT_TLS1_2_CLIENT | SP_PROT_TLS1_2_SERVER)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_TLS1_1 (SP_PROT_TLS1_1_CLIENT | SP_PROT_TLS1_1_SERVER)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_TLS1_0 (SP_PROT_TLS1_0_CLIENT | SP_PROT_TLS1_0_SERVER)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_TLS1 (SP_PROT_TLS1_CLIENT | SP_PROT_TLS1_SERVER)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_SSL3 (SP_PROT_SSL3_CLIENT | SP_PROT_SSL3_SERVER)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_SSL2 (SP_PROT_SSL2_CLIENT | SP_PROT_SSL2_SERVER)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_PCT1 (SP_PROT_PCT1_CLIENT | SP_PROT_PCT1_SERVER)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_SSL3TLS1_CLIENTS (SP_PROT_SSL3_CLIENT | SP_PROT_TLS1_CLIENT)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_SSL3TLS1_SERVERS (SP_PROT_SSL3_SERVER | SP_PROT_TLS1_SERVER)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_SSL3TLS1_X_CLIENTS (SP_PROT_SSL3_CLIENT | SP_PROT_TLS1_X_CLIENT)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_SSL3TLS1_X_SERVERS (SP_PROT_SSL3_SERVER | SP_PROT_TLS1_X_SERVER)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_TLS1_X_CLIENT (SP_PROT_TLS1_0_CLIENT | SP_PROT_TLS1_1_CLIENT | SP_PROT_TLS1_2_CLIENT)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_TLS1_X_SERVER (SP_PROT_TLS1_0_SERVER | SP_PROT_TLS1_1_SERVER | SP_PROT_TLS1_2_SERVER)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_TLS1_1PLUS_CLIENT (SP_PROT_TLS1_1_CLIENT | SP_PROT_TLS1_2_CLIENT)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_TLS1_1PLUS_SERVER (SP_PROT_TLS1_1_SERVER | SP_PROT_TLS1_2_SERVER)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_CLIENTS (SP_PROT_PCT1_CLIENT | SP_PROT_SSL2_CLIENT | SP_PROT_SSL3_CLIENT \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync | SP_PROT_TLS1_CLIENT | SP_PROT_UNI_CLIENT)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_SERVERS (SP_PROT_PCT1_SERVER | SP_PROT_SSL2_SERVER | SP_PROT_SSL3_SERVER \
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync | SP_PROT_TLS1_SERVER | SP_PROT_UNI_SERVER)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_X_CLIENTS (SP_PROT_CLIENTS | SP_PROT_TLS1_X_CLIENT)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_X_SERVERS (SP_PROT_SERVERS | SP_PROT_TLS1_X_SERVER)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_SSL3TLS1 (SP_PROT_SSL3 | SP_PROT_TLS1)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_SSL3TLS1_X (SP_PROT_SSL3 | SP_PROT_TLS1_X)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_TLS1_X (SP_PROT_TLS1_X_CLIENT | SP_PROT_TLS1_X_SERVER)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SP_PROT_TLS1_1PLUS (SP_PROT_TLS1_1PLUS_CLIENT | SP_PROT_TLS1_1PLUS_SERVER)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SCH_CRED_NO_SYSTEM_MAPPER 2
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SCH_CRED_NO_SERVERNAME_CHECK 4
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SCH_CRED_MANUAL_CRED_VALIDATION 8
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SCH_CRED_NO_DEFAULT_CREDS 16
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SCH_CRED_AUTO_CRED_VALIDATION 32
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SCH_CRED_USE_DEFAULT_CREDS 64
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SCH_CRED_REVOCATION_CHECK_CHAIN_END_CERT 256
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SCH_CRED_REVOCATION_CHECK_CHAIN 512
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SCH_CRED_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT 1024
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SCH_CRED_IGNORE_NO_REVOCATION_CHECK 2048
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SCH_CRED_IGNORE_REVOCATION_OFFLINE 4096
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SECPKG_ATTR_ISSUER_LIST 0x50
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SECPKG_ATTR_REMOTE_CRED 0x51
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SECPKG_ATTR_LOCAL_CRED 0x52
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SECPKG_ATTR_REMOTE_CERT_CONTEXT 0x53
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SECPKG_ATTR_LOCAL_CERT_CONTEXT 0x54
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SECPKG_ATTR_ROOT_STORE 0x55
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SECPKG_ATTR_SUPPORTED_ALGS 0x56
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SECPKG_ATTR_CIPHER_STRENGTHS 0x57
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SECPKG_ATTR_SUPPORTED_PROTOCOLS 0x58
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SECPKG_ATTR_ISSUER_LIST_EX 0x59
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SECPKG_ATTR_CONNECTION_INFO 0x5a
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SECPKG_ATTR_EAP_KEY_BLOCK 0x5b
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SECPKG_ATTR_MAPPED_CRED_ATTR 0x5c
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SECPKG_ATTR_SESSION_INFO 0x5d
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SECPKG_ATTR_APP_DATA 0x5e
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define UNISP_RPC_ID 14
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncstruct _HMAPPER;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SCHANNEL_CRED
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwVersion;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD cCreds;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PCCERT_CONTEXT *paCred;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync HCERTSTORE hRootStore;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD cMappers;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync struct _HMAPPER **aphMappers;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD cSupportedAlgs;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ALG_ID *palgSupportedAlgs;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD grbitEnabledProtocols;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwMinimumCipherStrength;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwMaximumCipherStrength;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwSessionLifespan;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwFlags;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwCredFormat;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SCHANNEL_CRED, *PSCHANNEL_CRED;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SecPkgCred_SupportedAlgs
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD cSupportedAlgs;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ALG_ID *palgSupportedAlgs;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SecPkgCred_SupportedAlgs, *PSecPkgCred_SupportedAlgs;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SecPkgCred_CipherStrengths
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwMinimumCipherStrength;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwMaximumCipherStrength;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SecPkgCred_CipherStrengths, *PSecPkgCred_CipherStrengths;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SecPkgCred_SupportedProtocols
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD grbitProtocol;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SecPkgCred_SupportedProtocols, *PSecPkgCred_SupportedProtocols;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SecPkgContext_IssuerListInfoEx
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync PCERT_NAME_BLOB aIssuers;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD cIssuers;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SecPkgContext_IssuerListInfoEx, *PSecPkgContext_IssuerListInfoEx;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SecPkgContext_ConnectionInfo
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwProtocol;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ALG_ID aiCipher;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwCipherStrength;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ALG_ID aiHash;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwHashStrength;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ALG_ID aiExch;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwExchStrength;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SecPkgContext_ConnectionInfo, *PSecPkgContext_ConnectionInfo;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif /* __WINE_SCHANNEL_H__ */