1*cc7d2833Sskrll /* $NetBSD: get_prop_offset.c,v 1.1.1.1 2019/12/22 12:34:06 skrll Exp $ */
2*cc7d2833Sskrll
3*cc7d2833Sskrll // SPDX-License-Identifier: LGPL-2.1-or-later
4*cc7d2833Sskrll /*
5*cc7d2833Sskrll * libfdt - Flat Device Tree manipulation
6*cc7d2833Sskrll * Testcase for fdt_getprop_by_offset()
7*cc7d2833Sskrll * Copyright (C) 2006 David Gibson, IBM Corporation.
8*cc7d2833Sskrll */
9*cc7d2833Sskrll
10*cc7d2833Sskrll #include <stdlib.h>
11*cc7d2833Sskrll #include <stdio.h>
12*cc7d2833Sskrll #include <string.h>
13*cc7d2833Sskrll #include <stdint.h>
14*cc7d2833Sskrll
15*cc7d2833Sskrll #include <libfdt.h>
16*cc7d2833Sskrll
17*cc7d2833Sskrll #include "tests.h"
18*cc7d2833Sskrll #include "testdata.h"
19*cc7d2833Sskrll
main(int argc,char * argv[])20*cc7d2833Sskrll int main(int argc, char *argv[])
21*cc7d2833Sskrll {
22*cc7d2833Sskrll bool found_prop_int = false;
23*cc7d2833Sskrll bool found_prop_str = false;
24*cc7d2833Sskrll int poffset;
25*cc7d2833Sskrll void *fdt;
26*cc7d2833Sskrll
27*cc7d2833Sskrll test_init(argc, argv);
28*cc7d2833Sskrll fdt = load_blob_arg(argc, argv);
29*cc7d2833Sskrll
30*cc7d2833Sskrll fdt_for_each_property_offset(poffset, fdt, 0) {
31*cc7d2833Sskrll if (check_get_prop_offset_cell(fdt, poffset, "prop-int",
32*cc7d2833Sskrll TEST_VALUE_1))
33*cc7d2833Sskrll found_prop_int = true;
34*cc7d2833Sskrll if (check_get_prop_offset(fdt, poffset, "prop-str",
35*cc7d2833Sskrll strlen(TEST_STRING_1) + 1,
36*cc7d2833Sskrll TEST_STRING_1))
37*cc7d2833Sskrll found_prop_str = true;
38*cc7d2833Sskrll }
39*cc7d2833Sskrll if (!found_prop_int)
40*cc7d2833Sskrll FAIL("Property 'prop-int' not found");
41*cc7d2833Sskrll if (!found_prop_str)
42*cc7d2833Sskrll FAIL("Property 'prop-str' not found");
43*cc7d2833Sskrll
44*cc7d2833Sskrll PASS();
45*cc7d2833Sskrll }
46