QUERY_LU_0_TO_3

QUERY_LU_0_TO_3 returns information about local LUs of type 0, 1, 2, or 3. This information is structured as determined data (data gathered dynamically during execution) and defined data (the data supplied by the application on DEFINE_LU_0_TO_3).

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 lu_name field should be set. Otherwise (if the list_options field is set to AP_FIRST_IN_LIST), this field will be ignored.

Only certain parameters are supported on SNA API clients. See the note pad icon throughout this chapter for specific details.

The note pad lets you know that there is a change in the way things operate.
This icon represents important information that can affect the operation of Communications Server and Personal Communications.

VCB Structure

typedef struct query_lu_0_to_3
{
        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   pu_name[8];        /* PU name filter                */
        unsigned char   lu_name[8];        /* LU name                       */
        unsigned char   host_attachment;   /* Host attachment filter        */
} QUERY_LU_0_TO_3;
typedef struct lu_0_to_3_summary
{
        unsigned short  overlay_size;      /* size of this entry            */
        unsigned char   pu_name[8];        /* PU name                       */
        unsigned char   lu_name[8];        /* LU name                       */
        unsigned char   description[RD_LEN];
                                           /* resource description          */
        unsigned char   nau_address;       /* NAU address                   */
        unsigned char   lu_sscp_sess_active;
                                           /* Is LU-SSCP session active     */
        unsigned char   appl_conn_active;  /* Is connection to appl active? */
        unsigned char   plu_sess_active;   /* Is PLU-SLU session active     */
        unsigned char   host_attachment;   /* LU's host attachment          */
} LU_0_TO_3_SUMMARY;
typedef struct lu_0_to_3_detail
{
        unsigned short  overlay_size;      /* size of this entry            */
        unsigned char   lu_name[8];        /* LU name                       */
        unsigned char   reserv1[2];        /* reserved                      */
        LU_0_TO_3_DET_DATA det_data;       /* Determined data               */
        LU_0_TO_3_DEF_DATA def_data;       /* Defined data                  */
} LU_0_TO_3_DETAIL;
typedef struct lu_0_to_3_det_data
{
        unsigned char   lu_sscp_sess_active;
                                           /* Is LU-SSCP session active     */
        unsigned char   appl_conn_active;  /* Application is using LU       */
        unsigned char   plu_sess_active;   /* Is PLU-SLU session active     */
        unsigned char   host_attachment;   /* Host attachment               */
        SESSION_STATS   lu_sscp_stats;     /* LU-SSCP session statistics    */
        SESSION_STATS   plu_stats;         /* PLU-SLU session statistics    */
        unsigned char   plu_name[8];       /* PLU name                      */
        unsigned char   session_id[8];     /* Internal ID of PLU-SLU sess   */
        unsigned char   app_spec_det_data[256];
                                           /* Application Specified Data    */
        unsigned char   app_type;          /* Application type              */
        unsigned char   sscp_id[6];        /* SSCP ID                       */
        unsigned char   bind_lu_type;      /* LU type issuing BIND          */
        unsigned char   reserva[12];       /* reserved                      */
} LU_0_TO_3_DET_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;
typedef struct lu_0_to_3_def_data
{
        unsigned char   description[RD_LEN];
                                           /* resource description          */
        unsigned char   nau_address;       /* LU NAU address                */
        unsigned char   pool_name[8];      /* LU Pool name                  */
        unsigned char   pu_name[8];        /* PU name                       */
        unsigned char   priority;          /* LU priority                   */
        unsigned char   lu_model;          /* LU model                      */
        unsigned char   sscp_id[6];
        unsigned char   timeout;           /* Timeout                       */
        unsigned char   app_spec_def_data[16];
                                           /* Application Specified Data    */
        unsigned char   model_name[7];     /* LU model                      */
        unsigned char   reserv3[17];         /* reserved                    */
} LU_0_TO_3_DEF_DATA;

Supplied Parameters

