---
title: DG_InitPsmOpts
description: "初始化PSM函数组。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengcctrustzone/tee/kcal/kunpeng_kcal_16_0069.html
sourcePath: /source/zh/kunpengcctrustzone/tee/kcal/kunpeng_kcal_16_0069.html
indexId: 3efe62ecf6225c1d13a57b1c1f0361f26fdea397e76ef165d9cb3230b46ffc2564
---
# DG_InitPsmOpts

初始化PSM函数组。

```
DG_PSM_Opts DG_InitPsmOpts()
```

#### 参数

无


**表1 DG_PSM_Opts结构体**

| 名称 | 类型 | 说明 |
| --- | --- | --- |
| initTeeCtx | 函数指针 | int (\*initTeeCtx)(DG\_Cfg dgCfg, DG\_TeeCtx \*\*dgTeeCtx); 初始化MPC对象 |
| releaseTeeCtx | 函数指针 | void (\*releaseTeeCtx)(DG\_TeeCtx \*\*dgTeeCtx); 释放MPC对象 |
| setTeeNodeInfos | 函数指针 | int (\*setTeeNodeInfos)(DG\_TeeCtx \*dgTeeCtx, struct TeeNodeInfos \*teeNodeInfos); 设置所有节点信息 |
| offlineCalculate | 函数指针 | int (\*offlineCalculate)(DG\_TeeCtx \*dgTeeCtx, DG\_TeeInput \*input, DG\_Buckets \*\*buckets); 服务端执行离线计算 |
| clientCalculate | 函数指针 | int (\*clientCalculate)(DG\_TeeCtx \*dgTeeCtx, DG\_TeeMode outputMode, DG\_TeeInput \*input, DG\_TeeOutput \*\*output); 客户端执行线上操作 |
| serverCalculate | 函数指针 | int (\*serverCalculate)(DG\_TeeCtx \*dgTeeCtx, DG\_Buckets \*buckets); 服务端执行线上操作 |
| releaseOutput | 函数指针 | void (\*releaseOutput)(DG\_TeeOutput \*\*output); 释放输出资源 |
| releaseBuckets | 函数指针 | void (\*releaseBuckets)(DG\_Buckets \*\*buckets); 释放服务端线下操作生成的分桶数据 |


#### 返回值

DG_PSM_Opts：PSM类操作集合对象。


#### 错误码

无


#### 依赖

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


#### 示例

此函数用于创建并初始化PSM类算子的函数组，PSM类算子的所有对外函数都在DG_PSM_Opts中。


```
#include  "data_guard_mpc.h"
DG_PSM_Opts psmOpts = DG_InitPsmOpts();
```
