Rate This Document
Findability
Accuracy
Completeness
Readability

setTeeNodeInfos

Sets the global node information. For two-party computation, only nodes 0 and 1 are supported.

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

Parameters

Table 1 Description

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 2 TeeNodeInfo structure

Member

Type

Description

nodeId

int

Compute nodes 0 and 1

Table 3 TeeNodeInfos structure

Member

Type

Description

nodeInfo

TeeNodeInfo *

Information about multiple nodes.

size

unsigned long

Node count: Only two nodes are supported.

Return Values

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

Error Codes

Table 4 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

  • pirOpts depends on the successful initialization in section DG_InitPirOpts of the function group for the PIR operator.
  • #include "data_guard_mpc.h": required header file

Example

#include  "data_guard_mpc.h" 
   
      struct TeeNodeInfo teeNodes[2];
    teeNodes[0].nodeId = 0;
    teeNodes[1].nodeId = 1;
    struct TeeNodeInfos allNodes;
    allNodes.nodeInfo = teeNodes;
    allNodes.size = 2;
    rv = pirOpts.setTeeNodeInfos(dgTee, &allNodes);
    if (rv != 0) {
        printf("tee set node info error.-%d\n", rv);
        return rv;
    } Note: The node ID is set to 2.

Running result: rv is 0.

Call the setTeeNodeInfos API using the pirOpts output of the successful DG_InitPirOpts call.