| /* SPDX-License-Identifier: GPL-2.0+ */ | |
| /* | |
| * Copyright (c) 2022 Google, Inc. | |
| * Written by Andrew Scull <ascull@google.com> | |
| */ | |
| #ifndef __FUZZING_ENGINE_H | |
| #define __FUZZING_ENGINE_H | |
| struct udevice; | |
| /** | |
| * dm_fuzzing_engine_get_input() - get an input from the fuzzing engine device | |
| * | |
| * The function will return a pointer to the input data and the size of the | |
| * data pointed to. The pointer will remain valid until the next invocation of | |
| * this function. | |
| * | |
| * @dev: fuzzing engine device | |
| * @data: output pointer to input data | |
| * @size output size of input data | |
| * Return: 0 if OK, -ve on error | |
| */ | |
| int dm_fuzzing_engine_get_input(struct udevice *dev, | |
| const uint8_t **data, | |
| size_t *size); | |
| /** | |
| * struct dm_fuzzing_engine_ops - operations for the fuzzing engine uclass | |
| * | |
| * This contains the functions implemented by a fuzzing engine device. | |
| */ | |
| struct dm_fuzzing_engine_ops { | |
| /** | |
| * @get_input() - get an input | |
| * | |
| * The function will return a pointer to the input data and the size of | |
| * the data pointed to. The pointer will remain valid until the next | |
| * invocation of this function. | |
| * | |
| * @get_input.dev: fuzzing engine device | |
| * @get_input.data: output pointer to input data | |
| * @get_input.size output size of input data | |
| * @get_input.Return: 0 if OK, -ve on error | |
| */ | |
| int (*get_input)(struct udevice *dev, | |
| const uint8_t **data, | |
| size_t *size); | |
| }; | |
| #endif /* __FUZZING_ENGINE_H */ |