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

release

释放DataGuard配置信息。

int release ( 
    DG_Cfg *config
)

参数

表1 参数说明

参数名

描述

取值范围

输入/输出

config

初始化配置信息

输入的为初始化成功的配置信息

输入

返回值

成功:返回0。

依赖

#include "data_guard_config.h" :该接口声明所在的头文件。

示例

#include "data_guard_config.h"
#include "data_guard_mpc.h"
// 此opts为DG_InitConfigOpts的结果,teeCfg为init成功的结果
int res = opts->release(&teeCfg);

运行结果:res为0

设置KCAL的配置信息的整体示例为:

#include "data_guard_config.h"
#include "data_guard_mpc.h"
 
DG_ConfigOpts *opts = NULL;
int rv = DG_InitConfigOpts(DG_BusinessType::MPC, &opts);
if (rv != 0) {
    printf("DG_InitConfigOpts error!code:%d\n", rv);
    return rv;
}
void *teeCfg = NULL;
rv = opts->init(&teeCfg);
if (rv != 0) {
    printf(" opts->init(dgCfg)!-%d\n", rv);
    return rv;
}
rv = opts->setIntValue(teeCfg, DG_CON_MPC_TEE_INT_NODEID, nodeId);
if (rv != 0) {
    printf(" opts-> setIntValue(dgCfg)!-%d\n", rv);
    return rv;
}
rv = opts->setIntValue(teeCfg, DG_CON_MPC_TEE_INT_FXP_BITS, 2);
if (rv != 0) {
    printf(" opts-> setIntValue(dgCfg)!-%d\n", rv);
    return rv;
}
rv = opts->setIntValue(teeCfg, DG_CON_MPC_TEE_INT_THREAD_COUNT, 16);
if (rv != 0) {
    printf(" opts-> setIntValue(dgCfg)!-%d\n", rv);
    return rv;
}
//国密标志:0-非国密;1-国密
rv = opts->setIntValue(teeCfg, DG_CON_MPC_TEE_INT_IS_SM_ALGORITHM, 1);
if (rv != 0) {
    printf(" opts-> setIntValue(dgCfg)!-%d\n", rv);
    return rv;
}  
// SendData和RecvData为产品实现
TEE_NET_RES teeNet = {SendData, RecvData};
DG_Void netFunc;
netFunc.data = &teeNet;
netFunc.size = sizeof(TEE_NET_RES);
rv = opts->setVoidValue(teeCfg, DG_CON_MPC_TEE_VOID_NET_API, &netFunc);
if (rv != 0) {
    printf(" opts-> setVoidValue(dgCfg)!-%d\n", rv);
    return rv;
}
//  业务全部结束后释放
DG_ReleaseConfigOpts(&opts);

运行结果:rv中都为0

调用DG_InitConfigOpts成功后的opts来调用release接口。