initTeeCtx
初始化dgTeeCtx。
int initTeeCtx (
DG_Cfg dgCfg,
DG_TeeCtx **dgTeeCtx
)
参数
参数名 |
描述 |
取值范围 |
输入/输出 |
|---|---|---|---|
dgCfg |
KCAL的配置信息类型为void* |
不为空,已初始化过 |
输入 |
dgTeeCtx |
KCAL的上下文信息为DG_TeeCtx** |
一级指针为空,二级指针不为空 |
输出 |
名称 |
类型 |
说明 |
|---|---|---|
TeeNodeInfos |
结构体指针 |
TeeNodeInfos*节点信息。 |
teeNetRes |
结构体指针 |
TEE_NET_RES*传入通信接口。 |
nodeIndex |
Int |
节点序号,在TeeNodeInfos中的序号。 |
seedInfoList |
结构体 |
SeedInfoList协商的种子信息。 |
threadCount |
Int |
线程个数。 |
fxpBits |
int |
标识小数精度。 |
serverSeed |
Data128 |
PIR协议中server保存种子。 |
maxPaddingLen |
Unsigned long |
PIR协议中Server做最大padding的长度,用来处理NULL情况。 |
返回值
- 成功:返回0。
- 失败:返回错误码。
错误码
错误码 |
错误码值 |
描述 |
特殊说明 |
|---|---|---|---|
DG_ERR_MPC_TEE_INVALID_CPUID |
4511 |
无效的cpuid |
cpuid不为鲲鹏920或鲲鹏920新型号处理器 |
DG_ERR_MPC_TEE_INVALID_PARAM |
4501 |
无效参数 |
入参为空,或入参的一级指针为空 |
DG_ERR_MPC_TEE_NET_API_CALLBACK_NOT_SET |
4507 |
网络发送、接收函数未注册 |
- |
DG_ERR_MPC_TEE_NODEID_NOT_SET |
4506 |
nodeId未设置 |
- |
DG_ERR_MPC_TEE_FXP_BITS_NOT_SET |
4509 |
小数精度位数未设置 |
- |
依赖
依赖的头文件为 #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
调用DG_Arithmetic_Opts成功后的aritOpts来调用initTeeCtx接口。。
父主题: 算术类算子