CreateWorkUnit() — Create WLM work unit

Standards

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

Format

#include <sys/__wlm.h>

int CreateWorkUnit(wlmetok_t *enclavetoken,
                   server_classify_t classify,
                   char *arrival_time,
                   char *func_name);

General description

The CreateWorkUnit function provides the ability for an application to create a WLM work unit.
*enclavetoken
Points to a data field of type wlmetok_t where the CreateWorkUnit() function is to return the WLM work unit enclave token.
*classify
Points to a server_classify_t structure that contains the classification information for the work request macro.
*arrival_time
Address of a doubleword (unsigned long long) field that contains the arrival time of the work request in STCK format.
*func_name
Points to a NULL-terminated character string that represents the descriptive function name of the associated work request.

Returned value

If successful, CreateWorkUnit() returns a pointer to work unit enclave token of type wlmetok_t.

If unsuccessful, CreateWorkUnit() 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 an incorrect value.
EMVSSAF2ERR
An error occurred in the security product.
EMVSWLMERROR
The WLM create 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 it is defined. If BPX.WLMSERVER is not defined, the calling process is not defined as a superuser (UID=0).

Related information