我要评分
获取效率
正确性
完整性
易理解

initTeeCtx

Registers the communication callback and node information configured in dgCfg with KCAL and initializes the KCAL context.

int initTeeCtx(
        DG_Cfg dgCfg, 
        DG_TeeCtx **dgTeeCtx
)

Parameters

Table 1 Description

Parameter

Description

Value Range

Input/Output

dgCfg

KCAL configuration

Depends on dgCfg configured in section DataGuard APIs for Configuring an Operation Set.

Input

dgTeeCtx

KCAL context

It is null as a single pointer and cannot be null as a double pointer.

Output

Return Values

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

Error Codes

Table 2 Error codes

Error Code

Value

Description

Remarks

DG_SUCCESS

0

Success

-

DG_ERR_MALLOC_FAIL

51

Failed to allocate memory.

-

DG_ERR_MPC_TEE_INVALID_PARAM

4501

Failed to verify the parameters.

dgCfg is null or the dgTeeCtx double pointer is null.

DG_ERR_MPC_TEE_NODEID_NOT_SET

4506

The node ID is not set.

Each node needs to set its node information.

DG_ERR_MPC_TEE_NET_API_CALLBACK_NOT_SET

4507

The network send or receive function is not registered.

The communication callback is registered by the product.

DG_ERR_MPC_TEE_FXP_BITS_NOT_SET

4509

The number of fractional bits is not set.

-

DG_ERR_MPC_TEE_INVALID_CPUID

4511

The CPU ID is invalid.

The cryptographic computing feature can run only on servers with the Kunpeng 920 or new Kunpeng 920 model.

Dependency

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

Example

#include  "data_guard_mpc.h" 

     struct DG_TeeCtx *dgTee = NULL;
 
    // teeOpts is the result of the successful DG_InitPsiOpts call, and teeCfg is the KCAL configuration initialized in "DataGuard APIs for Configuring an Operation Set".
int rv = teeOpts.initTeeCtx(teeCfg, &dgTee);
    if (rv != 0) {
        return rv;
}

Running result: rv is 0.

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