DEFINE_LU_POOL

This verb is used to define an LU pool or to add LUs to an existing pool. The LUs that are to be added must already have been defined using either a DEFINE_LU_0_TO_3 verb or a DEFINE_LU_0_TO_3_RANGE verb. LUs can only belong to one LU pool at a time. If the specified LUs already belong to a pool, they are removed from the existing pool into the pool being defined. Up to 10 LUs can be added to a pool at a time, although there is no limit to the total number of LUs in a pool.

VCB Structure

typedef struct define_lu_pool
{
        unsigned short  opcode;                /* verb operation code        */
        unsigned char   attributes;            /* verb attributes            */
        unsigned char   format;                /* format                     */
        unsigned short  primary_rc;            /* primary return code        */
        unsigned long   secondary_rc;          /* secondary return code      */
        unsigned char   pool_name[8];          /* LU pool name               */
        unsigned char   description[RD_LEN];   /* resource description       */
        unsigned char   reserv3[4];            /* reserved                   */
        unsigned short  num_lus;               /* number of LUs to add       */
        unsigned char   lu_names[10][8];       /* LU names                   */
} DEFINE_LU_POOL;

Supplied Parameters

The application supplies the following parameters:
opcode
AP_DEFINE_LU_POOL
attributes
The attributes of the verb. This field is a bit field. The first bit contains the visibility of the resource to be defined and corresponds to one of the following:

AP_EXTERNALLY_VISIBLE
AP_INTERNALLY_VISIBLE

format
Identifies the format of the VCB. Set this field to zero to specify the version of the VCB listed above.
pool_name
Name of pool to which these LUs belong. This name is an 8-byte string, padded to the right with spaces. This can be either an EBCDIC string or a string in a locally displayable character set.
description
Resource description (returned on QUERY_LU_POOL). The length of this field should be a multiple of four bytes, and not zero.
num_lus
Number of LUs to add, in the range 0–10.
lu_names
Names of the LUs that are being added to the pool. Each name is an 8-byte alphanumeric type-A EBCDIC string (starting with a letter), padded to the right with EBCDIC spaces.

Returned Parameters

If the verb executes successfully, the Program returns the following parameter:
primary_rc
AP_OK
If the verb does not execute because of a parameter error, the Program returns the following parameters:
primary_rc
AP_PARAMETER_CHECK
secondary_rc
AP_INVALID_LU_NAME

AP_INVALID_NUM_LUS
AP_INVALID_POOL_NAME

If the verb does not execute because of a state error, the Program returns the following parameters:
primary_rc
AP_STATE_CHECK
secondary_rc
AP_LU_NAME_POOL_NAME_CLASH

AP_INVALID_POOL_NAME

If the verb does not execute because the system has not been built with dependent LU support, the Program returns the following parameter:
primary_rc
AP_INVALID_VERB
If the verb does not execute because the node has not yet been started, the Program returns the following parameter:
primary_rc
AP_NODE_NOT_STARTED
If the verb does not execute because the node is stopping, the Program returns the following parameter:
primary_rc
AP_NODE_STOPPING
If the verb does not execute because of a system error, the Program returns the following parameter:
primary_rc
AP_UNEXPECTED_SYSTEM_ERROR