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