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