summaryrefslogtreecommitdiffstats
path: root/MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaUefiPort.h
blob: 3dc207da3e85d783b1debff095c7d1349c177154 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
/** @file

  Module to rewrite stdlib references within Oniguruma

  (C) Copyright 2014-2021 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 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
  );

void
free (
  void  *ptr
  );

#define exit(n)  ASSERT(FALSE);

#endif // !ONIGURUMA_UEFI_PORT_H