ImportWorkUnit() — WLM import service

Standards

Standards / Extensions C or C++ Dependencies
z/OS® UNIX both OS/390 V2R9

Format

#include <sys/__wlm.h>

int ImportWorkUnit(wlmxtok_t *exporttoken,
                   wlmetok_t *enclavetoken,
                   unsigned int *conntoken);

General description

Imports an enclave that has been previously exported using the ExportWorkUnit() function. The caller must invoke UnDoImportWorkUnit() when it no longer needs access to the enclave.

The ImportWorkUnit() function uses the following parameters:
*enclavetoken
Points to a work unit export token that was returned from a call to ExportWorkUnit().
*exporttoken
Points to a data field of type wlmetok_t where the ImportWorkUnit() function is to return the WLM work unit enclave token.
*conntoken
Specifies the connect token that represents the WLM connection.

Returned value

If successful, ImportWorkUnit() returns 0.

If unsuccessful, ImportWorkUnit() returns -1 and sets errno to one of the following values:
Error Code
Description
EFAULT
An argument of this function contained an address that was not accessible to the caller.
EINVAL
An argument of this function contained a value that is not correct.
EMVSSAF2ERR
An error occurred in the security product.
EMVSWLMERROR
A WLM service failed. Use __errno2() to obtain the WLM service reason code for the failure.
EPERM
The calling thread's address space is not permitted to the BPX.WLMSERVER Facility class. The caller's address space must be permitted to the BPX.WLMSERVER Facility class, if the BPX.WLMSERVER class is defined. If BPX.WLMSERVER is not defined, the calling process is not defined as a superuser (UID=0).

Related information