15168cab4cb068dc964e6354167bc857a0e948ff7Hridya Valsaraju/*
25168cab4cb068dc964e6354167bc857a0e948ff7Hridya Valsaraju * Copyright (C) 2018 The Android Open Source Project
35168cab4cb068dc964e6354167bc857a0e948ff7Hridya Valsaraju *
45168cab4cb068dc964e6354167bc857a0e948ff7Hridya Valsaraju * Licensed under the Apache License, Version 2.0 (the "License");
55168cab4cb068dc964e6354167bc857a0e948ff7Hridya Valsaraju * you may not use this file except in compliance with the License.
65168cab4cb068dc964e6354167bc857a0e948ff7Hridya Valsaraju * You may obtain a copy of the License at
75168cab4cb068dc964e6354167bc857a0e948ff7Hridya Valsaraju *
85168cab4cb068dc964e6354167bc857a0e948ff7Hridya Valsaraju *      http://www.apache.org/licenses/LICENSE-2.0
95168cab4cb068dc964e6354167bc857a0e948ff7Hridya Valsaraju *
105168cab4cb068dc964e6354167bc857a0e948ff7Hridya Valsaraju * Unless required by applicable law or agreed to in writing, software
115168cab4cb068dc964e6354167bc857a0e948ff7Hridya Valsaraju * distributed under the License is distributed on an "AS IS" BASIS,
125168cab4cb068dc964e6354167bc857a0e948ff7Hridya Valsaraju * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
135168cab4cb068dc964e6354167bc857a0e948ff7Hridya Valsaraju * See the License for the specific language governing permissions and
145168cab4cb068dc964e6354167bc857a0e948ff7Hridya Valsaraju * limitations under the License.
155168cab4cb068dc964e6354167bc857a0e948ff7Hridya Valsaraju */
165168cab4cb068dc964e6354167bc857a0e948ff7Hridya Valsaraju
175168cab4cb068dc964e6354167bc857a0e948ff7Hridya Valsaraju#ifndef UFDT_TEST_OVERLAY_H
185168cab4cb068dc964e6354167bc857a0e948ff7Hridya Valsaraju#define UFDT_TEST_OVERLAY_H
195168cab4cb068dc964e6354167bc857a0e948ff7Hridya Valsaraju
205168cab4cb068dc964e6354167bc857a0e948ff7Hridya Valsarajuextern "C" {
215168cab4cb068dc964e6354167bc857a0e948ff7Hridya Valsaraju#include <libfdt.h>
225168cab4cb068dc964e6354167bc857a0e948ff7Hridya Valsaraju}
235168cab4cb068dc964e6354167bc857a0e948ff7Hridya Valsaraju
245168cab4cb068dc964e6354167bc857a0e948ff7Hridya Valsaraju/*
255168cab4cb068dc964e6354167bc857a0e948ff7Hridya Valsaraju * Verifies that the FDT described by 'main_fdt_header' has been correctly
264c7735ac0173b71aceb489470fca15b56e64c4d4Hridya Valsaraju * overlaid by the overlays contained in 'overlay_array'
275168cab4cb068dc964e6354167bc857a0e948ff7Hridya Valsaraju *
285168cab4cb068dc964e6354167bc857a0e948ff7Hridya Valsaraju * @param main_fdt_header Buffer describing the final FDT.
295168cab4cb068dc964e6354167bc857a0e948ff7Hridya Valsaraju * @param main_fdt_size Size of main_fdt_header.
304c7735ac0173b71aceb489470fca15b56e64c4d4Hridya Valsaraju * @param overlay_array Array of buffers containg overlay FDTs.
314c7735ac0173b71aceb489470fca15b56e64c4d4Hridya Valsaraju * @param overlay_count Number of overlays.
325168cab4cb068dc964e6354167bc857a0e948ff7Hridya Valsaraju *
335168cab4cb068dc964e6354167bc857a0e948ff7Hridya Valsaraju * @return Will return 0 if the verification is successful.
345168cab4cb068dc964e6354167bc857a0e948ff7Hridya Valsaraju */
355168cab4cb068dc964e6354167bc857a0e948ff7Hridya Valsarajuint ufdt_verify_dtbo(struct fdt_header *main_fdt_header, size_t main_fdt_size,
364c7735ac0173b71aceb489470fca15b56e64c4d4Hridya Valsaraju                     void **overlay_array, size_t overlay_count);
375168cab4cb068dc964e6354167bc857a0e948ff7Hridya Valsaraju#endif /* UFDT_TEST_OVERLAY_H */
38