QUERY_LU_POOL

QUERY_LU_POOL returns a list of pools and the LUs that belong to them.

The information is returned as a list in one of two formats, either summary or detailed information. To obtain information about a specific LU pool or to obtain the list information in several chunks, the pool_name and lu_name fields should be set. If the lu_name field is set to all zeros, then the information returned starts from the first LU in the specified pool. If the list_options field is set to AP_FIRST_IN_LIST, then both of these fields are ignored.

VCB Structure

typedef struct query_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   *buf_ptr;            /* pointer to buffer           */
        unsigned long   buf_size;            /* buffer size                 */
        unsigned long   total_buf_size;      /* total buffer size required  */
        unsigned short  num_entries;         /* number of entries           */
        unsigned short  total_num_entries;   /* total number of entries     */
        unsigned char   list_options;        /* listing options             */
        unsigned char   reserv3;             /* reserved                    */
        unsigned char   pool_name[8];        /* pool name                   */
        unsigned char   lu_name[8];          /* LU name                     */
} QUERY_LU_POOL;
typedef struct lu_pool_summary
{
        unsigned short  overlay_size;        /* size of this entry          */
        unsigned char   pool_name[8];        /* pool name                   */
        unsigned char   description[RD_LEN]; /* resource description        */
        unsigned short  num_active_lus;      /* num of currently active LUs */
        unsigned char   num_avail_lus;       /* num of currently available  */
                                             /* LUs                         */
} LU_POOL_SUMMARY;
typedef struct lu_pool_detail
{
        unsigned short  overlay_size;        /* size of this entry          */
        unsigned char   pool_name[8];        /* pool name                   */
        unsigned char   description[RD_LEN]; /* resource description        */
        unsigned char   lu_name[8];          /* LU name                     */
        unsigned char   lu_sscp_sess_active; /* Is LU-SSCP session active   */
        unsigned char   appl_conn_active;    /* Is SSCP connection open     */
        unsigned char   plu_sess_active;     /* Is PLU-SLU session active   */
} LU_POOL_DETAIL;

Supplied Parameters

The application supplies the following parameters:
opcode
AP_QUERY_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.
buf_ptr
Pointer to a buffer into which list information can be written.
buf_size
Size of buffer supplied. The data returned will not exceed this size.
num_entries
Maximum number of entries to return. The number of entries will not exceed this value. A value of zero means no limit.
list_options
This indicates what should be returned in the list information:
AP_SUMMARY
Returns summary information only.
AP_DETAIL
Returns detailed information.

The combination of the pool_name and lu_name specified (see the following parameters, pool_name and lu_name) represents an index value that is used to specify the starting point of the actual information to be returned.

AP_FIRST_IN_LIST
The index value is ignored, and the returned list starts from the first entry in the list.
AP_LIST_FROM_NEXT
The returned list starts from the next entry in the list after the one specified by the supplied index value.
AP_LIST_INCLUSIVE
The returned list starts from the entry specified by the index value.
pool_name
Name of LU pool. This name is an 8-byte alphanumeric type-A EBCDIC string (starting with a letter), padded to the right with EBCDIC spaces. This field is ignored if list_options is set to AP_FIRST_IN_LIST.
lu_name
LU name. This name is an 8-byte alphanumeric type-A EBCDIC string (starting with a letter), padded to the right with EBCDIC spaces. If this is set to all binary zeros, the LUs belonging to the specified pool are listed from the beginning of the pool. This field is ignored if list_options is set to AP_FIRST_IN_LIST.

Returned Parameters

If the verb executes successfully, the Program returns the following parameters:
primary_rc
AP_OK
buf_size
Length of the information returned in the buffer.
total_buf_size
Returned value indicating the size of buffer that would have been required to return all the list information requested. This can be higher than buf_size.
num_entries
Number of directory entries returned.
total_num_entries
Total number of entries that could have been returned. This can be higher than num_entries.
lu_pool_summary.overlay_size
The number of bytes in this entry, and hence the offset to the next entry returned (if any).
lu_pool_summary.pool_name
Name of LU pool to which the specified LU belongs. This is an 8-byte alphanumeric type-A EBCDIC string (starting with a letter), padded to the right with EBCDIC spaces. (Note that if this field is specified on the request and the lu_name field is set to all binary zeros, then only LUs in the pool are returned.)
lu_pool_summary.description
LU pool description (as specified on DEFINE_LU_POOL).
lu_pool_summary.num_active_lus
The number of LUs in the specified pool that have active LU-SSCP sessions.
lu_pool_summary.num_avail_lus
The number of LUs in the specified pool available to satisfy an OPEN_LU_SSCP_SEC_REQ with open_force set to AP_YES. It includes all LUs whose PU is active or whose host link is automatically activated, and whose connection is free. This count is regardless of the LU model_type, model_name, and the DDDLU support of the PU. There might be less LUs available to satisfy an OPEN_LU_SSCP_SEC_REQ that specifies a particular value for model_type.
lu_pool_detail.overlay_size
The number of bytes in this entry, and hence the offset to the next entry returned (if any).
lu_pool_detail.pool_name
Name of LU pool to which the specified LU belongs. This is an 8-byte alphanumeric type-A EBCDIC string (starting with a letter), padded to the right with EBCDIC spaces. (Note that if this field is specified on the request and the lu_name field is set to all binary zeros, then only LUs in the pool are returned.)
lu_pool_detail.description
LU description (as specified on DEFINE_LU_0_TO_3).
lu_pool_detail.lu_name
LU name of LU belonging to the pool. This is an 8-byte alphanumeric type-A EBCDIC string (starting with a letter), padded to the right with EBCDIC spaces. If this name is set to all zeros then, this indicates that the specified pool is empty.
lu_pool_detail.lu_sscp_sess_active
Specifies whether the LU-SSCP session is active (AP_YES or AP_NO).
lu_pool_detail.appl_conn_active
Specifies whether the LU session is currently being used by an application (AP_YES or AP_NO).
lu_pool_detail.plu_sess_active
Specifies whether the PLU-SLU session is active (AP_YES or AP_NO).
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_LIST_OPTION

AP_INVALID_POOL_NAME
AP_INVALID_LU_NAME

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 of a system error, the Program returns the following parameter:
primary_rc
AP_UNEXPECTED_SYSTEM_ERROR