/** @file Root include file of C runtime library to support building the third-party libfdt library. Copyright (c) 2023, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef FDT_LIB_SUPPORT_H_ #define FDT_LIB_SUPPORT_H_ #include #include #include typedef UINT8 uint8_t; typedef UINT16 uint16_t; typedef INT32 int32_t; typedef UINT32 uint32_t; typedef UINT64 uint64_t; typedef UINTN uintptr_t; typedef UINTN size_t; typedef BOOLEAN bool; #define true (1 == 1) #define false (1 == 0) // // Definitions for global constants used by libfdt library routines // #define INT_MAX 0x7FFFFFFF /* Maximum (signed) int value */ #define INT32_MAX 0x7FFFFFFF /* Maximum (signed) int32 value */ #define UINT32_MAX 0xFFFFFFFF /* Maximum unsigned int32 value */ // // Function prototypes of libfdt Library routines // void * memset ( void *, int, size_t ); int memcmp ( const void *, const void *, size_t ); int strcmp ( const char *, const char * ); char * strchr ( const char *, int ); char * fdt_strrchr ( const char *, int ); unsigned long fdt_strtoul ( const char *, char **, int ); char * strcpy ( char *strDest, const char *strSource ); // // Macros that directly map functions to BaseLib, BaseMemoryLib, and DebugLib functions // #define memcpy(dest, source, count) CopyMem(dest,source, (UINTN)(count)) #define memset(dest, ch, count) SetMem(dest, (UINTN)(count),(UINT8)(ch)) #define memchr(buf, ch, count) ScanMem8(buf, (UINTN)(count),(UINT8)ch) #define memcmp(buf1, buf2, count) (int)(CompareMem(buf1, buf2, (UINTN)(count))) #define memmove(dest, source, count) CopyMem(dest, source, (UINTN)(count)) #define strlen(str) (size_t)(AsciiStrLen(str)) #define strnlen(str, count) (size_t)(AsciiStrnLenS(str, count)) #define strncpy(strDest, strSource, count) AsciiStrnCpyS(strDest, MAX_STRING_SIZE, strSource, (UINTN)count) #define strcat(strDest, strSource) AsciiStrCatS(strDest, MAX_STRING_SIZE, strSource) #define strchr(str, ch) ScanMem8(str, AsciiStrSize (str), (UINT8)ch) #define strcmp(string1, string2, count) (int)(AsciiStrCmp(string1, string2)) #define strncmp(string1, string2, count) (int)(AsciiStrnCmp(string1, string2, (UINTN)(count))) #define strrchr(str, ch) fdt_strrchr(str, ch) #define strtoul(ptr, end_ptr, base) fdt_strtoul(ptr, end_ptr, base) #endif /* FDT_LIB_SUPPORT_H_ */