QUERY_DLUS

QUERY_DLUS returns a list of information about DLUS nodes known by DLUR.

The information is returned as a list. To obtain information about a specific DLUS node, or to obtain the list information in several chunks, the dlus_name field should be set.

Otherwise (if the list_options field is set to AP_FIRST_IN_LIST), this field will be ignored. See Querying the Node for background on how the list formats are used.

This list is ordered by the dlus_name. Ordering is by name length first, and then by ASCII lexicographical ordering for names of the same length (in accordance with normal MIB ordering).

If AP_LIST_FROM_NEXT is selected, the returned list starts from the next entry according to the defined ordering (whether the specified entry exists or not).

Note that this verb returns pipe statistics.

VCB Structure

typedef struct query_dlus
{
        unsigned short  opcode;            /* verb operation code           */
        unsigned char   reserv2;           /* reserved                      */
        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   dlus_name[17];     /* fully qualified DLUS name     */
} QUERY_DLUS;
typedef struct dlus_data
{
        unsigned short  overlay_size;      /* size of this entry            */
        unsigned char   dlus_name[17];     /* fully qualified DLUS name     */
        unsigned char   is_default;        /* is the DLUS the default       */
        unsigned char   is_backup_default; /* is DLUS the backup default    */
        unsigned char   pipe_state;        /* state of CPSVRMGR pipe        */
        unsigned short  num_active_pus;    /* num of active PUs using pipe  */
        PIPE_STATS      pipe_stats;        /* pipe statistics               */
} DLUS_DATA;
typedef struct pipe_stats
{
        unsigned long   reqactpu_sent;     /* REQACTPUs sent to DLUS        */
        unsigned long   reqactpu_rsp_received;
                                           /* RSP(REQACTPU)s received       */
                                           /* from DLUS                     */
        unsigned long   actpu_received;    /* ACTPUs received from DLUS     */
        unsigned long   actpu_rsp_sent;    /* RSP(ACTPU)s sent to DLUS      */
        unsigned long   reqdactpu_sent;    /* REQDACTPUs sent to DLUS       */
        unsigned long   reqdactpu_rsp_received;
                                           /* RSP(REQDACTPU)s received      */
                                           /* from DLUS                     */
        unsigned long   dactpu_received;   /* DACTPUs received from DLUS    */
        unsigned long   dactpu_rsp_sent;   /* RSP(DACTPU)s sent to DLUS     */
        unsigned long   actlu_received;    /* ACTLUs received from DLUS     */
        unsigned long   actlu_rsp_sent;    /* RSP(ACTLU)s sent to DLUS      */
        unsigned long   dactlu_received;   /* DACTLUs received from DLUS    */
        unsigned long   dactlu_rsp_sent;   /* RSP(DACTLU)s sent to DLUS     */
        unsigned long   sscp_pu_mus_rcvd;  /* MUs for SSCP-PU               */
                                           /* sessions received             */
        unsigned long   sscp_pu_mus_sent;  /* MUs for SSCP-PU sessions sent */
        unsigned long   sscp_lu_mus_rcvd;  /* MUs for SSCP-LU sessions      */
                                           /* received                      */
        unsigned long   sscp_lu_mus_sent;  /* MUs for SSCP-LU sessions sent */
} PIPE_STATS;

Supplied Parameters

The application supplies the following parameters:
opcode
AP_QUERY_DLUS
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. The application can append data to the end of the VCB, in which case buf_ptr must be set to NULL.
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 dlus_name specified (see the following parameter, dlus_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.
dlus_name
Name of the DLUS being queried. This should be set to all zeros or a 17-byte string composed of two type-A EBCDIC character strings concatenated by an EBCDIC dot, which is right-padded with EBCDIC spaces. (Each name can have a maximum length of 8 bytes with no embedded spaces.) 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 entries actually returned.
total_num_entries
Total number of entries that could have been returned. This can be higher than num_entries.
dlus_data.overlay_size
The number of bytes in this entry, and hence the offset to the next entry returned (if any).
dlus_data.dlus_name
Name of the DLUS. This is a 17-byte string composed of two type-A EBCDIC character strings concatenated by an EBCDIC dot, and is right-padded with EBCDIC spaces. (Each name can have a maximum length of 8 bytes with no embedded spaces.)
dlus_data.is_default
Specifies whether the DLUS node has been designated as the default by a DEFINE_DLUR_DEFAULTS verb (AP_YES or AP_NO).
dlus_data.is_backup_default
Specifies whether the DLUS node has been designated as the backup default by a DEFINE_DLUR_DEFAULTS verb (AP_YES or AP_NO).
dlus_data.pipe_state
State of the pipe to the DLUS. It can have one of the following values:

AP_ACTIVE
AP_PENDING_ACTIVE
AP_INACTIVE
AP_PENDING_INACTIVE

dlus_data.num_active_pus
Number of PUs currently using the pipe to the DLUS.
dlus_data.pipe_stats.reqactpu_sent
Number of REQACTPUs sent to DLUS over the pipe.
dlus_data.pipe_stats.reqactpu_rsp_received
Number of RSP(REQACTPU)s received from DLUS over the pipe.
dlus_data.pipe_stats.actpu_received
Number of ACTPUs received from DLUS over the pipe.
dlus_data.pipe_stats.actpu_rsp_sent
Number of RSP(ACTPU)s sent to DLUS over the pipe.
dlus_data.pipe_stats.reqdactpu_sent
Number of REQDACTPUs sent to DLUS over the pipe.
dlus_data.pipe_stats.reqdactpu_rsp_received
Number of RSP(REQDACTPU)s received from DLUS over the pipe.
dlus_data.pipe_stats.dactpu_received
Number of DACTPUs received from DLUS over the pipe.
dlus_data.pipe_stats.dactpu_rsp_sent
Number of RSP(DACTPU)s sent to DLUS over the pipe.
dlus_data.pipe_stats.actlu_received
Number of ACTLUs received from DLUS over the pipe.
dlus_data.pipe_stats.actlu_rsp_sent
Number of RSP(ACTLU)s sent to DLUS over the pipe.
dlus_data.pipe_stats.dactlu_received
Number of DACTLUs received from DLUS over the pipe.
dlus_data.pipe_stats.dactlu_rsp_sent
Number of RSP(DACTLU)s sent to DLUS over the pipe.
dlus_data.pipe_stats.sscp_pu_mus_rcvd
Number of SSCP-PU MUs received from DLUS over the pipe.
dlus_data.pipe_stats.sscp_pu_mus_sent
Number of SSCP-PU MUs sent to DLUS over the pipe.
dlus_data.pipe_stats.sscp_lu_mus_rcvd
Number of SSCP-LU MUs received from DLUS over the pipe.
dlus_data.pipe_stats.sscp_lu_mus_sent
Number of SSCP-LU MUs sent to DLUS over the pipe.
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_DLUS_NAME

AP_INVALID_LIST_OPTION

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