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