Rate This Document
Findability
Accuracy
Completeness
Readability

setTeeNodeInfos

Sets the global node information for dgTeeCtx. 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

Table 1 Description

Parameter

Description

Value Range

Input/Output

dgTeeCtx

TEE context

Context initialized in section initTeeCtx.

Input

teeNodeInfos

Global node information

The value is not null.

Input

Table 2 TeeNodeInfos structure

Member

Type

Description

nodeInfo

TeeNodeInfo *

Information about multiple nodes.

size

unsigned long

Node count. Two or three nodes are supported.

Table 3 TeeNodeInfo structure

Member

Type

Description

nodeId

int

Node ID, which can be 0 or 1.

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

The node information is invalid.

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.

DG_ERR_MEMCPY_FAIL

52

Failed to copy from memory.

Failed to copy the node information.

Dependency

  • dgTeeCtx depends on the successful initialization of initTeeCtx.
  • #include "data_guard_mpc.h": required header file

Example

#include  "data_guard_mpc.h" 
// It is assumed that dgTee has been initialized.
struct TeeNodeInfo teeNodes[3];
teeNodes[0].nodeId = 0;
teeNodes[1].nodeId = 1;
teeNodes[2].nodeId = 2;
struct TeeNodeInfos allNodes;
allNodes.nodeInfo = teeNodes;
allNodes.size = 3;
rv = aritOpts.setTeeNodeInfos(dgTee, &allNodes);
if (rv != 0) {
    printf("tee set node info error.-%d\n", rv);
    return rv;
}

The number of nodes is set to 3.

Running result: rv is 0.

dgTeeCtx returned after the successful initTeeCtx call is used as the input to call the setTeeNodeInfos API.