Annotation of elwix/tools/uboot_mkimage/lib/libfdt/libfdt_internal.h, revision 1.1
1.1 ! misho 1: #ifndef _LIBFDT_INTERNAL_H
! 2: #define _LIBFDT_INTERNAL_H
! 3: /*
! 4: * libfdt - Flat Device Tree manipulation
! 5: * Copyright (C) 2006 David Gibson, IBM Corporation.
! 6: *
! 7: * libfdt is dual licensed: you can use it either under the terms of
! 8: * the GPL, or the BSD license, at your option.
! 9: *
! 10: * a) This library is free software; you can redistribute it and/or
! 11: * modify it under the terms of the GNU General Public License as
! 12: * published by the Free Software Foundation; either version 2 of the
! 13: * License, or (at your option) any later version.
! 14: *
! 15: * This library is distributed in the hope that it will be useful,
! 16: * but WITHOUT ANY WARRANTY; without even the implied warranty of
! 17: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
! 18: * GNU General Public License for more details.
! 19: *
! 20: * You should have received a copy of the GNU General Public
! 21: * License along with this library; if not, write to the Free
! 22: * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
! 23: * MA 02110-1301 USA
! 24: *
! 25: * Alternatively,
! 26: *
! 27: * b) Redistribution and use in source and binary forms, with or
! 28: * without modification, are permitted provided that the following
! 29: * conditions are met:
! 30: *
! 31: * 1. Redistributions of source code must retain the above
! 32: * copyright notice, this list of conditions and the following
! 33: * disclaimer.
! 34: * 2. Redistributions in binary form must reproduce the above
! 35: * copyright notice, this list of conditions and the following
! 36: * disclaimer in the documentation and/or other materials
! 37: * provided with the distribution.
! 38: *
! 39: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
! 40: * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
! 41: * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
! 42: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
! 43: * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
! 44: * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
! 45: * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
! 46: * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
! 47: * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
! 48: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
! 49: * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
! 50: * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
! 51: * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
! 52: */
! 53: #include <fdt.h>
! 54:
! 55: #define FDT_ALIGN(x, a) (((x) + (a) - 1) & ~((a) - 1))
! 56: #define FDT_TAGALIGN(x) (FDT_ALIGN((x), FDT_TAGSIZE))
! 57:
! 58: #define FDT_CHECK_HEADER(fdt) \
! 59: { \
! 60: int err; \
! 61: if ((err = fdt_check_header(fdt)) != 0) \
! 62: return err; \
! 63: }
! 64:
! 65: int _fdt_check_node_offset(const void *fdt, int offset);
! 66: const char *_fdt_find_string(const char *strtab, int tabsize, const char *s);
! 67: int _fdt_node_end_offset(void *fdt, int nodeoffset);
! 68:
! 69: static inline const void *_fdt_offset_ptr(const void *fdt, int offset)
! 70: {
! 71: return (const char *)fdt + fdt_off_dt_struct(fdt) + offset;
! 72: }
! 73:
! 74: static inline void *_fdt_offset_ptr_w(void *fdt, int offset)
! 75: {
! 76: return (void *)(uintptr_t)_fdt_offset_ptr(fdt, offset);
! 77: }
! 78:
! 79: static inline const struct fdt_reserve_entry *_fdt_mem_rsv(const void *fdt, int n)
! 80: {
! 81: const struct fdt_reserve_entry *rsv_table =
! 82: (const struct fdt_reserve_entry *)
! 83: ((const char *)fdt + fdt_off_mem_rsvmap(fdt));
! 84:
! 85: return rsv_table + n;
! 86: }
! 87: static inline struct fdt_reserve_entry *_fdt_mem_rsv_w(void *fdt, int n)
! 88: {
! 89: return (void *)(uintptr_t)_fdt_mem_rsv(fdt, n);
! 90: }
! 91:
! 92: #define FDT_SW_MAGIC (~FDT_MAGIC)
! 93:
! 94: #endif /* _LIBFDT_INTERNAL_H */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>