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

initTeeCtx

初始化dgTeeCtx。

int initTeeCtx ( 
    DG_Cfg dgCfg, 
    DG_TeeCtx **dgTeeCtx
   )

参数

表1 参数说明

参数名

描述

取值范围

输入/输出

dgCfg

KCAL的配置信息类型为void*

不为空,已初始化过

输入

dgTeeCtx

KCAL的上下文信息为DG_TeeCtx **

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

输出

返回值

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

错误码

表2 错误码

错误码

错误码值

描述

特殊说明

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

DG_ERR_MPC_TEE_INVALID_ENVIRONMENT

4509

4511

小数精度位数未设置

无效的cpuId或CVM环境

-

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

依赖

依赖的头文件为 #include "data_guard_mpc.h"。

示例

#include  "data_guard_mpc.h" 
// 假设 teeCfg 已初始化好
DG_Arithmetic_Opts aritOpts = DG_InitArithmeticOpts();
struct DG_TeeCtx *dgTee = nullptr;
int rv = aritOpts.initTeeCtx(teeCfg, &dgTee);
if (rv != 0) {
     printf("tee init error.-%d\n", rv);
     return rv;
}

运行结果:rv为0

此函数为创建dgTeeCtx结构体,通过调用DG_InitArithmeticOpts成功后的aritOpts来调用initTeeCtx接口。