mirror of https://github.com/acidanthera/audk.git
103 lines
2.7 KiB
C
103 lines
2.7 KiB
C
/** @file
|
|
Root include file of C runtime library to support building the third-party
|
|
libfdt library.
|
|
|
|
Copyright (c) 2023, Intel Corporation. All rights reserved.<BR>
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
|
|
**/
|
|
|
|
#ifndef FDT_LIB_SUPPORT_H_
|
|
#define FDT_LIB_SUPPORT_H_
|
|
|
|
#include <Base.h>
|
|
#include <Library/BaseLib.h>
|
|
#include <Library/BaseMemoryLib.h>
|
|
|
|
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_ */
|