]> git.proxmox.com Git - mirror_edk2.git/blob - EmbeddedPkg/Include/libfdt_env.h
EmbeddedPkg: Split off FDT loading functionality from FdtLib
[mirror_edk2.git] / EmbeddedPkg / Include / libfdt_env.h
1 /** @file
2 *
3 * Copyright (c) 2011-2014, ARM Limited. All rights reserved.
4 *
5 * This program and the accompanying materials
6 * are licensed and made available under the terms and conditions of the BSD License
7 * which accompanies this distribution. The full text of the license may be found at
8 * http://opensource.org/licenses/bsd-license.php
9 *
10 * THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12 *
13 **/
14
15 #ifndef _LIBFDT_ENV_H
16 #define _LIBFDT_ENV_H
17
18 #include <Library/BaseLib.h>
19 #include <Library/BaseMemoryLib.h>
20
21 typedef UINT16 fdt16_t;
22 typedef UINT32 fdt32_t;
23 typedef UINT64 fdt64_t;
24
25 typedef UINT8 uint8_t;
26 typedef UINT16 uint16_t;
27 typedef UINT32 uint32_t;
28 typedef UINT64 uint64_t;
29 typedef UINTN uintptr_t;
30 typedef UINTN size_t;
31
32 static inline uint16_t fdt16_to_cpu(fdt16_t x)
33 {
34 return SwapBytes16 (x);
35 }
36 #define cpu_to_fdt16(x) fdt16_to_cpu(x)
37
38 static inline uint32_t fdt32_to_cpu(fdt32_t x)
39 {
40 return SwapBytes32 (x);
41 }
42 #define cpu_to_fdt32(x) fdt32_to_cpu(x)
43
44 static inline uint64_t fdt64_to_cpu(fdt64_t x)
45 {
46 return SwapBytes64 (x);
47 }
48 #define cpu_to_fdt64(x) fdt64_to_cpu(x)
49
50 static inline void* memcpy(void* dest, const void* src, size_t len) {
51 return CopyMem (dest, src, len);
52 }
53
54 static inline void *memmove(void *dest, const void *src, size_t n) {
55 return CopyMem (dest, src, n);
56 }
57
58 static inline void *memset(void *s, int c, size_t n) {
59 return SetMem (s, n, c);
60 }
61
62 static inline int memcmp(const void* dest, const void* src, int len) {
63 return CompareMem (dest, src, len);
64 }
65
66 static inline void *memchr(const void *s, int c, size_t n) {
67 return ScanMem8 (s, n, c);
68 }
69
70 static inline size_t strlen (const char* str) {
71 return AsciiStrLen (str);
72 }
73
74 static inline char *strchr(const char *s, int c) {
75 char pattern[2];
76 pattern[0] = c;
77 pattern[1] = 0;
78 return AsciiStrStr (s, pattern);
79 }
80
81 #endif /* _LIBFDT_ENV_H */