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

setTeeNodeInfos

设置全局节点信息,目前只支持两方0,1节点。

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

参数

表1 参数说明

参数名

描述

取值范围

输入/输出

dgTeeCtx

KCAL上下文信息

initTeeCtx成功初始化的结果

输入

teeNodeInfos

全局节点信息

不为NULL

输入

表2 TeeNodeInfo结构体

名称

类型

说明

nodeId

int

计算方节点编号0,1

表3 TeeNodeInfos结构体

名称

类型

说明

nodeInfo

TeeNodeInfo *

多个节点信息

size

unsigned long

节点个数,使用约束:目前只支持两个节点

返回值

  • 成功:返回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开始依次递增

依赖

  • pirOpts依赖DG_InitPirOpts的成功初始化PIR类函数组
  • 依赖的头文件为#include "data_guard_mpc.h"

示例

#include  "data_guard_mpc.h" 
   
      struct TeeNodeInfo teeNodes[2];
    teeNodes[0].nodeId = 0;
    teeNodes[1].nodeId = 1;
    struct TeeNodeInfos allNodes;
    allNodes.nodeInfo = teeNodes;
    allNodes.size = 2;
    rv = pirOpts.setTeeNodeInfos(dgTee, &allNodes);
    if (rv != 0) {
        printf("tee set node info error.-%d\n", rv);
        return rv;
    }说明:目前节点信息设置为2

运行结果:rv结果为0

调用DG_InitPirOpts成功后的pirOpts来调用setTeeNodeInfos接口