Rate This Document
Findability
Accuracy
Completeness
Readability

setTeeNodeInfos

Sets the global node information. For two-party operations, nodes 0 and 1 are used. For three-party operations, nodes 0, 1, and 2 are used.

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

Parameters

Parameter

Description

Value Range

Input/Output

dgTeeCtx

KCAL context

Context initialized in section initTeeCtx.

Input

teeNodeInfos

Global node information

The value is not null.

Input

Table 1 TeeNodeInfo structure

Name

Type

Description

nodeId

int

Compute node ID, which can be 0, 1, or 2.

Table 2 TeeNodeInfos structure

Name

Type

Description

nodeInfo

TeeNodeInfo *

Information about multiple nodes.

size

unsigned long

Node count. Two or three nodes are supported.

Return Values

  • Success: 0 is returned.
  • Failure: The error code is returned.

Error Codes

Error Code

Value

Description

Remarks

DG_ERR_MPC_TEE_INVALID_PARAM

4501

Failed to verify the parameters.

dgTeeCtx or teeNodeInfos is null.

DG_ERR_MPC_TEE_INVALID_NODE_INFO

4503

Invalid node information.

The setting of the network parameters or the number of global nodes is incorrect.

DG_ERR_MPC_TEE_NODE_NOT_SORT_AND_START_0

4505

The node IDs are not numbered from 0.

The node IDs must be numbered from 0 and increment sequentially.

Dependency

  • teeOpts depends on the successful initialization in section DG_InitPsiOpts of the function group for the PSI operator.
  • #include "data_guard_mpc.h": the header file where the API declaration is stored.

Example

#include  "data_guard_mpc.h" 
   
struct TeeNodeInfo teeNodes[3];
teeNodes[0].nodeId = 0;
teeNodes[1].nodeId = 1;
teeNodes[1].nodeId = 2;
struct TeeNodeInfos allNodes;
allNodes.nodeInfo = teeNodes;
allNodes.size = 3;
// teeOpts is the result of the successful DG_InitPsiOpts call, and dgTee is the result of the successful initTeeCtx call.
rv = teeOpts.setTeeNodeInfos(dgTee, &allNodes);

The number of nodes is set to 3.

Running result: rv is 0.

Call the setTeeNodeInfos API using the teeOpts output of the successful DG_InitPsiOpts call.