1 /* SPDX-License-Identifier: Apache-2.0 OR MIT */ 2 /* 3 * Copyright (c) 2025 Rockchip Electronics Co., Ltd. 4 */ 5 6 #ifndef __KMPP_IOC_H__ 7 #define __KMPP_IOC_H__ 8 9 #include "rk_type.h" 10 11 typedef void* KmppIoc; 12 13 #define KMPP_IOC_ENTRY_TABLE(prefix, ENTRY, STRCT, EHOOK, SHOOK, ALIAS) \ 14 ENTRY(prefix, u32, rk_u32, def, FLAG_NONE, def) \ 15 ENTRY(prefix, u32, rk_u32, cmd, FLAG_NONE, cmd) \ 16 ENTRY(prefix, u32, rk_u32, flags, FLAG_NONE, flags) \ 17 ENTRY(prefix, u32, rk_u32, id, FLAG_NONE, id) \ 18 ENTRY(prefix, s32, rk_s32, ret, FLAG_NONE, ret) \ 19 STRCT(prefix, shm, KmppShmPtr, ctx, FLAG_NONE, ctx) \ 20 STRCT(prefix, shm, KmppShmPtr, in, FLAG_NONE, in) \ 21 STRCT(prefix, shm, KmppShmPtr, out, FLAG_NONE, out) 22 23 #define KMPP_OBJ_NAME kmpp_ioc 24 #define KMPP_OBJ_INTF_TYPE KmppIoc 25 #define KMPP_OBJ_ENTRY_TABLE KMPP_IOC_ENTRY_TABLE 26 #include "kmpp_obj_func.h" 27 28 #endif /*__KMPP_IOC_H__*/ 29