/** @file Module to rewrite stdlib references within Oniguruma (C) Copyright 2014-2021 Hewlett Packard Enterprise Development LP
Copyright (c) 2020, Intel Corporation. All rights reserved.
Copyright (c) 2022-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef ONIGURUMA_UEFI_PORT_H #define ONIGURUMA_UEFI_PORT_H #include #include #include #include #include #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 #if defined (MDE_CPU_IA32) || defined (MDE_CPU_ARM) || defined (MDE_CPU_EBC) #define SIZEOF_VOIDP 4 #else #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 ); #if !defined (MDE_CPU_ARM) void * memcpy ( void *dest, const void *src, unsigned int count ); #endif void * memset ( void *dest, int ch, unsigned int count ); void free ( void *ptr ); #define exit(n) ASSERT(FALSE); #endif // !ONIGURUMA_UEFI_PORT_H