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

setTeeNodeInfos

为dgTeeCtx设置全局节点信息,目前支持两方0,1节点或三方0,1,2节点。

int setTeeNodeInfos ( 
     DG_TeeCtx *dgTeeCtx, 
     struct TeeNodeInfos *teeNodeInfos
)

参数

表1 参数说明

参数名

描述

取值范围

输入/输出

dgTeeCtx

Tee上下文信息

initTeeCtx成功初始化的结果

输入

teeNodeInfos

全局节点信息

不为NULL

输入

表2 TeeNodeInfos结构体

名称

类型

说明

nodeInfo

TeeNodeInfo *

多个节点信息

size

unsigned long

节点个数,目前支持两个节点或三个节点

表3 TeeNodeInfo结构体

名称

类型

说明

nodeId

int

nodeId为节点编号,取值为0和1

返回值

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

错误码

表4 错误码

错误码

错误码值

描述

特殊说明

DG_ERR_MPC_TEE_INVALID_PARAM

4501

参数校验失败

dgTeeCtxNULLteeNodeInfosNULL

DG_ERR_MPC_TEE_INVALID_NODE_INFO

4503

无效的节点信息

网络参数设置不正确或全局节点个数设置不正确

DG_ERR_MPC_TEE_NODE_NOT_SORT_AND_START_0

4505

nodeId未按照从0编号开始

nodeId规定从0开始依次递增

DG_ERR_MEMCPY_FAIL

52

内存拷贝失败

拷贝节点信息失败

依赖

  • dgTeeCtx依赖initTeeCtx的成功初始化。
  • 依赖的头文件为 #include "data_guard_mpc.h"

示例

#include  "data_guard_mpc.h" 
// 假设 dgTee 已初始化好
struct TeeNodeInfo teeNodes[3];
teeNodes[0].nodeId = 0;
teeNodes[1].nodeId = 1;
teeNodes[2].nodeId = 2;
struct TeeNodeInfos allNodes;
allNodes.nodeInfo = teeNodes;
allNodes.size = 3;
rv = aritOpts.setTeeNodeInfos(dgTee, &allNodes);
if (rv != 0) {
    printf("tee set node info error.-%d\n", rv);
    return rv;
}

目前节点个数设置为3

运行结果:rv为0

调用initTeeCtx成功后的dgTeeCtx作为输入,来调用setTeeNodeInfos接口