1*a4b16dadSTom Zanussi /* SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0-only) */
2*a4b16dadSTom Zanussi /* Copyright(c) 2014 - 2020 Intel Corporation */
3*a4b16dadSTom Zanussi #ifndef ADF_CFG_USER_H_
4*a4b16dadSTom Zanussi #define ADF_CFG_USER_H_
5*a4b16dadSTom Zanussi 
6*a4b16dadSTom Zanussi #include "adf_cfg_common.h"
7*a4b16dadSTom Zanussi #include "adf_cfg_strings.h"
8*a4b16dadSTom Zanussi 
9*a4b16dadSTom Zanussi struct adf_user_cfg_key_val {
10*a4b16dadSTom Zanussi 	char key[ADF_CFG_MAX_KEY_LEN_IN_BYTES];
11*a4b16dadSTom Zanussi 	char val[ADF_CFG_MAX_VAL_LEN_IN_BYTES];
12*a4b16dadSTom Zanussi 	union {
13*a4b16dadSTom Zanussi 		struct adf_user_cfg_key_val *next;
14*a4b16dadSTom Zanussi 		__u64 padding3;
15*a4b16dadSTom Zanussi 	};
16*a4b16dadSTom Zanussi 	enum adf_cfg_val_type type;
17*a4b16dadSTom Zanussi } __packed;
18*a4b16dadSTom Zanussi 
19*a4b16dadSTom Zanussi struct adf_user_cfg_section {
20*a4b16dadSTom Zanussi 	char name[ADF_CFG_MAX_SECTION_LEN_IN_BYTES];
21*a4b16dadSTom Zanussi 	union {
22*a4b16dadSTom Zanussi 		struct adf_user_cfg_key_val *params;
23*a4b16dadSTom Zanussi 		__u64 padding1;
24*a4b16dadSTom Zanussi 	};
25*a4b16dadSTom Zanussi 	union {
26*a4b16dadSTom Zanussi 		struct adf_user_cfg_section *next;
27*a4b16dadSTom Zanussi 		__u64 padding3;
28*a4b16dadSTom Zanussi 	};
29*a4b16dadSTom Zanussi } __packed;
30*a4b16dadSTom Zanussi 
31*a4b16dadSTom Zanussi struct adf_user_cfg_ctl_data {
32*a4b16dadSTom Zanussi 	union {
33*a4b16dadSTom Zanussi 		struct adf_user_cfg_section *config_section;
34*a4b16dadSTom Zanussi 		__u64 padding;
35*a4b16dadSTom Zanussi 	};
36*a4b16dadSTom Zanussi 	__u8 device_id;
37*a4b16dadSTom Zanussi } __packed;
38*a4b16dadSTom Zanussi #endif
39