QUERY_DOWNSTREAM_LU


The Communications Server icon lets you know that there is a change in the way things operate.
This verb applies only to Communications Server.
QUERY_DOWNSTREAM_LU returns information about downstream LUs served by DLUR or PU concentration or both. This information is structured as determined data (data gathered dynamically during execution) and defined data. (Defined data is supplied by the application on the DEFINE_DOWNSTREAM_LU verb. Note that for DLUR-supported LUs, implicitly defined data is put in place when the downstream LU is activated).

The information is returned as a list in one of two formats, either summary or detailed information. To obtain information about a specific local LU or to obtain the list information in several chunks, the dslu_name field should be set. Otherwise (if the list_options field is set to AP_FIRST_IN_LIST), this field will be ignored.

The returned LUs may be filtered by the type of service the local node provides or the LU's associated downstream PU or both. If filtering by type of service is desired, the dspu_services field should be set to AP_PU_CONCENTRATION or AP_DLUR (otherwise, this field should be set to AP_NONE). If filtering by PU is desired, the dspu_name field should be set (otherwise, this field should be set to all zeros).

VCB Structure

typedef struct query_downstream_lu
{
        unsigned short  opcode;            /* verb operation code           */
        unsigned char   attributes;        /* Verb attributes               */
        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   dslu_name[8];      /* Downstream LU name            */
        unsigned char   dspu_name[8];      /* Downstream PU name filter     */
        unsigned char   dspu_services;     /* filter on DSPU services type  */
} QUERY_DOWNSTREAM_LU;
typedef struct downstream_lu_summary
{
        unsigned short  overlay_size;      /* size of this entry            */
        unsigned char   dslu_name[8];      /* LU name                       */
        unsigned char   dspu_name[8];      /* PU name                       */
        unsigned char   description[RD_LEN];
                                           /* resource description          */
        unsigned char   dspu_services;     /* type of service provided to   */
                                           /* downstream node               */
        unsigned char   nau_address;       /* NAU address                   */
        unsigned char   lu_sscp_sess_active;
                                           /* Is LU-SSCP session active     */
        unsigned char   plu_sess_active;   /* Is PLU-SLU session active     */
} DOWNSTREAM_LU_SUMMARY;
typedef struct downstream_lu_detail
{
        unsigned short  overlay_size;      /* size of this entry            */
        unsigned char   dslu_name[8];      /* LU name                       */
        unsigned char   reserv1[2];        /* reserved                      */
        DOWNSTREAM_LU_DET_DATA det_data;   /* Determined data               */
        DOWNSTREAM_LU_DEF_DATA def_data;   /* Defined data                  */
} DOWNSTREAM_LU_DETAIL;
typedef struct downstream_lu_det_data
{
        unsigned char   lu_sscp_sess_active;
                                           /* Is LU-SSCP session active     */
        unsigned char   plu_sess_active;   /* Is PLU-SLU session active     */
        unsigned char   dspu_services;     /* type of services provided to  */
                                           /* downstream node               */
        unsigned char   reserv1;           /* reserved                      */
        SESSION_STATS   lu_sscp_stats;     /* LU-SSCP session statistics    */
        SESSION_STATS   ds_plu_stats;      /* downstream PLU-SLU session    */
                                           /* statistics                    */
        SESSION_STATS   us_plu_stats;      /* upstream PLU_SLU sess stats   */
        unsigned char   host_lu_name[8];   /* Determined host LU name       */
        unsigned char   host_lu_name[8];   /* Determined host PU name       */
        unsigned char   reserva[4];        /* reserved                      */
} DOWNSTREAM_LU_DET_DATA;
typedef struct downstream_lu_def_data
{
        unsigned char   description[RD_LEN];
                                           /* resource description          */
        unsigned char   nau_address;       /* NAU address                   */
        unsigned char   dspu_name[8];      /* Downstream PU name            */
        unsigned char   host_lu_name;      /* host LU or pool name          */
        unsigned char   allow_timeout;     /* Allow timeout of host LU?     */
        unsigned char   delayed_logon;     /* Allow delayed logon to host LU */
        unsigned char   reserv2[6];        /* reserved                      */
} DOWNSTREAM_LU_DEF_DATA;
typedef struct session_stats
{
        unsigned short  rcv_ru_size;       /* session receive RU size       */
        unsigned short  send_ru_size;      /* session send RU size          */
        unsigned short  max_send_btu_size; /* max send BTU size             */
        unsigned short  max_rcv_btu_size;  /* max rcv BTU size              */
        unsigned short  max_send_pac_win;  /* max send pacing win size      */
        unsigned short  cur_send_pac_win;  /* current send pacing win size  */
        unsigned short  max_rcv_pac_win;   /* max receive pacing win size   */
        unsigned short  cur_rcv_pac_win;   /* current receive pacing        */
                                           /* window size                   */
        unsigned long   send_data_frames;  /* number of data frames sent    */
        unsigned long   send_fmd_data_frames;
                                           /* num of FMD data frames sent   */
        unsigned long   send_data_bytes;   /* number of data bytes sent     */
        unsigned long   rcv_data_frames;   /* num data frames received      */
        unsigned long   rcv_fmd_data_frames;
                                           /* num of FMD data frames recvd  */
        unsigned long   rcv_data_bytes;    /* number of data bytes received */
        unsigned char   sidh;              /* session ID high byte          */
        unsigned char   sidl;              /* session ID low byte           */
        unsigned char   odai;              /* ODAI bit set                  */
        unsigned char   ls_name[8];        /* Link station name             */
        unsigned char   pacing_type;       /* type of pacing in use         */
} SESSION_STATS;

