1 /* 2 * libfdt - Flat Device Tree manipulation 3 * Basic testcase for read-only access 4 * Copyright (C) 2006 David Gibson, IBM Corporation. 5 * 6 * This library is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU Lesser General Public License 8 * as published by the Free Software Foundation; either version 2.1 of 9 * the License, or (at your option) any later version. 10 * 11 * This library is distributed in the hope that it will be useful, but 12 * WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * Lesser General Public License for more details. 15 * 16 * You should have received a copy of the GNU Lesser General Public 17 * License along with this library; if not, write to the Free Software 18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 19 */ 20 21 #include <stdlib.h> 22 #include <stdio.h> 23 #include <string.h> 24 #include <stdint.h> 25 26 #include <libfdt.h> 27 28 #include "tests.h" 29 #include "testdata.h" 30 31 int main(int argc, char *argv[]) 32 { 33 void *fdt; 34 const struct fdt_node_header *nh; 35 36 test_init(argc, argv); 37 fdt = load_blob_arg(argc, argv); 38 39 nh = fdt_offset_ptr(fdt, 0, sizeof(*nh)); 40 41 if (! nh) 42 FAIL("NULL retrieving root node"); 43 44 if (fdt32_to_cpu(nh->tag) != FDT_BEGIN_NODE) 45 FAIL("Wrong tag on root node"); 46 47 if (strlen(nh->name) != 0) 48 FAIL("Wrong name for root node, \"%s\" instead of empty", 49 nh->name); 50 51 PASS(); 52 } 53