blob: 357346e93dfef1e51dbfc1289768d2964d7b5f97 [file] [log] [blame]
/* 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 */