3f18a461a8d17dcf58beab320e2a393f72c1f852
[mirror_edk2.git] / CryptoPkg / Library / TlsLib / InternalTlsLib.h
1 /** @file
2 Internal include file for TlsLib.
3
4 Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.<BR>
5 This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13 **/
14
15 #ifndef __INTERNAL_TLS_LIB_H__
16 #define __INTERNAL_TLS_LIB_H__
17
18 #undef _WIN32
19 #undef _WIN64
20
21 #include <Library/BaseCryptLib.h>
22 #include <Library/BaseLib.h>
23 #include <Library/BaseMemoryLib.h>
24 #include <Library/DebugLib.h>
25 #include <openssl/ssl.h>
26 #include <openssl/bio.h>
27 #include <openssl/err.h>
28
29 typedef struct {
30 //
31 // Main SSL Connection which is created by a server or a client
32 // per established connection.
33 //
34 SSL *Ssl;
35 //
36 // Memory BIO for the TLS/SSL Reading operations.
37 //
38 BIO *InBio;
39 //
40 // Memory BIO for the TLS/SSL Writing operations.
41 //
42 BIO *OutBio;
43 } TLS_CONNECTION;
44
45 #endif
46