xref: /spdk/lib/accel/accel_internal.h (revision 877573897ad52be4fa8989f7617bd655b87e05c4)
1 /*   SPDX-License-Identifier: BSD-3-Clause
2  *   Copyright (C) 2022 Intel Corporation.
3  *   Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES.
4  *   All rights reserved.
5  */
6 
7 #ifndef SPDK_INTERNAL_ACCEL_INTERNAL_H
8 #define SPDK_INTERNAL_ACCEL_INTERNAL_H
9 
10 #include "spdk/stdinc.h"
11 
12 #include "spdk/accel.h"
13 #include "spdk/queue.h"
14 #include "spdk/config.h"
15 
16 struct module_info {
17 	struct spdk_json_write_ctx *w;
18 	const char *name;
19 	enum accel_opcode ops[ACCEL_OPC_LAST];
20 	uint32_t num_ops;
21 };
22 
23 typedef void (*_accel_for_each_module_fn)(struct module_info *info);
24 void _accel_for_each_module(struct module_info *info, _accel_for_each_module_fn fn);
25 int _accel_get_opc_name(enum accel_opcode opcode, const char **opcode_name);
26 
27 #endif
28