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 
fdt16_to_cpu(fdt16_t x)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 
fdt32_to_cpu(fdt32_t x)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 
fdt64_to_cpu(fdt64_t x)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 
memcpy(void * dest,const void * src,size_t len)50 static inline void* memcpy(void* dest, const void* src, size_t len) {
51   return CopyMem (dest, src, len);
52 }
53 
memmove(void * dest,const void * src,size_t n)54 static inline void *memmove(void *dest, const void *src, size_t n) {
55   return CopyMem (dest, src, n);
56 }
57 
memset(void * s,int c,size_t n)58 static inline void *memset(void *s, int c, size_t n) {
59   return SetMem (s, n, c);
60 }
61 
memcmp(const void * dest,const void * src,int len)62 static inline int memcmp(const void* dest, const void* src, int len) {
63   return CompareMem (dest, src, len);
64 }
65 
memchr(const void * s,int c,size_t n)66 static inline void *memchr(const void *s, int c, size_t n) {
67   return ScanMem8 (s, n, c);
68 }
69 
strlen(const char * str)70 static inline size_t strlen (const char* str) {
71   return AsciiStrLen (str);
72 }
73 
strchr(const char * s,int c)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 */
82