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 */ 82