/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Automatically generated by rvgen kunit.
 * May need manual intervention for function prototypes that couldn't be
 * found (e.g. are in another file) or variables to be exported.
 */

#ifndef __STS_KUNIT_H
#define __STS_KUNIT_H

#if IS_ENABLED(CONFIG_RV_MONITORS_KUNIT_TEST)

#include <linux/rv.h>
#include <rv/kunit.h>

extern const struct rv_sts_ops {
	struct rv_kunit_mon mon;
#ifdef CONFIG_X86_LOCAL_APIC
	void (*handle_vector_irq_entry)(void *data, int vector);
#endif
	void (*handle_irq_disable)(void *data, unsigned long ip, unsigned long parent_ip);
	void (*handle_irq_enable)(void *data, unsigned long ip, unsigned long parent_ip);
	void (*handle_irq_entry)(void *data, int irq, struct irqaction *action);
	void (*handle_sched_switch)(void *data, bool preempt,
				struct task_struct *prev,
				struct task_struct *next,
				unsigned int prev_state);
	void (*handle_schedule_entry)(void *data, bool preempt);
	void (*handle_schedule_exit)(void *data, bool is_switch);
} rv_sts_ops;
#endif

#endif /* __STS_KUNIT_H */