鲲鹏社区首页
中文
注册
开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

setVoidValue

为配置信息设置void值,将TEE_NET_RES通过DG_Void赋值给config,然后注册到KCAL中。

int setVoidValue ( 
   	DG_Cfg config,
        const char *key,
        const DG_Void *value
)

参数

表1 参数说明

参数名

描述

取值范围

输入/输出

config

初始化配置信息

输入为初始化成功的config

输出

key

value的唯一标识,设置通信接口

key值为DG_CON_MPC_TEE_VOID_NET_API

输入

value

设置的通信结构体

TEE_NET_RES结构体

输入

表2 DG_Void结构体

名称

类型

说明

data

void *

结构体指针

size

long

结构体内存长度

表3 TEE_NET_RES结构体,为DG_Void中data的参数

名称

类型

说明

funcSendData

通信发送函数指针

int (*funcSendData)(struct TeeNodeInfo *nodeInfo, unsigned char *buf, u64 len);

funcRecvData

通信接收函数指针

int (*funcRecvData)(struct TeeNodeInfo *nodeInfo, unsigned char *buf, u64 *len);

返回值

  • 成功:返回0。
  • 失败:返回错误码。

错误码

表4 错误码

错误码

错误码值

描述

特殊说明

DG_ERR_CONFIG_PARAM

62

参数校验失败

config为NULL或key为NULL或value为NULL

依赖

#include "data_guard_config.h" :该接口声明所在的头文件。

示例

#include "data_guard_config.h"
#include "data_guard_mpc.h"
// Senddata和Recvdata为产品实现的通信发送和接收函数
TEE_NET_RES teeNet = {SendData, RecvData};
DG_Void netFunc;
netFunc.data = &teeNet;
netFunc.size = sizeof(TEE_NET_RES);
// 此opts为DG_InitConfigOpts的结果
int res = opts->setVoidValue(teeCfg, DG_CON_MPC_TEE_VOID_NET_API, &netFunc);

运行结果:res为0

使用DG_InitConfigOpts成功返回的opts来调用setVoidValue接口。