xref: /spdk/module/accel/error/accel_error.h (revision 760cb0232b8a15d4632a102b81a4473adff9d3d2)
18625cc18SKonrad Sztyber /* SPDX-License-Identifier: BSD-3-Clause
28625cc18SKonrad Sztyber  * Copyright (C) 2023 Intel Corporation. All rights reserved.
38625cc18SKonrad Sztyber  */
48625cc18SKonrad Sztyber 
58625cc18SKonrad Sztyber #ifndef SPDK_ACCEL_ERROR_H
68625cc18SKonrad Sztyber #define SPDK_ACCEL_ERROR_H
78625cc18SKonrad Sztyber 
88625cc18SKonrad Sztyber #include "spdk/accel.h"
98625cc18SKonrad Sztyber 
108625cc18SKonrad Sztyber enum accel_error_inject_type {
118625cc18SKonrad Sztyber 	ACCEL_ERROR_INJECT_DISABLE,
128625cc18SKonrad Sztyber 	ACCEL_ERROR_INJECT_CORRUPT,
13bb019612SKonrad Sztyber 	ACCEL_ERROR_INJECT_FAILURE,
148625cc18SKonrad Sztyber 	ACCEL_ERROR_INJECT_MAX,
158625cc18SKonrad Sztyber };
168625cc18SKonrad Sztyber 
178625cc18SKonrad Sztyber struct accel_error_inject_opts {
188625cc18SKonrad Sztyber 	enum spdk_accel_opcode		opcode;
198625cc18SKonrad Sztyber 	enum accel_error_inject_type	type;
208625cc18SKonrad Sztyber 	uint64_t			count;
21*760cb023SKonrad Sztyber 	uint64_t			interval;
22bb019612SKonrad Sztyber 	int				errcode;
238625cc18SKonrad Sztyber };
248625cc18SKonrad Sztyber 
258625cc18SKonrad Sztyber int accel_error_inject_error(struct accel_error_inject_opts *opts);
268625cc18SKonrad Sztyber const char *accel_error_get_type_name(enum accel_error_inject_type type);
278625cc18SKonrad Sztyber 
288625cc18SKonrad Sztyber #endif /* SPDK_ACCEL_ERROR_H */
29