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

initTeeCtx

将配置好的dgCfg中的通信回调和节点信息注册到KCAL中,初始化KCAL上下文信息。

int initTeeCtx(
     DG_Cfg dgCfg, 
     DG_TeeCtx **dgTeeCtx
)

参数

参数名

描述

取值范围

输入/输出

dgCfg

KCAL的配置信息

依赖DataGuard操作集设置类接口设置好的dgCfg

输入

dgTeeCtx

KCAL的上下文信息

一级指针为空,二级指针不为空

输出

返回值

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

错误码

错误码

错误码值

描述

特殊说明

DG_SUCCESS

0

成功

-

DG_ERR_MPC_TEE_INVALID_PARAM

4501

参数校验失败

DgCfgNULLdgTeeCtx二级指针为空

DG_ERR_MPC_TEE_NODEID_NOT_SET

4506

nodeId未设置

需要各个节点设置自己的节点信息

DG_ERR_MPC_TEE_NET_API_CALLBACK_NOT_SET

4507

网络发送或接收函数未注册

通信提供回调由产品注册

DG_ERR_MPC_TEE_FXP_BITS_NOT_SET

4509

小数精度位数未设置

-

DG_ERR_MPC_TEE_INVALID_ENVIRONMENT

4511

无效的cpuId或CVM环境

只能在CPUID920920新型号的鲲鹏服务器上运行密态计算功能

依赖

  • dgCfg依赖DataGuard操作集设置类接口设置KCAL配置信息成功,用设定好的dgCfg作为此接口的入参。
  • pirOpts依赖DG_InitPirOpts的成功初始化PIR类算子函数组
  • 依赖的头文件为 #include "data_guard_mpc.h"

示例

#include  "data_guard_mpc.h" 

struct DG_TeeCtx *dgTee = NULL;
 
// 其中pirOpts为调用DG_InitPirOpts成功后的结果,teeCfg为DataGuard操作集设置类接口设置KCAL配置信息后的结果
int rv = pirOpts.initTeeCtx(teeCfg, &dgTee);
if (rv != 0) {
    return rv;
}

运行结果: rv为0

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