QueryWorkUnitClassification() — WLM query enclave classification service

Standards

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

Format

#include <sys/__wlm.h>

int QueryWorkunitClassification(wlmetok_t *e_token,
                                struct sysec *sysec_ptr,
                                int *ans_len);

General description

Returns the classification attributes of an enclave, using the following parameters:
*e_token
Points to a work unit enclave token.
*sysec_ptr
Points to the enclave classification data (mapped by sysec) returned by the QueryWorkunitClassification function.
*anslen
The length of the data area provided by the caller to receive the information generated by the service. WLM will update this value with the size of the area needed for the service to work. The minimum area should hold the entire sysec structure through version 3. The existing area will be populated with as much of the information as can be returned.

Returned value

If successful, QueryWorkunitClassification() returns 0.

If unsuccessful, QueryWorkunitClassification() 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