Rate This Document
Findability
Accuracy
Completeness
Readability

DG_InitPirOpts

Initializes the function group for the PIR operator.

DG_PIR_Opts DG_InitPirOpts()

Parameters

None

Table 1 DG_PIR_Opts structure

Name

Type

Description

initTeeCtx

Function pointer

int (*initTeeCtx)(DG_Cfg dgCfg, DG_TeeCtx **dgTeeCtx);

Initializes the KCAL object.

releaseTeeCtx

Function pointer

void (*releaseTeeCtx)(DG_TeeCtx **dgTeeCtx);

Releases the KCAL object.

setTeeNodeInfos

Function pointer

int (*setTeeNodeInfos)(DG_TeeCtx *dgTeeCtx, struct TeeNodeInfos *teeNodeInfos);

Sets the information about all nodes.

offlineCalculate

Function pointer

int (*offlineCalculate)(DG_TeeCtx *dgTeeCtx, DG_PairList *pairList, DG_BucketMap **bucketMap);

The server executes offline calculations.

clientCalculate

Function pointer

int (*clientCalculate)(DG_TeeCtx *dgTeeCtx, DG_DummyMode dummyMode, DG_TeeInput *input, DG_TeeOutput **output);

The client executes online operations.

serverCalculate

Function pointer

int (*serverCalculate)(DG_TeeCtx *dgTeeCtx, DG_BucketMap *bucketMap);

The server executes online operations.

releaseOutput

Function pointer

void (*releaseOutput)(DG_TeeOutput **output);

Releases output resources.

releaseBucketMap

Function pointer

void (*releaseBucketMap)(DG_BucketMap **bucketMap);

Releases bucket data generated by the offline operations on the server.

Return Values

DG_PIR_Opts: PIR operation set object.

Error Codes

None

Dependency

#include "data_guard_mpc.h": the header file where the API declaration is stored.

Example

#include  "data_guard_mpc.h" 
   
 DG_PIR_Opts pirOpts = DG_InitPirOpts();

This function initializes the function group for the PIR operator. The DG_PIR_Opts structure includes all public functions for the PIR operator.