---
title: DG_InitArithmeticOpts
description: "初始化函数组。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengcctrustzone/tee/kcal/kunpeng_kcal_16_0017.html
sourcePath: /source/zh/kunpengcctrustzone/tee/kcal/kunpeng_kcal_16_0017.html
indexId: 5668898020fb4d84b65af67afc198e3adec419e799c1032dc74362598d9fe47a64
---
# DG_InitArithmeticOpts

初始化函数组。

```
DG_Arithmetic_Opts DG_InitArithmeticOpts();
```

#### 参数

无


**表1 DG_Arithmetic_Opts结构体**

| 名称 | 类型 | 说明 |
| --- | --- | --- |
| initTeeCtx | 函数指针 | int (\*initTeeCtx)(DG\_Cfg dgCfg, DG\_TeeCtx \*\*dgTeeCtx); 初始化KCAL对象。 |
| releaseTeeCtx | 函数指针 | void (\*releaseTeeCtx)(DG\_TeeCtx \*\*dgTeeCtx); 释放KCAL对象。 |
| setTeeNodeInfos | 函数指针 | int (\*setTeeNodeInfos)(DG\_TeeCtx \*dgTeeCtx, struct TeeNodeInfos \*teeNodeInfos); 设置所有节点信息。 |
| negotiateSeeds | 函数指针 | int (\*negotiateSeeds)(DG\_TeeCtx \*dgTeeCtx); 协商种子接口。 |
| calculate | 函数指针 | int (\*calculate)(DG\_TeeCtx \*dgTeeCtx, DG\_AlgorithmsType type, DG\_MpcShareSet \*shareSet, DG\_MpcShare \*\*share); 执行算术类算子计算。 |
| makeShare | 函数指针 | int (\*makeShare)(DG\_TeeCtx \*dgTeeCtx, int isRecvShare, DG\_TeeInput \*input, DG\_MpcShare \*\*share); 分片功能。 |
| revealShare | 函数指针 | int (\*revealShare)(DG\_TeeCtx \*dgTeeCtx, DG\_MpcShare \*share, DG\_TeeOutput \*\*output); 还原功能。 |
| releaseShare | 函数指针 | void (\*releaseShare)(DG\_MpcShare \*\*share); 释放分片资源。 |
| releaseOutput | 函数指针 | void (\*releaseOutput)(DG\_TeeOutput \*\*output); 释放输出资源。 |


#### 返回值

DG_Arithmetic_Opts：算术类操作集合对象。


#### 错误码

无


#### 依赖

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


#### 示例

此函数用于创建并初始化KCAL算术类算子函数组，KCAL提供的算术类算子函数都在DG_Arithmetic_Opts中。


```
#include  "data_guard_mpc.h"
DG_Arithmetic_Opts aritOpts = DG_InitArithmeticOpts();
```
