xref: /rockchip-linux_mpp/inc/rk_mpp_cfg.h (revision 437bfbeb9567cca9cd9080e3f6954aa9d6a94f18)
1 /* SPDX-License-Identifier: Apache-2.0 OR MIT */
2 /*
3  * Copyright (c) 2024 Rockchip Electronics Co., Ltd.
4  */
5 
6 #ifndef __RK_MPP_CFG_H__
7 #define __RK_MPP_CFG_H__
8 
9 #include "rk_type.h"
10 #include "mpp_err.h"
11 
12 typedef enum MppCfgStrFmt_e {
13     MPP_CFG_STR_FMT_LOG,
14     MPP_CFG_STR_FMT_JSON,
15     MPP_CFG_STR_FMT_TOML,
16     MPP_CFG_STR_FMT_BUTT,
17 } MppCfgStrFmt;
18 
19 typedef void* MppSysCfg;
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 
25 MPP_RET mpp_sys_cfg_get(MppSysCfg *cfg);
26 MPP_RET mpp_sys_cfg_put(MppSysCfg cfg);
27 MPP_RET mpp_sys_cfg_ioctl(MppSysCfg cfg);
28 
29 MPP_RET mpp_sys_cfg_set_s32(MppSysCfg cfg, const char *name, RK_S32 val);
30 MPP_RET mpp_sys_cfg_set_u32(MppSysCfg cfg, const char *name, RK_U32 val);
31 MPP_RET mpp_sys_cfg_set_s64(MppSysCfg cfg, const char *name, RK_S64 val);
32 MPP_RET mpp_sys_cfg_set_u64(MppSysCfg cfg, const char *name, RK_U64 val);
33 MPP_RET mpp_sys_cfg_set_ptr(MppSysCfg cfg, const char *name, void *val);
34 
35 MPP_RET mpp_sys_cfg_get_s32(MppSysCfg cfg, const char *name, RK_S32 *val);
36 MPP_RET mpp_sys_cfg_get_u32(MppSysCfg cfg, const char *name, RK_U32 *val);
37 MPP_RET mpp_sys_cfg_get_s64(MppSysCfg cfg, const char *name, RK_S64 *val);
38 MPP_RET mpp_sys_cfg_get_u64(MppSysCfg cfg, const char *name, RK_U64 *val);
39 MPP_RET mpp_sys_cfg_get_ptr(MppSysCfg cfg, const char *name, void **val);
40 
41 void mpp_sys_cfg_show(void);
42 
43 #ifdef __cplusplus
44 }
45 #endif
46 
47 #endif /*__RK_MPP_CFG_H__*/
48