The application supplies the following parameters:
opcode
AP_QUERY_LU_0_TO_3
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.

The note pad
AP_SUMMARY value is also supported for SNA API clients.
AP_DETAIL
Returns detailed information.

The lu_name specified (see the following parameter, 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

The note pad
AP_FIRST_IN_LIST value is also supported for SNA API clients.
.
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.
lu_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.

The note pad
The list_options value is ignored for SNA API clients.
pu_name
PU name. Only LUs that use this PU will be returned. If a list of all LUs is required then this field should be set to all binary zeros. The list_options value is ignored for SNA API clients. The list_options value is ignored for SNA API clients.

The note pad
The pu_name value is ignored for SNA API clients.
host_attachment
Filter for host attachment.
AP_NONE
Return information about all LUs.

The note pad
AP_NONE is the only value supported for SNA API clients.
AP_DLUR_ATTACHED
Return information about all LUs that are supported by DLUR.
AP_DIRECT_ATTACHED
Return information about only those LUs that are directly attached to the host system.

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.
lu_0_to_3_summary.overlay_size
The number of bytes in this entry, and hence the offset to the next entry returned (if any).
lu_0_to_3_summary.pu_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.

The note pad
The lu_0_to_3_summary.pu_name value is not returned on SNA API clients.
lu_0_to_3_summary.lu_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.
lu_0_to_3_summary.description
Resource description (as specified on DEFINE_LU_0_TO_3). This is a 16-byte string in a locally displayable character set. All 16 bytes are significant.

The note pad
The lu_0_to_3_summary.description value is not returned on SNA API clients.
lu_0_to_3_summary.nau_address
Network addressable unit address of the LU, which is in the range 1–255.

The note pad
The lu_0_to_3_summary.nau_address value is not returned on SNA API clients.
lu_0_to_3_summary.lu_sscp_sess_active
Specifies whether the LU-SSCP session is active (AP_YES or AP_NO).

The note pad
The lu_0_to_3_summary.lu_sscp_sess_active value is not returned on SNA API clients.
lu_0_to_3_summary.appl_conn_active
Specifies whether an application is using the LU (AP_YES or AP_NO).

The note pad
The lu_0_to_3_summary.aapl_conn_active value is not returned on SNA API clients.
lu_0_to_3_summary.plu_sess_active
Specifies whether the PLU-SLU session is active (AP_YES or AP_NO).

The note pad
The lu_0_to_3_summary.plu_sess_active value is not returned on SNA API clients.
lu_0_to_3_summary.host_attachment
LU host attachment type:
AP_DLUR_ATTACHED
LU is attached to host system using DLUR.
AP_DIRECT_ATTACHED
LU is directly attached to host system.
lu_0_to_3_detail.overlay_size
The number of bytes in this entry, and hence the offset to the next entry returned (if any).
lu_0_to_3_detail.lu_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.
lu_0_to_3_detail.det_data.lu_sscp_sess_active
Specifies whether the LU-SSCP session is active (AP_YES or AP_NO).
lu_0_to_3_detail.det_data.appl_conn_active
Specifies whether this LU is currently being used by an application (AP_YES or AP_NO).
lu_0_to_3_detail.det_data.plu_sess_active
Specifies whether the PLU-SLU session is active (AP_YES or AP_NO).
lu_0_to_3_detail.det_data.host_attachment
LU host attachment type:
AP_DLUR_ATTACHED
LU is attached to host system using DLUR.
AP_DIRECT_ATTACHED
LU is directly attached to host system.
lu_0_to_3_detail.det_data.lu_sscp_stats.rcv_ru_size
This field is always reserved.
lu_0_to_3_detail.det_data.lu_sscp_stats.send_ru_size
This field is always reserved.
lu_0_to_3_detail.det_data.lu_sscp_stats.max_send_btu_size
Maximum BTU size that can be sent.
lu_0_to_3_detail.det_data.lu_sscp_stats.max_rcv_btu_size
Maximum BTU size that can be received.
lu_0_to_3_detail.det_data.lu_sscp_stats.max_send_pac_win
This field will always be set to zero.
lu_0_to_3_detail.det_data.lu_sscp_stats.cur_send_pac_win
This field will always be set to zero.
lu_0_to_3_detail.det_data.lu_sscp_stats.max_rcv_pac_win
This field will always be set to zero.
lu_0_to_3_detail.det_data.lu_sscp_stats.cur_rcv_pac_win
This field will always be set to zero.
lu_0_to_3_detail.det_data.lu_sscp_stats.send_data_frames
Number of normal flow data frames sent.
lu_0_to_3_detail.det_data.lu_sscp_stats.send_fmd_data_frames
Number of normal flow FMD data frames sent.
lu_0_to_3_detail.det_data.lu_sscp_stats.send_data_bytes
Number of normal flow data bytes sent.
lu _0_to_3_detail.det_data.lu_sscp_stats.rcv_data_frames
Number of normal flow data frames received.
lu_0_to_3_detail.det_data.lu_sscp_stats.rcv_fmd_data_frames
Number of normal flow FMD data frames received.
lu_0_to_3_detail.det_data.lu_sscp_stats.rcv_data_bytes
Number of normal flow data bytes received.
lu_0_to_3_detail.det_data.lu_sscp_stats.sidh
Session ID high byte.
lu_0_to_3_detail.det_data.lu_sscp_stats.sidl
Session ID low byte.
lu_0_to_3_detail.det_data.lu_sscp_stats.odai
Origin Destination Address Indicator. When bringing up a session, the sender of the ACTLU sets this field to zero if the local node contains the primary link station, and sets it to one if the ACTLU sender is the node containing the secondary link station.
lu_0_to_3_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. This field can be used to correlate this session with the link over which the session flows.
lu_0_to_3_detail.det_data.lu_sscp_stats.pacing_type
Receive pacing type in use on the LU-SSCP session. This will be set to AP_NONE.
lu_0_to_3_detail.det_data.plu_stats.rcv_ru_size
Maximum receive RU size.
lu_0_to_3_detail.det_data.plu_stats.send_ru_size
Maximum send RU size.
lu_0_to_3_detail.det_data.plu_stats.max_send_btu_size
Maximum BTU size that can be sent.
lu_0_to_3_detail.det_data.plu_stats.max_rcv_btu_size
Maximum BTU size that can be received.
lu_0_to_3_detail.det_data.plu_stats.max_send_pac_win
Maximum size of the send pacing window on this session.
lu_0_to_3_detail.det_data.plu_stats.cur_send_pac_win
Current size of the send pacing window on this session.
lu_0_to_3_detail.det_data.plu_stats.max_rcv_pac_win
Maximum size of the receive pacing window on this session.
lu_0_to_3_detail.det_data.plu_stats.cur_rcv_pac_win
Current size of the receive pacing window on this session.
lu_0_to_3_detail.det_data.plu_stats.send_data_frames
Number of normal flow data frames sent.
lu_0_to_3_detail.det_data.plu_stats.send_fmd_data_frames
Number of normal flow FMD data frames sent.
lu_0_to_3_detail.det_data.plu_stats.send_data_bytes
Number of normal flow data bytes sent.
lu_0_to_3_detail.det_data.plu_stats.rcv_data_frames
Number of normal flow data frames received.
lu_0_to_3_detail.det_data.plu_stats.rcv_fmd_data_frames
Number of normal flow FMD data frames received.
lu_0_to_3_detail.det_data.plu_stats.rcv_data_bytes
Number of normal flow data bytes received.
lu_0_to_3_detail.det_data.plu_stats.sidh
Session ID high byte.
lu_0_to_3_detail.det_data.plu_stats.sidl
Session ID low byte.
lu_0_to_3_detail.det_data.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 one if the BIND sender is the node containing the secondary link station.
lu_0_to_3_detail.det_data.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.
lu_0_to_3_detail.det_data.plu_stats.pacing_type
Receive pacing type in use on the PLU-SSCP session. This can take the values AP_NONE or AP_PACING_FIXED.
lu_0_to_3_detail.det_data.plu_name
Primary LU name. This is an 8-byte alphanumeric type-A EBCDIC string (starting with a letter), padded to the right with EBCDIC spaces. (If the PLU-SLU session is inactive this field is reserved).
lu_0_to_3_detail.det_data.session_id
Eight byte internal identifier of the PLU-SLU session.
lu_0_to_3_detail.det_data.app_spec_det_data
Reserved.
lu_0_to_3_detail.det_data.app_type
Reserved.
lu_0_to_3_detail.det_data.sscp_id
This is a 6–byte field containing the SSCP ID received in the ACTPU for the PU used by this LU.

If lu_sscp_sess_active is not AP_YES, then this field will be zeroed.

lu_0_to_3_detail.det_data.bind_lu_type
The LU type of the LU that issued the original BIND. If there is an active LU-LU session, then this can be one of the following:

AP_LU_TYPE_0
AP_LU_TYPE_1
AP_LU_TYPE_2
AP_LU_TYPE_3
AP_LU_TYPE_6 (for downstream dependent LU 6.2)

If there is no active LU—LU session, then this field takes the following value:

AP_LU_TYPE_UNKNOWN

lu_0_to_3_detail.def_data.description
Resource description (as specified on DEFINE_LU_0_TO_3). This is a 16-byte string in a locally displayable character set. All 16 bytes are significant.
lu_0_to_3_detail.def_data.nau_address
Network addressable unit address of the LU, which is in the range 1–255.
lu_0_to_3_detail.def_data.pool_name
Name of pool to which this LU belongs. This is an 8-byte alphanumeric type-A EBCDIC string (starting with a letter), padded to the right with EBCDIC spaces. If the LU does not belong to a pool, this field is set to all binary zeros.
lu_0_to_3_detail.def_data.pu_name
Name of the PU (as specified on the DEFINE_LS verb) that this LU will use. This is an 8-byte alphanumeric type-A EBCDIC string (starting with a letter), padded to the right with EBCDIC spaces.
lu_0_to_3_detail.def_data.priority
LU priority when sending to the host. This is set to one of the following values:

AP_NETWORK
AP_HIGH
AP_MEDIUM
AP_LOW

lu_0_to_3_detail.def_data.lu_model
Model type and number of the LU. This is set to one of the following values:

AP_3270_DISPLAY_MODEL_2
AP_3270_DISPLAY_MODEL_3
AP_3270_DISPLAY_MODEL_4
AP_3270_DISPLAY_MODEL_5
AP_RJE_WKSTN
AP_PRINTER
AP_SCS_PRINTER
AP_UNKNOWN

lu_0_to_3_detail.def_data.sscp_id
This field specifies the ID of the SSCP permitted to activate this LU. It is a 6–byte binary field. If the field is set to binary zeros, then the LU may be activated by any SSCP.
lu_0_to_3_detail.def_data.timeout
Timeout for LU specified in seconds. If a timeout is supplied and the user of the LU specified allow_timeout on the OPEN_LU_SSCP_SEC_RQ (or, in the case of PU concentration, on the Downstream LU definition), then the LU will be deactivated after the PLU-SLU session is left inactive for this period and one of the following conditions holds:
  • The session passes over a limited resource link
  • Another application wishes to use the LU before the session is used again

If the timeout is set to zero, the LU will not be deactivated.

lu_0_to_3_detail.def_data.app_spec_def_data
Application-specified data from DEFINE_LU_0_TO_3; the Program does not interpret this field, it is simply stored and returned on the QUERY_LU_0_TO_3 verb.
lu_0_to_3_detail.def_data.model_name
The value returned is the value specified in the format 1 DEFINE_LU_0_TO_3 verb, or hex zeros if the DEFINE verb was format 0.
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