summaryrefslogtreecommitdiffstats
path: root/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaUefiPort.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaUefiPort.h')
-rw-r--r--src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaUefiPort.h104
1 files changed, 104 insertions, 0 deletions
diff --git a/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaUefiPort.h b/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaUefiPort.h
new file mode 100644
index 00000000..8bf2b4b7
--- /dev/null
+++ b/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaUefiPort.h
@@ -0,0 +1,104 @@
+/** @file
+
+ Module to rewrite stdlib references within Oniguruma
+
+ (C) Copyright 2014-2015 Hewlett Packard Enterprise Development LP<BR>
+ Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
+
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+**/
+#ifndef ONIGURUMA_UEFI_PORT_H
+#define ONIGURUMA_UEFI_PORT_H
+
+#include <Library/MemoryAllocationLib.h>
+#include <Library/PrintLib.h>
+#include <Library/BaseMemoryLib.h>
+#include <Library/BaseLib.h>
+#include <Library/DebugLib.h>
+
+
+#define ONIG_NO_STANDARD_C_HEADERS
+#define ONIG_NO_PRINT
+#define P_(args) args
+
+#define INT_MAX 0x7FFFFFFF
+#define LONG_MAX 0x7FFFFFFF
+#define UINT_MAX 0xFFFFFFFF
+#define ULONG_MAX 0xFFFFFFFF
+
+
+#define SIZEOF_LONG 4
+#define SIZEOF_LONG_LONG 8
+typedef UINTN size_t;
+typedef UINT32 uint32_t;
+typedef INTN intptr_t;
+
+#ifndef offsetof
+#define offsetof OFFSET_OF
+#endif
+
+#ifdef MDE_CPU_IA32
+#define SIZEOF_VOIDP 4
+#endif
+
+#ifdef MDE_CPU_X64
+#define SIZEOF_VOIDP 8
+#endif
+
+#define calloc(n,s) AllocateZeroPool((n)*(s))
+
+#define free(p) \
+ do { \
+ VOID *EvalOnce; \
+ \
+ EvalOnce = (p); \
+ if (EvalOnce != NULL) { \
+ FreePool (EvalOnce); \
+ } \
+ } while (FALSE)
+
+#define xmemmove(Dest,Src,Length) CopyMem(Dest,Src,Length)
+#define xmemcpy(Dest,Src,Length) CopyMem(Dest,Src,Length)
+#define xmemset(Buffer,Value,Length) SetMem(Buffer,Length,Value)
+
+#define va_init_list(a,b) VA_START(a,b)
+#define va_list VA_LIST
+#define va_arg(a,b) VA_ARG(a,b)
+#define va_end(a) VA_END(a)
+#define va_start VA_START
+
+#define FILE VOID
+#define stdout NULL
+#define fprintf(...)
+#define fputs(a,b)
+#define vsnprintf (int)AsciiVSPrint
+#define _vsnprintf vsnprintf
+#define xsnprintf sprintf_s
+#define xvsnprintf vsnprintf
+#define alloca malloc
+
+#define setlocale(a,b)
+#define LC_ALL 0
+
+#define UCHAR_MAX 255
+#define MAX_STRING_SIZE 0x1000
+#define strlen_s(String,MaxSize) AsciiStrnLenS (String, MaxSize)
+#define xstrncpy(Dest, Src, MaxSize) strcat_s(Dest,MaxSize,Src)
+#define xstrcat(Dest,Src,MaxSize) strcat(Dest,Src,MaxSize)
+#define strcat(Dest,Src,MaxSize) strcat_s(Dest,MaxSize,Src)
+#define strcat_s(Dest,MaxSize,Src) AsciiStrCatS (Dest, MaxSize, Src)
+#define strncpy_s(Dest,MaxSize,Src,Length) AsciiStrnCpyS (Dest, MaxSize, Src, Length)
+#define strcmp OnigStrCmp
+
+int OnigStrCmp (const char* Str1, const char* Str2);
+
+int EFIAPI sprintf_s (char *str, size_t sizeOfBuffer, char const *fmt, ...);
+int strlen(const char* str);
+void* malloc(size_t size);
+void* realloc(void *ptr, size_t size);
+void* memcpy (void *dest, const void *src, unsigned int count);
+void* memset (void *dest, char ch, unsigned int count);
+
+#define exit(n) ASSERT(FALSE);
+
+#endif // !ONIGURUMA_UEFI_PORT_H