1 /** @file
2   Internal include file for TlsLib.
3 
4 Copyright (c) 2016, 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 #include <Library/BaseCryptLib.h>
19 #include <openssl/ssl.h>
20 #include <openssl/bio.h>
21 #include <openssl/err.h>
22 
23 typedef struct {
24   //
25   // Main SSL Connection which is created by a server or a client
26   // per established connection.
27   //
28   SSL                             *Ssl;
29   //
30   // Memory BIO for the TLS/SSL Reading operations.
31   //
32   BIO                             *InBio;
33   //
34   // Memory BIO for the TLS/SSL Writing operations.
35   //
36   BIO                             *OutBio;
37 } TLS_CONNECTION;
38 
39 #endif
40