xref: /rockchip-linux_mpp/osal/inc/mpp_callback.h (revision 437bfbeb9567cca9cd9080e3f6954aa9d6a94f18)
1*437bfbebSnyanmisaka /* SPDX-License-Identifier: Apache-2.0 OR MIT */
2*437bfbebSnyanmisaka /*
3*437bfbebSnyanmisaka  * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
4*437bfbebSnyanmisaka  */
5*437bfbebSnyanmisaka 
6*437bfbebSnyanmisaka #ifndef __MPP_CALLBACK_H__
7*437bfbebSnyanmisaka #define __MPP_CALLBACK_H__
8*437bfbebSnyanmisaka 
9*437bfbebSnyanmisaka #include "rk_type.h"
10*437bfbebSnyanmisaka #include "mpp_err.h"
11*437bfbebSnyanmisaka 
12*437bfbebSnyanmisaka typedef MPP_RET (*MppCallBack)(const char *caller, void *ctx, RK_S32 cmd, void *param);
13*437bfbebSnyanmisaka 
14*437bfbebSnyanmisaka typedef struct DecCallBackCtx_t {
15*437bfbebSnyanmisaka     MppCallBack callBack;
16*437bfbebSnyanmisaka     void        *ctx;
17*437bfbebSnyanmisaka     RK_S32      cmd;
18*437bfbebSnyanmisaka } MppCbCtx;
19*437bfbebSnyanmisaka 
20*437bfbebSnyanmisaka #ifdef __cplusplus
21*437bfbebSnyanmisaka extern "C" {
22*437bfbebSnyanmisaka #endif
23*437bfbebSnyanmisaka 
24*437bfbebSnyanmisaka #define mpp_callback(ctx, param)  mpp_callback_f(__FUNCTION__, ctx, param)
25*437bfbebSnyanmisaka 
26*437bfbebSnyanmisaka MPP_RET mpp_callback_f(const char *caller, MppCbCtx *ctx, void *param);
27*437bfbebSnyanmisaka 
28*437bfbebSnyanmisaka #ifdef __cplusplus
29*437bfbebSnyanmisaka }
30*437bfbebSnyanmisaka #endif
31*437bfbebSnyanmisaka 
32*437bfbebSnyanmisaka #endif /* __MPP_CALLBACK_H__ */
33