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