]> git.ipfire.org Git - thirdparty/u-boot.git/blob - include/fuzzing_engine.h
imx: imxrt1050-evk: Add support for SPI flash booting
[thirdparty/u-boot.git] / include / fuzzing_engine.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3 * Copyright (c) 2022 Google, Inc.
4 * Written by Andrew Scull <ascull@google.com>
5 */
6
7 #ifndef __FUZZING_ENGINE_H
8 #define __FUZZING_ENGINE_H
9
10 struct udevice;
11
12 /**
13 * dm_fuzzing_engine_get_input() - get an input from the fuzzing engine device
14 *
15 * The function will return a pointer to the input data and the size of the
16 * data pointed to. The pointer will remain valid until the next invocation of
17 * this function.
18 *
19 * @dev: fuzzing engine device
20 * @data: output pointer to input data
21 * @size output size of input data
22 * Return: 0 if OK, -ve on error
23 */
24 int dm_fuzzing_engine_get_input(struct udevice *dev,
25 const uint8_t **data,
26 size_t *size);
27
28 /**
29 * struct dm_fuzzing_engine_ops - operations for the fuzzing engine uclass
30 *
31 * This contains the functions implemented by a fuzzing engine device.
32 */
33 struct dm_fuzzing_engine_ops {
34 /**
35 * @get_input() - get an input
36 *
37 * The function will return a pointer to the input data and the size of
38 * the data pointed to. The pointer will remain valid until the next
39 * invocation of this function.
40 *
41 * @get_input.dev: fuzzing engine device
42 * @get_input.data: output pointer to input data
43 * @get_input.size output size of input data
44 * @get_input.Return: 0 if OK, -ve on error
45 */
46 int (*get_input)(struct udevice *dev,
47 const uint8_t **data,
48 size_t *size);
49 };
50
51 #endif /* __FUZZING_ENGINE_H */