Supplied Parameters

The application supplies the following parameters:
opcode
AP_QUERY_DOWNSTREAM_LU
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 dslu_name specified (see the following parameter, dslu_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.
dslu_name
Name of the local LU that is being queried. This 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.
dspu_name
PU name filter. This should be set to all zeros or an 8-byte alphanumeric type-A EBCDIC string (starting with a letter), padded to the right with EBCDIC spaces. If this field is set, then only LUs associated with the specified PU are returned. This field is ignored if it is set to all zeros.
dspu_services
DSPU services filter. If set to AP_PU_CONCENTRATION, only downstream LUs served by PU concentration are returned. If set to AP_DLUR, only DLUR-supported LUs are returned. Otherwise, if set to AP_NONE, information on all downstream LUs is returned.

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.
downstream_lu_summary.overlay_size
The number of bytes in this entry, and hence the offset to the next entry returned (if any).
downstream_lu_summary.dslu_name
Name of the local LU that is being queried. This is an 8-byte alphanumeric type-A EBCDIC string (starting with a letter), padded to the right with EBCDIC spaces.
downstream_lu_summary.dspu_name
Name of local PU that this LU is using. This is an 8-byte alphanumeric type-A EBCDIC string (starting with a letter), padded to the right with EBCDIC spaces.
downstream_lu_summary.description
Resource description (as specified on DEFINE_DOWNSTREAM_LU or DEFINE_DOWNSTREAM_LU_RANGE). This is a 16-byte string in a locally displayable character set. All 16 bytes are significant.
downstream_lu_summary.dspu_services
Specifies the services which the local node provides to the downstream LU across the link. This is set to one of the following:
AP_PU_CONCENTRATION
Local node that provides PU concentration for the downstream LU.
AP_DLUR
Local node that provides DLUR support for the downstream LU.
downstream_lu_summary.nau_address
Network addressable unit address of the LU, which is in the range 1–255.
downstream_lu_summary.lu_sscp_sess_active
Indicates whether the LU-SSCP session is active (AP_YES or AP_NO).
downstream_lu_summary.plu_sess_active
Indicates whether the PLU-SLU session is active (AP_YES or AP_NO).
downstream_lu_detail.overlay_size
The number of bytes in this entry, and hence the offset to the next entry returned (if any).
downstream_lu_detail.dslu_name
Name of the local LU that is being queried. This is an 8-byte alphanumeric type-A EBCDIC string (starting with a letter), padded to the right with EBCDIC spaces.
downstream_lu_detail.det_data.lu_sscp_sess_active
Indicates whether the LU-SSCP session to the downstream LU is active (AP_YES or AP_NO).
downstream_lu_detail.det_data.plu_sess_active
Indicates whether the PLU-SLU session to the downstream LU is active (AP_YES or AP_NO).
downstream_lu_detail.det_data.dspu_services
Specifies the services that the local node provides to the downstream LU across the link. This is set to one of the following values:
AP_PU_CONCENTRATION
Local node that provides PU concentration for the downstream LU.
AP_DLUR
Local node that provides DLUR support for the downstream LU.
downstream_lu_detail.det_data.lu_sscp_stats.rcv_ru_size
Maximum receive RU size. If downstream_lu_detail.det_data.dspu_services is set to AP_PU_CONCENTRATION, then this field is reserved.
downstream_lu_detail.det_data.lu_sscp_stats.send_ru_size
Maximum send RU size. If downstream_lu_detail.det_data.dspu_services is set to AP_PU_CONCENTRATION, then this field is reserved.
downstream_lu_detail.det_data.lu_sscp_stats.max_send_btu_size
Maximum BTU size that can be sent.
downstream_lu_detail.det_data.lu_sscp_stats.max_rcv_btu_size
Maximum BTU size that can be received.
downstream_lu_detail.det_data.lu_sscp_stats.max_send_pac_win
This field will always be set to zero.
downstream_lu_detail.det_data.lu_sscp_stats.cur_send_pac_win
This field will always be set to zero.
downstream_lu_detail.det_data.lu_sscp_stats.max_rcv_pac_win
This field will always be set to zero.
downstream_lu_detail.det_data.lu_sscp_stats.cur_rcv_pac_win
This field will always be set to zero.
downstream_lu_detail.det_data.lu_sscp_stats.send_data_frames
Number of normal flow data frames sent.
downstream_lu_detail.det_data.lu_sscp_stats.send_fmd_data_frames
Number of normal flow FMD data frames sent.
downstream_lu_detail.det_data.lu_sscp_stats.send_data_bytes
Number of normal flow data bytes sent.
downstream_lu_detail.det_data.lu_sscp_stats.rcv_data_frames
Number of normal flow data frames received.
downstream_lu_detail.det_data.lu_sscp_stats.rcv_fmd_data_frames
Number of normal flow FMD data frames received.
downstream_lu_detail.det_data.lu_sscp_stats.rcv_data_bytes
Number of normal flow data bytes received.
downstream_lu_detail.det_data.lu_sscp_stats.sidh
Session ID high byte.
downstream_lu_detail.det_data.lu_sscp_stats.sidl
Session ID low byte.
downstream_lu_detail.det_data.lu_sscp_stats.odai
Origin Destination Address Indicator. When bringing up a session, the sender of the BIND sets this field to zero if the local node contains the primary link station, and sets it to one if the BIND sender is the node containing the secondary link station.
downstream_lu_detail.det_data.lu_sscp_stats.ls_name
Link station name associated with statistics. This is an 8-byte string in a locally displayable character set. All 8 bytes are significant.
downstream_lu_detail.det_data.lu_sscp_stats.pacing_type
Receive pacing in use on the LU-SSCP session. This takes the value AP_NONE.
downstream_lu_detail.det_data.ds_plu_stats.rcv_ru_size
Maximum receive RU size.
downstream_lu_detail.det_data.ds_plu_stats.send_ru_size
Maximum send RU size.
downstream_lu_detail.det_data.ds_plu_stats.max_send_btu_size
Maximum BTU size that can be sent.
downstream_lu_detail.det_data.ds_plu_stats.max_rcv_btu_size
Maximum BTU size that can be received.
downstream_lu_detail.det_data.ds_plu_stats.max_send_pac_win
Maximum size of the send pacing window on this session.
downstream_lu_detail.det_data.ds_plu_stats.cur_send_pac_win
Current size of the send pacing window on this session.
downstream_lu_detail.det_data.ds_plu_stats.max_rcv_pac_win
Maximum size of the receive pacing window on this session.
downstream_lu_detail.det_data.ds_plu_stats.cur_rcv_pac_win
Current size of the receive pacing window on this session.
downstream_lu_detail.det_data.ds_plu_stats.send_data_frames
Number of normal flow data frames sent.
downstream_lu_detail.det_data.ds_plu_stats.send_fmd_data_frames
Number of normal flow FMD data frames sent.
downstream_lu_detail.det_data.ds_plu_stats.send_data_bytes
Number of normal flow data bytes sent.
downstream_lu_detail.det_data.ds_plu_stats.rcv_data_frames
Number of normal flow data frames received.
downstream_lu_detail.det_data.ds_plu_stats.rcv_fmd_data_frames
Number of normal flow FMD data frames received.
downstream_lu_detail.det_data.ds_plu_stats.rcv_data_bytes
Number of normal flow data bytes received.
downstream_lu_detail.det_data.ds_plu_stats.sidh
Session ID high byte.
downstream_lu_detail.det_data.ds_plu_stats.sidl
Session ID low byte.
downstream_lu_detail.det_data.ds_plu_stats.odai
Origin Destination Address Indicator. When bringing up a session, the sender of the BIND sets this field to zero if the local node contains the primary link station, and sets it to 1 if the BIND sender is the node containing the secondary link station.
downstream_lu_detail.det_data.ds_plu_stats.ls_name
Link station name associated with statistics. This is an 8-byte string in a locally displayable character set. All 8 bytes are significant.
downstream_lu_detail.det_data.plu_stats.pacing_type
Receive pacing type in use on the downstream PLU-SLU session. This can take the values AP_NONE or AP_PACING_FIXED.
downstream_lu_detail.det_data.us_plu_stats.rcv_ru_size
Maximum receive RU size.
downstream_lu_detail.det_data.us_plu_stats.send_ru_size
Maximum send RU size.
downstream_lu_detail.det_data.us_plu_stats.max_send_btu_size
Maximum BTU size that can be sent.
downstream_lu_detail.det_data.us_plu_stats.max_rcv_btu_size
Maximum BTU size that can be received.
downstream_lu_detail.det_data.us_plu_stats.max_send_pac_win
Maximum size of the send pacing window on this session.
downstream_lu_detail.det_data.us_plu_stats.cur_send_pac_win
Current size of the send pacing window on this session.
downstream_lu_detail.det_data.us_plu_stats.max_rcv_pac_win
Maximum size of the receive pacing window on this session.
downstream_lu_detail.det_data.us_plu_stats.cur_rcv_pac_win
Current size of the receive pacing window on this session.
downstream_lu_detail.det_data.us_plu_stats.send_data_frames
Number of normal flow data frames sent.
downstream_lu_detail.det_data.us_plu_stats.send_fmd_data_frames
Number of normal flow FMD data frames sent.
downstream_lu_detail.det_data.us_plu_stats.send_data_bytes
Number of normal flow data bytes sent.
downstream_lu_detail.det_data.us_plu_stats.rcv_data_frames
Number of normal flow data frames received.
downstream_lu_detail.det_data.us_plu_stats.rcv_fmd_data_frames
Number of normal flow FMD data frames received.
downstream_lu_detail.det_data.us_plu_stats.rcv_data_bytes
Number of normal flow data bytes received.
downstream_lu_detail.det_data.us_plu_stats.sidh
Session ID high byte. If downstream_lu_detail.det_data_.dspu_services is set to AP_PU_CONCENTRATION, then this field is reserved.
downstream_lu_detail.det_data.us_plu_stats.sidl
Session ID low byte. If downstream_lu_detail.det_data_.dspu_services is set to AP_PU_CONCENTRATION, then this field is reserved.
downstream_lu_detail.det_data.us_plu_stats.odai
Origin Destination Address Indicator. When bringing up a session, the sender of the BIND sets this field to zero if the local node contains the primary link station, and sets it to 1 if the BIND sender is the node containing the secondary link station. If downstream_lu_detail.det_data_.dspu_services is set to AP_PU_CONCENTRATION, then this field is reserved.
downstream_lu_detail.det_data.us_plu_stats.ls_name
Link station name associated with statistics. This is an 8-byte string in a locally displayable character set. All 8 bytes are significant. If downstream_lu_detail.det_data_dspu_services is set to AP_PU_CONCENTRATION, then this field is reserved.
downstream_lu_detail.det_data.us_plu_stats.pacing_type
Receive pacing type in use on the upstream PLU-SLU session. This can take the values AP_NONE or AP_PACING_FIXED.
downstream_lu_detail.det_data.host_lu_name
Name of the host LU that the downstream LU is mapped to, or was mapped to when the PLU-SLU session was last active. This may differ from def_data.host_lu_name, as that may be the name of the host LU pool.
downstream_lu_detail.det_data.host_pu_name
Name of the host PU that the downstream PU is mapped to, or was mapped to when the PLU-SLU session was last active.
downstream_lu_detail.def_data.description
Resource description (as specified on DEFINE_DOWNSTREAM_LU or DEFINE_DOWNSTREAM_LU_RANGE).
downstream_lu_detail.def_data.nau_address
Network addressable unit address of the LU, which is in the range 1–255.
downstream_lu_detail.def_data.dspu_name
Name of PU associated with the LU. This is an 8-byte alphanumeric type-A EBCDIC string (starting with a letter), padded to the right with EBCDIC spaces.
downstream_lu_detail.def_data.host_lu_name
Name of the host LU or host LU pool that the downstream LU is mapped to. In the case of an LU, this is an 8-byte alphanumeric type-A EBCDIC string (starting with a letter), padded to the right with EBCDIC spaces. In the case of an LU pool, the Program does not specify a character set for this field. This field is reserved for DLUR-served downstream LUs.
downstream_lu_detail.def_data.allow_timeout
Specifies whether the Program is allowed to time out host LUs used by this downstream LU if the session is left inactive for the timeout period specified on the host LU definition (AP_YES or AP_NO).
downstream_lu_detail.def_data.delayed_logon
Specifies whether the Program should delay connecting the downstream LU to the host LU until the first data is received from the downstream LU. Instead, a simulated logon screen will be sent to the downstream LU (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_LU_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