1 /* $NetBSD: fuzz.h,v 1.8 2025/01/26 16:25:20 christos Exp $ */ 2 3 /* 4 * Copyright (C) Internet Systems Consortium, Inc. ("ISC") 5 * 6 * SPDX-License-Identifier: MPL-2.0 7 * 8 * This Source Code Form is subject to the terms of the Mozilla Public 9 * License, v. 2.0. If a copy of the MPL was not distributed with this 10 * file, you can obtain one at https://mozilla.org/MPL/2.0/. 11 * 12 * See the COPYRIGHT file distributed with this work for additional 13 * information regarding copyright ownership. 14 */ 15 16 #pragma once 17 18 #include <stdbool.h> 19 #include <stddef.h> 20 #include <stdint.h> 21 22 #include <isc/dir.h> 23 #include <isc/lang.h> 24 #include <isc/mem.h> 25 #include <isc/once.h> 26 #include <isc/types.h> 27 #include <isc/util.h> 28 29 #include <dst/dst.h> 30 31 ISC_LANG_BEGINDECLS 32 33 extern bool debug; 34 35 int 36 LLVMFuzzerInitialize(int *argc ISC_ATTR_UNUSED, char ***argv ISC_ATTR_UNUSED); 37 38 int 39 LLVMFuzzerTestOneInput(const uint8_t *data, size_t size); 40 41 #define CHECK(x) \ 42 if ((x) != ISC_R_SUCCESS) { \ 43 return (0); \ 44 } 45 46 ISC_LANG_ENDDECLS 47