/* SPDX-License-Identifier: GPL-2.0+ */ /* * Copyright (c) 2022 Google, Inc. * Written by Andrew Scull */ #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 */