summaryrefslogtreecommitdiffstats
path: root/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include
diff options
context:
space:
mode:
Diffstat (limited to 'src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include')
-rw-r--r--src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/CrtLibSupport.h221
-rw-r--r--src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/arpa/inet.h9
-rw-r--r--src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/arpa/nameser.h9
-rw-r--r--src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/assert.h9
-rw-r--r--src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/crypto/dso_conf.h16
-rw-r--r--src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/ctype.h9
-rw-r--r--src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/errno.h9
-rw-r--r--src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/limits.h9
-rw-r--r--src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/memory.h9
-rw-r--r--src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/netinet/in.h9
-rw-r--r--src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/openssl/opensslconf.h351
-rw-r--r--src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/stdarg.h9
-rw-r--r--src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/stddef.h9
-rw-r--r--src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/stdio.h9
-rw-r--r--src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/stdlib.h9
-rw-r--r--src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/string.h9
-rw-r--r--src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/strings.h9
-rw-r--r--src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/sys/param.h9
-rw-r--r--src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/sys/shm.h9
-rw-r--r--src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/sys/socket.h9
-rw-r--r--src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/sys/syscall.h11
-rw-r--r--src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/sys/time.h9
-rw-r--r--src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/sys/types.h9
-rw-r--r--src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/sys/utsname.h9
-rw-r--r--src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/syslog.h9
-rw-r--r--src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/time.h9
-rw-r--r--src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/unistd.h9
27 files changed, 806 insertions, 0 deletions
diff --git a/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/CrtLibSupport.h b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/CrtLibSupport.h
new file mode 100644
index 00000000..fd098c50
--- /dev/null
+++ b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/CrtLibSupport.h
@@ -0,0 +1,221 @@
+/** @file
+ Root include file of C runtime library to support building the third-party
+ cryptographic library.
+
+Copyright (c) 2010 - 2021, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#ifndef __CRT_LIB_SUPPORT_H__
+#define __CRT_LIB_SUPPORT_H__
+
+#include <Library/BaseLib.h>
+#include <Library/BaseMemoryLib.h>
+#include <Library/DebugLib.h>
+#include <Library/PrintLib.h>
+
+#define OPENSSLDIR ""
+#define ENGINESDIR ""
+
+#define MAX_STRING_SIZE 0x1000
+
+//
+// We already have "no-ui" in out Configure invocation.
+// but the code still fails to compile.
+// Ref: https://github.com/openssl/openssl/issues/8904
+//
+// This is defined in CRT library(stdio.h).
+//
+#ifndef BUFSIZ
+#define BUFSIZ 8192
+#endif
+
+//
+// OpenSSL relies on explicit configuration for word size in crypto/bn,
+// but we want it to be automatically inferred from the target. So we
+// bypass what's in <openssl/opensslconf.h> for OPENSSL_SYS_UEFI, and
+// define our own here.
+//
+#ifdef CONFIG_HEADER_BN_H
+#error CONFIG_HEADER_BN_H already defined
+#endif
+
+#define CONFIG_HEADER_BN_H
+
+#if !defined(SIXTY_FOUR_BIT) && !defined (THIRTY_TWO_BIT)
+#if defined(MDE_CPU_X64) || defined(MDE_CPU_AARCH64) || defined(MDE_CPU_IA64) || defined(MDE_CPU_RISCV64)
+//
+// With GCC we would normally use SIXTY_FOUR_BIT_LONG, but MSVC needs
+// SIXTY_FOUR_BIT, because 'long' is 32-bit and only 'long long' is
+// 64-bit. Since using 'long long' works fine on GCC too, just do that.
+//
+#define SIXTY_FOUR_BIT
+#elif defined(MDE_CPU_IA32) || defined(MDE_CPU_ARM) || defined(MDE_CPU_EBC)
+#define THIRTY_TWO_BIT
+#else
+#error Unknown target architecture
+#endif
+#endif
+
+//
+// Map all va_xxxx elements to VA_xxx defined in MdePkg/Include/Base.h
+//
+#if !defined(__CC_ARM) // if va_list is not already defined
+#define va_list VA_LIST
+#define va_arg VA_ARG
+#define va_start VA_START
+#define va_end VA_END
+#else // __CC_ARM
+#define va_start(Marker, Parameter) __va_start(Marker, Parameter)
+#define va_arg(Marker, TYPE) __va_arg(Marker, TYPE)
+#define va_end(Marker) ((void)0)
+#endif
+
+//
+// Definitions for global constants used by CRT library routines
+//
+#define EINVAL 22 /* Invalid argument */
+#define EAFNOSUPPORT 47 /* Address family not supported by protocol family */
+#define INT_MAX 0x7FFFFFFF /* Maximum (signed) int value */
+#define LONG_MAX 0X7FFFFFFFL /* max value for a long */
+#define LONG_MIN (-LONG_MAX-1) /* min value for a long */
+#define ULONG_MAX 0xFFFFFFFF /* Maximum unsigned long value */
+#define CHAR_BIT 8 /* Number of bits in a char */
+
+//
+// Address families.
+//
+#define AF_INET 2 /* internetwork: UDP, TCP, etc. */
+#define AF_INET6 24 /* IP version 6 */
+
+//
+// Define constants based on RFC0883, RFC1034, RFC 1035
+//
+#define NS_INT16SZ 2 /*%< #/bytes of data in a u_int16_t */
+#define NS_INADDRSZ 4 /*%< IPv4 T_A */
+#define NS_IN6ADDRSZ 16 /*%< IPv6 T_AAAA */
+
+//
+// Basic types mapping
+//
+typedef UINTN size_t;
+typedef UINTN u_int;
+typedef INTN ssize_t;
+typedef INT32 time_t;
+typedef UINT8 __uint8_t;
+typedef UINT8 sa_family_t;
+typedef UINT8 u_char;
+typedef UINT32 uid_t;
+typedef UINT32 gid_t;
+
+//
+// File operations are not required for EFI building,
+// so FILE is mapped to VOID * to pass build
+//
+typedef VOID *FILE;
+
+//
+// Structures Definitions
+//
+struct tm {
+ int tm_sec; /* seconds after the minute [0-60] */
+ int tm_min; /* minutes after the hour [0-59] */
+ int tm_hour; /* hours since midnight [0-23] */
+ int tm_mday; /* day of the month [1-31] */
+ int tm_mon; /* months since January [0-11] */
+ int tm_year; /* years since 1900 */
+ int tm_wday; /* days since Sunday [0-6] */
+ int tm_yday; /* days since January 1 [0-365] */
+ int tm_isdst; /* Daylight Savings Time flag */
+ long tm_gmtoff; /* offset from CUT in seconds */
+ char *tm_zone; /* timezone abbreviation */
+};
+
+struct timeval {
+ long tv_sec; /* time value, in seconds */
+ long tv_usec; /* time value, in microseconds */
+};
+
+struct sockaddr {
+ __uint8_t sa_len; /* total length */
+ sa_family_t sa_family; /* address family */
+ char sa_data[14]; /* actually longer; address value */
+};
+
+//
+// Global variables
+//
+extern int errno;
+extern FILE *stderr;
+
+//
+// Function prototypes of CRT Library routines
+//
+void *malloc (size_t);
+void *realloc (void *, size_t);
+void free (void *);
+void *memset (void *, int, size_t);
+int memcmp (const void *, const void *, size_t);
+int isdigit (int);
+int isspace (int);
+int isxdigit (int);
+int isalnum (int);
+int isupper (int);
+int tolower (int);
+int strcmp (const char *, const char *);
+int strncasecmp (const char *, const char *, size_t);
+char *strchr (const char *, int);
+char *strrchr (const char *, int);
+unsigned long strtoul (const char *, char **, int);
+long strtol (const char *, char **, int);
+char *strerror (int);
+size_t strspn (const char *, const char *);
+size_t strcspn (const char *, const char *);
+int printf (const char *, ...);
+int sscanf (const char *, const char *, ...);
+FILE *fopen (const char *, const char *);
+size_t fread (void *, size_t, size_t, FILE *);
+size_t fwrite (const void *, size_t, size_t, FILE *);
+int fclose (FILE *);
+int fprintf (FILE *, const char *, ...);
+time_t time (time_t *);
+struct tm *gmtime (const time_t *);
+uid_t getuid (void);
+uid_t geteuid (void);
+gid_t getgid (void);
+gid_t getegid (void);
+int issetugid (void);
+void qsort (void *, size_t, size_t, int (*)(const void *, const void *));
+char *getenv (const char *);
+char *secure_getenv (const char *);
+#if defined(__GNUC__) && (__GNUC__ >= 2)
+void abort (void) __attribute__((__noreturn__));
+#else
+void abort (void);
+#endif
+int inet_pton (int, const char *, void *);
+
+//
+// Macros that directly map functions to BaseLib, BaseMemoryLib, and DebugLib functions
+//
+#define memcpy(dest,source,count) CopyMem(dest,source,(UINTN)(count))
+#define memset(dest,ch,count) SetMem(dest,(UINTN)(count),(UINT8)(ch))
+#define memchr(buf,ch,count) ScanMem8(buf,(UINTN)(count),(UINT8)ch)
+#define memcmp(buf1,buf2,count) (int)(CompareMem(buf1,buf2,(UINTN)(count)))
+#define memmove(dest,source,count) CopyMem(dest,source,(UINTN)(count))
+#define strlen(str) (size_t)(AsciiStrnLenS(str,MAX_STRING_SIZE))
+#define strcpy(strDest,strSource) AsciiStrCpyS(strDest,MAX_STRING_SIZE,strSource)
+#define strncpy(strDest,strSource,count) AsciiStrnCpyS(strDest,MAX_STRING_SIZE,strSource,(UINTN)count)
+#define strcat(strDest,strSource) AsciiStrCatS(strDest,MAX_STRING_SIZE,strSource)
+#define strncmp(string1,string2,count) (int)(AsciiStrnCmp(string1,string2,(UINTN)(count)))
+#define strcasecmp(str1,str2) (int)AsciiStriCmp(str1,str2)
+#define sprintf(buf,...) AsciiSPrint(buf,MAX_STRING_SIZE,__VA_ARGS__)
+#define localtime(timer) NULL
+#define assert(expression)
+#define offsetof(type,member) OFFSET_OF(type,member)
+#define atoi(nptr) AsciiStrDecimalToUintn(nptr)
+#define gettimeofday(tvp,tz) do { (tvp)->tv_sec = time(NULL); (tvp)->tv_usec = 0; } while (0)
+
+#endif
diff --git a/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/arpa/inet.h b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/arpa/inet.h
new file mode 100644
index 00000000..e51dc867
--- /dev/null
+++ b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/arpa/inet.h
@@ -0,0 +1,9 @@
+/** @file
+ Include file to support building third-party standard C / BSD sockets code.
+
+ Copyright (C) 2019, Red Hat, Inc.
+
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+**/
+
+#include <CrtLibSupport.h>
diff --git a/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/arpa/nameser.h b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/arpa/nameser.h
new file mode 100644
index 00000000..e51dc867
--- /dev/null
+++ b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/arpa/nameser.h
@@ -0,0 +1,9 @@
+/** @file
+ Include file to support building third-party standard C / BSD sockets code.
+
+ Copyright (C) 2019, Red Hat, Inc.
+
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+**/
+
+#include <CrtLibSupport.h>
diff --git a/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/assert.h b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/assert.h
new file mode 100644
index 00000000..22247bb2
--- /dev/null
+++ b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/assert.h
@@ -0,0 +1,9 @@
+/** @file
+ Include file to support building the third-party cryptographic library.
+
+Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <CrtLibSupport.h>
diff --git a/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/crypto/dso_conf.h b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/crypto/dso_conf.h
new file mode 100644
index 00000000..abbbf62c
--- /dev/null
+++ b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/crypto/dso_conf.h
@@ -0,0 +1,16 @@
+/* WARNING: do not edit! */
+/* Generated from include/crypto/dso_conf.h.in */
+/*
+ * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved.
+ *
+ * Licensed under the OpenSSL license (the "License"). You may not use
+ * this file except in compliance with the License. You can obtain a copy
+ * in the file LICENSE in the source distribution or at
+ * https://www.openssl.org/source/license.html
+ */
+
+#ifndef OSSL_CRYPTO_DSO_CONF_H
+# define OSSL_CRYPTO_DSO_CONF_H
+# define DSO_NONE
+# define DSO_EXTENSION ".so"
+#endif
diff --git a/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/ctype.h b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/ctype.h
new file mode 100644
index 00000000..22247bb2
--- /dev/null
+++ b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/ctype.h
@@ -0,0 +1,9 @@
+/** @file
+ Include file to support building the third-party cryptographic library.
+
+Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <CrtLibSupport.h>
diff --git a/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/errno.h b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/errno.h
new file mode 100644
index 00000000..22247bb2
--- /dev/null
+++ b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/errno.h
@@ -0,0 +1,9 @@
+/** @file
+ Include file to support building the third-party cryptographic library.
+
+Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <CrtLibSupport.h>
diff --git a/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/limits.h b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/limits.h
new file mode 100644
index 00000000..22247bb2
--- /dev/null
+++ b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/limits.h
@@ -0,0 +1,9 @@
+/** @file
+ Include file to support building the third-party cryptographic library.
+
+Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <CrtLibSupport.h>
diff --git a/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/memory.h b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/memory.h
new file mode 100644
index 00000000..22247bb2
--- /dev/null
+++ b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/memory.h
@@ -0,0 +1,9 @@
+/** @file
+ Include file to support building the third-party cryptographic library.
+
+Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <CrtLibSupport.h>
diff --git a/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/netinet/in.h b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/netinet/in.h
new file mode 100644
index 00000000..e51dc867
--- /dev/null
+++ b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/netinet/in.h
@@ -0,0 +1,9 @@
+/** @file
+ Include file to support building third-party standard C / BSD sockets code.
+
+ Copyright (C) 2019, Red Hat, Inc.
+
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+**/
+
+#include <CrtLibSupport.h>
diff --git a/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/openssl/opensslconf.h b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/openssl/opensslconf.h
new file mode 100644
index 00000000..500318c3
--- /dev/null
+++ b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/openssl/opensslconf.h
@@ -0,0 +1,351 @@
+/*
+ * WARNING: do not edit!
+ * Generated from include/openssl/opensslconf.h.in
+ *
+ * Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved.
+ *
+ * Licensed under the OpenSSL license (the "License"). You may not use
+ * this file except in compliance with the License. You can obtain a copy
+ * in the file LICENSE in the source distribution or at
+ * https://www.openssl.org/source/license.html
+ */
+
+#include <openssl/opensslv.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef OPENSSL_ALGORITHM_DEFINES
+# error OPENSSL_ALGORITHM_DEFINES no longer supported
+#endif
+
+/*
+ * OpenSSL was configured with the following options:
+ */
+
+#ifndef OPENSSL_SYS_UEFI
+# define OPENSSL_SYS_UEFI 1
+#endif
+#define OPENSSL_MIN_API 0x10100000L
+#ifndef OPENSSL_NO_BF
+# define OPENSSL_NO_BF
+#endif
+#ifndef OPENSSL_NO_BLAKE2
+# define OPENSSL_NO_BLAKE2
+#endif
+#ifndef OPENSSL_NO_CAMELLIA
+# define OPENSSL_NO_CAMELLIA
+#endif
+#ifndef OPENSSL_NO_CAST
+# define OPENSSL_NO_CAST
+#endif
+#ifndef OPENSSL_NO_CHACHA
+# define OPENSSL_NO_CHACHA
+#endif
+#ifndef OPENSSL_NO_CMS
+# define OPENSSL_NO_CMS
+#endif
+#ifndef OPENSSL_NO_CT
+# define OPENSSL_NO_CT
+#endif
+#ifndef OPENSSL_NO_DES
+# define OPENSSL_NO_DES
+#endif
+#ifndef OPENSSL_NO_DSA
+# define OPENSSL_NO_DSA
+#endif
+#ifndef OPENSSL_NO_EC
+# define OPENSSL_NO_EC
+#endif
+#ifndef OPENSSL_NO_IDEA
+# define OPENSSL_NO_IDEA
+#endif
+#ifndef OPENSSL_NO_MD2
+# define OPENSSL_NO_MD2
+#endif
+#ifndef OPENSSL_NO_MD4
+# define OPENSSL_NO_MD4
+#endif
+#ifndef OPENSSL_NO_MDC2
+# define OPENSSL_NO_MDC2
+#endif
+#ifndef OPENSSL_NO_POLY1305
+# define OPENSSL_NO_POLY1305
+#endif
+#ifndef OPENSSL_NO_RC2
+# define OPENSSL_NO_RC2
+#endif
+#ifndef OPENSSL_NO_RC4
+# define OPENSSL_NO_RC4
+#endif
+#ifndef OPENSSL_NO_RC5
+# define OPENSSL_NO_RC5
+#endif
+#ifndef OPENSSL_NO_RMD160
+# define OPENSSL_NO_RMD160
+#endif
+#ifndef OPENSSL_NO_SEED
+# define OPENSSL_NO_SEED
+#endif
+#ifndef OPENSSL_NO_SM2
+# define OPENSSL_NO_SM2
+#endif
+#ifndef OPENSSL_NO_SRP
+# define OPENSSL_NO_SRP
+#endif
+#ifndef OPENSSL_NO_TS
+# define OPENSSL_NO_TS
+#endif
+#ifndef OPENSSL_NO_WHIRLPOOL
+# define OPENSSL_NO_WHIRLPOOL
+#endif
+#ifndef OPENSSL_RAND_SEED_NONE
+# define OPENSSL_RAND_SEED_NONE
+#endif
+#ifndef OPENSSL_NO_AFALGENG
+# define OPENSSL_NO_AFALGENG
+#endif
+#ifndef OPENSSL_NO_APPS
+# define OPENSSL_NO_APPS
+#endif
+#ifndef OPENSSL_NO_ASAN
+# define OPENSSL_NO_ASAN
+#endif
+#ifndef OPENSSL_NO_ASM
+# define OPENSSL_NO_ASM
+#endif
+#ifndef OPENSSL_NO_ASYNC
+# define OPENSSL_NO_ASYNC
+#endif
+#ifndef OPENSSL_NO_AUTOERRINIT
+# define OPENSSL_NO_AUTOERRINIT
+#endif
+#ifndef OPENSSL_NO_AUTOLOAD_CONFIG
+# define OPENSSL_NO_AUTOLOAD_CONFIG
+#endif
+#ifndef OPENSSL_NO_CAPIENG
+# define OPENSSL_NO_CAPIENG
+#endif
+#ifndef OPENSSL_NO_CRYPTO_MDEBUG
+# define OPENSSL_NO_CRYPTO_MDEBUG
+#endif
+#ifndef OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
+# define OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
+#endif
+#ifndef OPENSSL_NO_DEPRECATED
+# define OPENSSL_NO_DEPRECATED
+#endif
+#ifndef OPENSSL_NO_DEVCRYPTOENG
+# define OPENSSL_NO_DEVCRYPTOENG
+#endif
+#ifndef OPENSSL_NO_DGRAM
+# define OPENSSL_NO_DGRAM
+#endif
+#ifndef OPENSSL_NO_DTLS
+# define OPENSSL_NO_DTLS
+#endif
+#ifndef OPENSSL_NO_DTLS1
+# define OPENSSL_NO_DTLS1
+#endif
+#ifndef OPENSSL_NO_DTLS1_2
+# define OPENSSL_NO_DTLS1_2
+#endif
+#ifndef OPENSSL_NO_EC2M
+# define OPENSSL_NO_EC2M
+#endif
+#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128
+# define OPENSSL_NO_EC_NISTP_64_GCC_128
+#endif
+#ifndef OPENSSL_NO_ECDH
+# define OPENSSL_NO_ECDH
+#endif
+#ifndef OPENSSL_NO_ECDSA
+# define OPENSSL_NO_ECDSA
+#endif
+#ifndef OPENSSL_NO_EGD
+# define OPENSSL_NO_EGD
+#endif
+#ifndef OPENSSL_NO_ENGINE
+# define OPENSSL_NO_ENGINE
+#endif
+#ifndef OPENSSL_NO_ERR
+# define OPENSSL_NO_ERR
+#endif
+#ifndef OPENSSL_NO_EXTERNAL_TESTS
+# define OPENSSL_NO_EXTERNAL_TESTS
+#endif
+#ifndef OPENSSL_NO_FILENAMES
+# define OPENSSL_NO_FILENAMES
+#endif
+#ifndef OPENSSL_NO_FUZZ_AFL
+# define OPENSSL_NO_FUZZ_AFL
+#endif
+#ifndef OPENSSL_NO_FUZZ_LIBFUZZER
+# define OPENSSL_NO_FUZZ_LIBFUZZER
+#endif
+#ifndef OPENSSL_NO_GOST
+# define OPENSSL_NO_GOST
+#endif
+#ifndef OPENSSL_NO_HEARTBEATS
+# define OPENSSL_NO_HEARTBEATS
+#endif
+#ifndef OPENSSL_NO_HW
+# define OPENSSL_NO_HW
+#endif
+#ifndef OPENSSL_NO_MSAN
+# define OPENSSL_NO_MSAN
+#endif
+#ifndef OPENSSL_NO_OCB
+# define OPENSSL_NO_OCB
+#endif
+#ifndef OPENSSL_NO_POSIX_IO
+# define OPENSSL_NO_POSIX_IO
+#endif
+#ifndef OPENSSL_NO_RFC3779
+# define OPENSSL_NO_RFC3779
+#endif
+#ifndef OPENSSL_NO_SCRYPT
+# define OPENSSL_NO_SCRYPT
+#endif
+#ifndef OPENSSL_NO_SCTP
+# define OPENSSL_NO_SCTP
+#endif
+#ifndef OPENSSL_NO_SOCK
+# define OPENSSL_NO_SOCK
+#endif
+#ifndef OPENSSL_NO_SSL_TRACE
+# define OPENSSL_NO_SSL_TRACE
+#endif
+#ifndef OPENSSL_NO_SSL3
+# define OPENSSL_NO_SSL3
+#endif
+#ifndef OPENSSL_NO_SSL3_METHOD
+# define OPENSSL_NO_SSL3_METHOD
+#endif
+#ifndef OPENSSL_NO_STDIO
+# define OPENSSL_NO_STDIO
+#endif
+#ifndef OPENSSL_NO_TESTS
+# define OPENSSL_NO_TESTS
+#endif
+#ifndef OPENSSL_NO_TLS1_3
+# define OPENSSL_NO_TLS1_3
+#endif
+#ifndef OPENSSL_NO_UBSAN
+# define OPENSSL_NO_UBSAN
+#endif
+#ifndef OPENSSL_NO_UI_CONSOLE
+# define OPENSSL_NO_UI_CONSOLE
+#endif
+#ifndef OPENSSL_NO_UNIT_TEST
+# define OPENSSL_NO_UNIT_TEST
+#endif
+#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS
+# define OPENSSL_NO_WEAK_SSL_CIPHERS
+#endif
+#ifndef OPENSSL_NO_DYNAMIC_ENGINE
+# define OPENSSL_NO_DYNAMIC_ENGINE
+#endif
+
+
+/*
+ * Sometimes OPENSSSL_NO_xxx ends up with an empty file and some compilers
+ * don't like that. This will hopefully silence them.
+ */
+#define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy;
+
+/*
+ * Applications should use -DOPENSSL_API_COMPAT=<version> to suppress the
+ * declarations of functions deprecated in or before <version>. Otherwise, they
+ * still won't see them if the library has been built to disable deprecated
+ * functions.
+ */
+#ifndef DECLARE_DEPRECATED
+# define DECLARE_DEPRECATED(f) f;
+# ifdef __GNUC__
+# if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0)
+# undef DECLARE_DEPRECATED
+# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated));
+# endif
+#elif defined(__SUNPRO_C)
+#if (__SUNPRO_C >= 0x5130)
+#undef DECLARE_DEPRECATED
+#define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated));
+#endif
+# endif
+#endif
+
+#ifndef OPENSSL_FILE
+# ifdef OPENSSL_NO_FILENAMES
+# define OPENSSL_FILE ""
+# define OPENSSL_LINE 0
+# else
+# define OPENSSL_FILE __FILE__
+# define OPENSSL_LINE __LINE__
+# endif
+#endif
+
+#ifndef OPENSSL_MIN_API
+# define OPENSSL_MIN_API 0
+#endif
+
+#if !defined(OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API
+# undef OPENSSL_API_COMPAT
+# define OPENSSL_API_COMPAT OPENSSL_MIN_API
+#endif
+
+/*
+ * Do not deprecate things to be deprecated in version 1.2.0 before the
+ * OpenSSL version number matches.
+ */
+#if OPENSSL_VERSION_NUMBER < 0x10200000L
+# define DEPRECATEDIN_1_2_0(f) f;
+#elif OPENSSL_API_COMPAT < 0x10200000L
+# define DEPRECATEDIN_1_2_0(f) DECLARE_DEPRECATED(f)
+#else
+# define DEPRECATEDIN_1_2_0(f)
+#endif
+
+#if OPENSSL_API_COMPAT < 0x10100000L
+# define DEPRECATEDIN_1_1_0(f) DECLARE_DEPRECATED(f)
+#else
+# define DEPRECATEDIN_1_1_0(f)
+#endif
+
+#if OPENSSL_API_COMPAT < 0x10000000L
+# define DEPRECATEDIN_1_0_0(f) DECLARE_DEPRECATED(f)
+#else
+# define DEPRECATEDIN_1_0_0(f)
+#endif
+
+#if OPENSSL_API_COMPAT < 0x00908000L
+# define DEPRECATEDIN_0_9_8(f) DECLARE_DEPRECATED(f)
+#else
+# define DEPRECATEDIN_0_9_8(f)
+#endif
+
+/* Generate 80386 code? */
+#undef I386_ONLY
+
+#undef OPENSSL_UNISTD
+#define OPENSSL_UNISTD <unistd.h>
+
+#undef OPENSSL_EXPORT_VAR_AS_FUNCTION
+
+/*
+ * The following are cipher-specific, but are part of the public API.
+ */
+#if !defined(OPENSSL_SYS_UEFI)
+# undef BN_LLONG
+/* Only one for the following should be defined */
+# undef SIXTY_FOUR_BIT_LONG
+# undef SIXTY_FOUR_BIT
+# define THIRTY_TWO_BIT
+#endif
+
+#define RC4_INT unsigned int
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/stdarg.h b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/stdarg.h
new file mode 100644
index 00000000..22247bb2
--- /dev/null
+++ b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/stdarg.h
@@ -0,0 +1,9 @@
+/** @file
+ Include file to support building the third-party cryptographic library.
+
+Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <CrtLibSupport.h>
diff --git a/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/stddef.h b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/stddef.h
new file mode 100644
index 00000000..22247bb2
--- /dev/null
+++ b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/stddef.h
@@ -0,0 +1,9 @@
+/** @file
+ Include file to support building the third-party cryptographic library.
+
+Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <CrtLibSupport.h>
diff --git a/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/stdio.h b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/stdio.h
new file mode 100644
index 00000000..22247bb2
--- /dev/null
+++ b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/stdio.h
@@ -0,0 +1,9 @@
+/** @file
+ Include file to support building the third-party cryptographic library.
+
+Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <CrtLibSupport.h>
diff --git a/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/stdlib.h b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/stdlib.h
new file mode 100644
index 00000000..22247bb2
--- /dev/null
+++ b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/stdlib.h
@@ -0,0 +1,9 @@
+/** @file
+ Include file to support building the third-party cryptographic library.
+
+Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <CrtLibSupport.h>
diff --git a/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/string.h b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/string.h
new file mode 100644
index 00000000..22247bb2
--- /dev/null
+++ b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/string.h
@@ -0,0 +1,9 @@
+/** @file
+ Include file to support building the third-party cryptographic library.
+
+Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <CrtLibSupport.h>
diff --git a/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/strings.h b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/strings.h
new file mode 100644
index 00000000..22247bb2
--- /dev/null
+++ b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/strings.h
@@ -0,0 +1,9 @@
+/** @file
+ Include file to support building the third-party cryptographic library.
+
+Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <CrtLibSupport.h>
diff --git a/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/sys/param.h b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/sys/param.h
new file mode 100644
index 00000000..e51dc867
--- /dev/null
+++ b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/sys/param.h
@@ -0,0 +1,9 @@
+/** @file
+ Include file to support building third-party standard C / BSD sockets code.
+
+ Copyright (C) 2019, Red Hat, Inc.
+
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+**/
+
+#include <CrtLibSupport.h>
diff --git a/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/sys/shm.h b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/sys/shm.h
new file mode 100644
index 00000000..1091db03
--- /dev/null
+++ b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/sys/shm.h
@@ -0,0 +1,9 @@
+/** @file
+ Include file to support building the third-party cryptographic library.
+
+Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <CrtLibSupport.h>
diff --git a/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/sys/socket.h b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/sys/socket.h
new file mode 100644
index 00000000..e51dc867
--- /dev/null
+++ b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/sys/socket.h
@@ -0,0 +1,9 @@
+/** @file
+ Include file to support building third-party standard C / BSD sockets code.
+
+ Copyright (C) 2019, Red Hat, Inc.
+
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+**/
+
+#include <CrtLibSupport.h>
diff --git a/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/sys/syscall.h b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/sys/syscall.h
new file mode 100644
index 00000000..058bb137
--- /dev/null
+++ b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/sys/syscall.h
@@ -0,0 +1,11 @@
+/** @file
+ Include file to support building the third-party cryptographic library.
+
+Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2019, Red Hat, Inc.
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <CrtLibSupport.h>
+
diff --git a/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/sys/time.h b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/sys/time.h
new file mode 100644
index 00000000..22247bb2
--- /dev/null
+++ b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/sys/time.h
@@ -0,0 +1,9 @@
+/** @file
+ Include file to support building the third-party cryptographic library.
+
+Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <CrtLibSupport.h>
diff --git a/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/sys/types.h b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/sys/types.h
new file mode 100644
index 00000000..22247bb2
--- /dev/null
+++ b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/sys/types.h
@@ -0,0 +1,9 @@
+/** @file
+ Include file to support building the third-party cryptographic library.
+
+Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <CrtLibSupport.h>
diff --git a/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/sys/utsname.h b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/sys/utsname.h
new file mode 100644
index 00000000..1091db03
--- /dev/null
+++ b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/sys/utsname.h
@@ -0,0 +1,9 @@
+/** @file
+ Include file to support building the third-party cryptographic library.
+
+Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <CrtLibSupport.h>
diff --git a/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/syslog.h b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/syslog.h
new file mode 100644
index 00000000..22247bb2
--- /dev/null
+++ b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/syslog.h
@@ -0,0 +1,9 @@
+/** @file
+ Include file to support building the third-party cryptographic library.
+
+Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <CrtLibSupport.h>
diff --git a/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/time.h b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/time.h
new file mode 100644
index 00000000..22247bb2
--- /dev/null
+++ b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/time.h
@@ -0,0 +1,9 @@
+/** @file
+ Include file to support building the third-party cryptographic library.
+
+Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <CrtLibSupport.h>
diff --git a/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/unistd.h b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/unistd.h
new file mode 100644
index 00000000..22247bb2
--- /dev/null
+++ b/src/VBox/Devices/EFI/Firmware/CryptoPkg/Library/Include/unistd.h
@@ -0,0 +1,9 @@
+/** @file
+ Include file to support building the third-party cryptographic library.
+
+Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <CrtLibSupport.h>