]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaUefiPort.h
MdeModulePkg/RegularExpressionDxe: Make oniguruma a submodule in edk2.
[mirror_edk2.git] / MdeModulePkg / Universal / RegularExpressionDxe / OnigurumaUefiPort.h
CommitLineData
14b0e578 1/** @file\r
ba39402f 2\r
14b0e578
CS
3 Module to rewrite stdlib references within Oniguruma\r
4\r
0af8e57c 5 (C) Copyright 2014-2015 Hewlett Packard Enterprise Development LP<BR>\r
48b6c60c 6 Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>\r
14b0e578 7\r
9d510e61 8 SPDX-License-Identifier: BSD-2-Clause-Patent\r
14b0e578
CS
9**/\r
10#ifndef ONIGURUMA_UEFI_PORT_H\r
11#define ONIGURUMA_UEFI_PORT_H\r
12\r
13#include <Library/MemoryAllocationLib.h>\r
14#include <Library/PrintLib.h>\r
15#include <Library/BaseMemoryLib.h>\r
16#include <Library/BaseLib.h>\r
17#include <Library/DebugLib.h>\r
18\r
48b6c60c
SZ
19\r
20#define ONIG_NO_STANDARD_C_HEADERS\r
21#define ONIG_NO_PRINT\r
14b0e578
CS
22#define P_(args) args\r
23\r
48b6c60c
SZ
24#define INT_MAX 0x7FFFFFFF\r
25#define LONG_MAX 0x7FFFFFFF\r
26#define UINT_MAX 0xFFFFFFFF\r
27#define ULONG_MAX 0xFFFFFFFF\r
28\r
29\r
30#define SIZEOF_LONG 4\r
31#define SIZEOF_LONG_LONG 8\r
32typedef UINTN size_t;\r
33typedef UINT32 uint32_t;\r
34typedef INTN intptr_t;\r
35\r
36#ifndef offsetof\r
37#define offsetof OFFSET_OF\r
38#endif\r
39\r
40#ifdef MDE_CPU_IA32\r
41#define SIZEOF_VOIDP 4\r
42#endif\r
43\r
44#ifdef MDE_CPU_X64\r
45#define SIZEOF_VOIDP 8\r
46#endif\r
14b0e578 47\r
14b0e578 48#define calloc(n,s) AllocateZeroPool((n)*(s))\r
ffbb5ae3
LE
49\r
50#define free(p) \\r
51 do { \\r
52 VOID *EvalOnce; \\r
53 \\r
54 EvalOnce = (p); \\r
55 if (EvalOnce != NULL) { \\r
56 FreePool (EvalOnce); \\r
57 } \\r
58 } while (FALSE)\r
59\r
14b0e578
CS
60#define xmemmove(Dest,Src,Length) CopyMem(Dest,Src,Length)\r
61#define xmemcpy(Dest,Src,Length) CopyMem(Dest,Src,Length)\r
62#define xmemset(Buffer,Value,Length) SetMem(Buffer,Length,Value)\r
63\r
64#define va_init_list(a,b) VA_START(a,b)\r
65#define va_list VA_LIST\r
66#define va_arg(a,b) VA_ARG(a,b)\r
67#define va_end(a) VA_END(a)\r
48b6c60c 68#define va_start VA_START\r
14b0e578
CS
69\r
70#define FILE VOID\r
71#define stdout NULL\r
72#define fprintf(...)\r
73#define fputs(a,b)\r
74#define vsnprintf (int)AsciiVSPrint\r
75#define _vsnprintf vsnprintf\r
48b6c60c
SZ
76#define xsnprintf sprintf_s\r
77#define xvsnprintf vsnprintf\r
78#define alloca malloc\r
14b0e578
CS
79\r
80#define setlocale(a,b)\r
81#define LC_ALL 0\r
82\r
48b6c60c 83#define UCHAR_MAX 255\r
14b0e578
CS
84#define MAX_STRING_SIZE 0x1000\r
85#define strlen_s(String,MaxSize) AsciiStrnLenS (String, MaxSize)\r
48b6c60c
SZ
86#define xstrncpy(Dest, Src, MaxSize) strcat_s(Dest,MaxSize,Src)\r
87#define xstrcat(Dest,Src,MaxSize) strcat(Dest,Src,MaxSize)\r
88#define strcat(Dest,Src,MaxSize) strcat_s(Dest,MaxSize,Src)\r
14b0e578
CS
89#define strcat_s(Dest,MaxSize,Src) AsciiStrCatS (Dest, MaxSize, Src)\r
90#define strncpy_s(Dest,MaxSize,Src,Length) AsciiStrnCpyS (Dest, MaxSize, Src, Length)\r
91#define strcmp OnigStrCmp\r
92\r
48b6c60c 93int OnigStrCmp (const char* Str1, const char* Str2);\r
14b0e578 94\r
a12b214e 95int EFIAPI sprintf_s (char *str, size_t sizeOfBuffer, char const *fmt, ...);\r
48b6c60c
SZ
96int strlen(const char* str);\r
97void* malloc(size_t size);\r
98void* realloc(void *ptr, size_t size);\r
14b0e578
CS
99\r
100#define exit(n) ASSERT(FALSE);\r
101\r
102#endif // !ONIGURUMA_UEFI_PORT_H\r