xref: /openbmc/qemu/tests/qtest/fuzz/qos_fuzz.h (revision 275ab39d)
1*275ab39dSAlexander Bulekov /*
2*275ab39dSAlexander Bulekov  * QOS-assisted fuzzing helpers
3*275ab39dSAlexander Bulekov  *
4*275ab39dSAlexander Bulekov  * Copyright Red Hat Inc., 2019
5*275ab39dSAlexander Bulekov  *
6*275ab39dSAlexander Bulekov  * Authors:
7*275ab39dSAlexander Bulekov  *  Alexander Bulekov   <alxndr@bu.edu>
8*275ab39dSAlexander Bulekov  *
9*275ab39dSAlexander Bulekov  * This work is licensed under the terms of the GNU GPL, version 2 or later.
10*275ab39dSAlexander Bulekov  * See the COPYING file in the top-level directory.
11*275ab39dSAlexander Bulekov  */
12*275ab39dSAlexander Bulekov 
13*275ab39dSAlexander Bulekov #ifndef _QOS_FUZZ_H_
14*275ab39dSAlexander Bulekov #define _QOS_FUZZ_H_
15*275ab39dSAlexander Bulekov 
16*275ab39dSAlexander Bulekov #include "tests/qtest/fuzz/fuzz.h"
17*275ab39dSAlexander Bulekov #include "tests/qtest/libqos/qgraph.h"
18*275ab39dSAlexander Bulekov 
19*275ab39dSAlexander Bulekov int qos_fuzz(const unsigned char *Data, size_t Size);
20*275ab39dSAlexander Bulekov void qos_setup(void);
21*275ab39dSAlexander Bulekov 
22*275ab39dSAlexander Bulekov extern void *fuzz_qos_obj;
23*275ab39dSAlexander Bulekov extern QGuestAllocator *fuzz_qos_alloc;
24*275ab39dSAlexander Bulekov 
25*275ab39dSAlexander Bulekov void fuzz_add_qos_target(
26*275ab39dSAlexander Bulekov         FuzzTarget *fuzz_opts,
27*275ab39dSAlexander Bulekov         const char *interface,
28*275ab39dSAlexander Bulekov         QOSGraphTestOptions *opts
29*275ab39dSAlexander Bulekov         );
30*275ab39dSAlexander Bulekov 
31*275ab39dSAlexander Bulekov void qos_init_path(QTestState *);
32*275ab39dSAlexander Bulekov 
33*275ab39dSAlexander Bulekov #endif
34