[Contents] [Prev] [Next] [Index]
Page 6 out of 16 total pages.

4   Node Operator Facility (NOF) API


Writing Node Operator Facility (NOF) Programs

NWSAA provides a dynamic link library (DLL) file that handles NOF verbs.

The DLL is reentrant; therefore, multiple application processes and threads can call the DLL concurrently.

NOF verbs have a straight forward language interface. Your program fills in fields in a block of memory called a verb control block (VCB). Then it calls the NOF DLL and passes a pointer to the verb control block. When its operation is complete, NOF returns, having used and then modified the fields in the VCB. Your program can then read the returned parameters from the verb control block.

Table 4-1 shows source module usage of supplied header files and libraries needed to compile and link NOF programs. Some of the header files may include other required header files.

Table 4-1  Header Files and Libraries for NOF

Operating System Header File Library DLL Name
Windows 95, Windows 98, & Windows NT 4.0 WINNOF.H WINNOF32.LIB WINNOF32.DLL
Windows 3.11 WINNOF.H WINNOF.LIB WINNOF.DLL
OS/2 APPC_C.H APPC.LIB APPC.DLL

NOTE: The NetWare Client does not support the NOF API.

NOF Entry Points

This section describes the entry points for NOF verbs.

WinNOF()

You can use this synchronous entry point for all of the Node Operator Facility verbs on the Windows 3.11, Windows 95, Windows 98, and Windows NT 4.0 SNA API Clients.

Syntax

void WINAPI WinNOF(long vcb, unsigned short vcb_size)

VCB Structure

Table 4-2

Parameter Description
vcb Pointer to verb control block
vcb_size Number of bytes in the verb control block

Returned Values

No return value. The primary_rc and secondary_rc fields in the verb control block indicate any error.

Remarks

This is the main synchronous entry point for the Node Operator Facility API. This call blocks until the verb completes.

APPC

You can use this synchronous entry point for all of the NOF verbs on the OS/2 SNA API Client.

Syntax

void WINAPI APPC(long)

Returned Values

Examine the primary return code and secondary return code for any errors.

NWSAA supports the following NOF verbs thereby providing an application with a method for querying information about node configuration.

NOF Verbs

This section describes each NOF verb, listed alphabetically, including supplied and returned parameters.

QUERY_LOCAL_LU

QUERY_LOCAL_LU returns information about local LUs. QUERY_LOCAL_LU can be issued to retrieve information about the NWSAA control point LU.

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 or lu_alias field should be set. If the lu_name field is nonzero it will be used to determine the index. If the lu_name field is set to all zeros, the lu_alias will be used to determine the index. If both the lu_name and the lu_alias fields are set to all zeros, the LU associated with the control point (the default LU) will be used. If the list_options field is set to AP_FIRST_IN_LIST, both of these fields will be ignored. (In this case, the returned list will be ordered by LU alias if the AP_LIST_BY_ALIAS list_options is set. Otherwise it will be ordered by LU name).

This list is ordered on either lu_alias or lu_name according to the options specified. The field is ordered by EBCDIC lexicographical ordering.

The list of local LUs returned can be filtered by the name of the PU that they are associated with. In this case, the pu_name field should be set (otherwise this field should be set to all zeros).

VCB Structure

Table 4-3

typedef struct query_local_lu 

{ 

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 lu_name[8];   /* LU name   */

unsigned char lu_alias[8];   /* LU alias   */

unsigned char pu_name[8];   /* PU name filter   */

} QUERY_LOCAL_LU;

Table 4-4

typedef struct local_lu_summary 

{

unsigned short overlay_size;   /* size of this entry

*/

unsigned char lu_name[8];   /* LU name   */

unsigned char lu_alias[8];   /* LU alias   */

unsigned char description[RD_LEN];   /* resource 

description   */

} LOCAL_LU_SUMMARY;

Table 4-5

typedef struct local_lu_detail

{

unsigned short overlay_size;   /* size of this entry

   */

unsigned char lu_name[8];   /* LU name   */

LOCAL_LU_DEF_DATA def_data;   /* defined data   */

LOCAL_LU_DEF_DATA det_data;   /* determined data 

   */

} LOCAL_LU_DETAIL;

Table 4-6

typedef struct local_lu_def_data 

{

unsigned char description[RD_LEN];   /* resource 

description   */

unsigned char lu_alias[8];   /* local LU alias   */

unsigned char nau_address;   /* NAU address   */

unsigned char syncpt_support;   /* Reserved   */

unsigned short  lu_session_limit;   /* LU session 

limit   */

unsigned char reserv1;   /* reserved   */

unsigned char reserv2;   /* reserved   */

unsigned char pu_name[8];   /* PU name   */

unsigned char reserv3[8];   /* reserved   */

unsigned char attach_routing_data[128];   /* routing 

data for   */

   /* incoming attaches   */

} LOCAL_LU_DEF_DATA;

Table 4-7

typedef struct local_lu_det_data 

{

unsigned char lu_sscp_sess_active;   /* Is LU-SSCP 

session active   */

unsigned char appl_conn_active;   /* Is LU-SSCP 

session active   */

unsigned char reserv1[2];   /* reserved   */

SESSION_STATS lu_sscp_stats;   /* LU-SSCP session 

statistics   */

} LOCAL_LU_DET_DATA;

Table 4-8

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 

window size   */

unsigned short cur_send_pac_win;   /* current send 

pacing window size   */

unsigned short max_rcv_pac_win;   /* max receive 

pacing window 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;   /* number of 

FMD data frames sent   */

unsigned long send_data_bytes;    /* number of data 

bytes sent   */

unsigned long rcv_data_frames;   /* number of data 

frames received   */

unsigned long rcv_fmd_data_frames;   /* number 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 reserve;   /* reserved   */

} SESSION_STATS;

Supplied Parameters

The application supplies the following parameters:

opcode

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:

lu_name
LU name. This name is an 8-byte type-A EBCDIC character string. If this field is set to all zeros, the lu_alias field will be used for determining the index. This field is ignored if list_options is set to AP_FIRST_IN_LIST.

lu_alias
Locally defined LU alias. This is an 8-byte string in a locally displayable character set. All 8 bytes are significant and must be set. If both the lu_name and the lu_alias field are set to all zeros, the LU associated with the control point (the default LU) is used. This field is ignored if list_options is set to AP_FIRST_IN_LIST.

pu_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 Local LUs associated with this PU are returned. This field is ignored if it is set to all zeros.

Returned Parameters

If the verb executes successfully, NWSAA returns the following parameters:

primary_rc

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.

local_lu_summary.overlay_size
The number of bytes in this entry, and the offset to the next entry returned (if any).

local_lu_summary.lu_name
LU name. This name is an 8-byte type-A EBCDIC character string.

local_lu_summary.lu_alias
Locally defined LU alias. This is an 8-byte string in a locally displayable character set. All 8 bytes are significant.

local_lu_summary.description
Resource description (as specified on DEFINE_LOCAL_LU). This is a 16-byte string in a locally displayable character set. All 16 bytes are significant.

local_lu_detail.overlay_size
The number of bytes in this entry, and hence the offset to the next entry returned (if any).

local_lu_detail.lu_name
LU name. This name is an 8-byte type-A EBCDIC character string.

local_lu_detail.def_data.description
Resource description (as specified on DEFINE_LOCAL_LU). This is a 16-byte string in a locally displayable character set. All 16 bytes are significant.

local_lu_detail.def_data.lu_alias
Locally defined LU alias. This is an 8-byte string in a locally displayable character set. All 8 bytes are significant.

local_lu_detail.def_data.nau_address
Network addressable unit address of the LU, which is in the range 0-255. A nonzero value implies the LU is a dependent LU. Zero implies that the LU is an independent LU.

local_lu_detail.def_data.syncpt_support
Reserved.

local_lu_detail.def_data.lu_session_limit
Maximum number of sessions for the local LU. A value of zero indicates that there is no limit.

local_lu_detail.def_data.default_pool
AP_YES if the LU is a member of the dependent LU 6.2 default pool. Always AP_NO for independent LUs.

local_lu_detail.def_data.pu_name
Name of the PU 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. This field is only used by dependent LUs and will be set to all binary zeros for independent LUs.

local_lu_detail.def_data.attach_routing_data
Reserved.

local_lu_detail.det_data.lu_sscp_session_active
Specifies whether the LU-SSCP session is active (AP_YES or AP_NO). If the def_data.nau_address is zero, then this field is reserved.

local_lu_detail.det_data.appl_conn_active
Specifies whether an application is using the LU (AP_YES or AP_NO). If the def_data.nau_address is zero, then this field is reserved.

local_lu_detail.det_data.lu_sscp_stats.rcv_ru_size
This field is always reserved.

local_lu_detail.det_data.lu_sscp_stats.send_ru_size
This field is always reserved.

local_lu_detail.det_data.lu_sscp_stats.max_send_btu_size
Maximum BTU size that can be sent.

local_lu_detail.det_data.lu_sscp_stats.max_rcv_btu_size
Maximum BTU size that can be received.

local_lu_detail.det_data.lu_sscp_stats.max_send_pac_win
This field will always be set to zero.

local_lu_detail.det_data.lu_sscp_stats.cur_send_pac_win
This field will always be set to zero.

local_lu_detail.det_data.lu_sscp_stats.max_rcv_pac_win
This field will always be set to zero.

local_lu_detail.det_data.lu_sscp_stats.cur_rcv_pac_win
This field will always be set to zero.

local_lu_detail.det_data.lu_sscp_stats.send_data_frames
Number of normal flow data frames sent.

local_lu_detail.det_data.lu_sscp_stats.send_fmd_data_frames
Number of normal flow FMD data frames sent.

local_lu_detail.det_data.lu_sscp_stats.send_data_bytes
Number of normal flow data bytes sent.

local_lu_detail.det_data.lu_sscp_stats.rcv_data_frames
Number of normal flow data frames received.

local_lu_detail.det_data.lu_sscp_stats.rcv_fmd_data_frames
Number of normal flow FMD data frames received.

local_lu_detail.det_data.lu_sscp_stats.rcv_data_bytes
Number of normal flow data bytes received.

local_lu_detail.det_data.lu_sscp_stats.sidh
Session ID high byte.

local_lu_detail.det_data.lu_sscp_stats.sidl
Session ID low byte.

local_lu_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.

local_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. This field can be used to correlate this session with the link over which the session flows.

NOTE: The LU-SSCP statistics (local_lu_detail.det_data.lu_sscp_stats) are valid only when nau_address is not zero. Otherwise the fields are reserved.

If the verb does not execute because of a parameter error, NWSAA returns the following parameters:

primary_rc

secondary_rc

If the verb does not execute because the node has not yet been started, NWSAA returns the following parameter:

primary_rc

If the verb does not execute because of a system error, NWSAA returns the following parameter:

primary_rc

QUERY_LU_0_TO_3

QUERY_LU_0_TO_3 returns information about local LUs of type 0, 1, 2, or 3.

The information is returned as a list in summary format.

VCB Structure

Table 4-9

typedef struct query_lu_0_to_3

{

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 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;

Table 4-10

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 conn. 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;

Supplied Parameters

The application supplies the following parameters:

opcode

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:

NOTE: AP_SUMMARY and AP_FIRST_IN_LIST must be ORed together.

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.

NOTE: The lu_name 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, this field should be set to all binary zeros.

NOTE: The pu_name value is ignored for SNA API Clients.

host_attachment
Filter for host attachment.

Returned Parameters

If the verb executes successfully, NWSAA 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.lu_name
This field returns the configured session name.

If the verb does not execute because of a parameter error, NWSAA returns the following parameters:

primary_rc

secondary_rc

If the verb does not execute because the node has not yet been started, NWSAA returns the following parameter:

primary_rc

If the verb does not execute because of a system error, NWSAA returns the following parameter:

primary_rc

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, the information returned starts from the first LU in the specified pool. If the list_options field is set to AP_FIRST_IN_LIST, both of these fields are ignored.

VCB Structure

Table 4-11

typedef struct query_lu_pool

{

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 pool_name[8];   /* pool name   */

unsigned char lu_name[8];   /* LU name   */

} QUERY_LU_POOL;

Table 4-12

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   */

} LU_POOL_SUMMARY;

Table 4-13

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

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:

NOTE: To complete the list_options setting, you must OR one of the format options (AP_SUMMARY, AP_DETAIL) with one of the index options (AP_FIRST_IN_LIST, AP_LIST_FROM_NEXT, AP_LIST_INCLUSIVE).

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

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, NWSAA returns the following parameters:

primary_rc

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_detail.num_active_lus
The number of LUs in the specified pool that have active LU-SSCP sessions.

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, 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, NWSAA returns the following parameters:

primary_rc

secondary_rc

If the verb does not execute because the node has not yet been started, NWSAA returns the following parameter:

primary_rc

If the verb does not execute because of a system error, NWSAA returns the following parameter:

primary_rc

QUERY_MODE

QUERY_MODE returns information about modes that have been used by a local LU with a particular partner LU. The information is returned as a list in one of two formats, either summary or detailed information. To obtain information about a specific mode, or to obtain the list information in several "chunks," the mode_name field should be set. Otherwise (if the list_options field is set to AP_FIRST_IN_LIST), this field will be ignored. Note that the lu_name (or lu_alias) and plu_alias (or fqplu_name) fields must always be set. The lu_name, if nonzero, will be used in preference to the lu_alias.

The list includes information only for the local LU specified by the lu_name (or lu_alias). This list is ordered by the fqplu_name followed by the mode_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 plu_alias is set to all zeros, the fqplu_name value will be used, otherwise the plu_alias is always used and the fqplu_name is ignored.

The list of modes returned can be filtered according to whether they currently have any active sessions. If filtering is desired, the active_sessions field should be set to AP_YES (otherwise this field should be set to AP_NO). This verb returns information that is determined once the mode begins to be used by a local LU with a partner LU. The QUERY_MODE_DEFINITION verb returns definition information only.

VCB Structure

Table 4-14

typedef struct query_mode

{

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 lu_name[8];   /* LU name   */

unsigned char lu_alias[8];   /* LU alias   */

unsigned char plu_alias[8];   /* partner LU 

alias   */

unsigned char fqplu_name[17];   /* fully qualified 

partner LU name   */

unsigned char mode_name[8];   /* mode name   */

unsigned char active_sessions;   /* active sessions 

only filter   */

} QUERY_MODE;

Table 4-15

typedef struct mode_summary

{

unsigned short overlay_size;   /* size of this entry

   */

unsigned char mode_name[8];   /* mode name   */

unsigned char description[RD_LEN];   /* resource 

description   */

unsigned short sess_limit;   /* current session limit

   */

unsigned short act_sess_count;   /* curr active 

sessions count   */

unsigned char fqplu_name[17];   /* partner LU name

   */

unsigned char reserv1[3];   /* reserved   */

} MODE_SUMMARY;

Supplied Parameters

The application supplies the following parameters:

opcode

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:

NOTE: To complete the list_options setting, you must OR one of the format options (AP_SUMMARY, AP_DETAIL) with one of the index options (AP_FIRST_IN_LIST, AP_LIST_FROM_NEXT, AP_LIST_INCLUSIVE).

The combination of lu_name (or lu_alias if the lu_name is set to all zeros), plu_alias (or fqplu_name if the plu_alias is set to all zeros) and mode_name specified (see the following parameter) represents an index value that is used to specify the starting point of the actual information to be returned. When a partner LU index is specified, information about other partner LUs is included in the list, if possible.

lu_name
LU name. This name is an 8-byte type-A EBCDIC character string. If this field is set to all zeros, the lu_alias field will be used for determining the index.

lu_alias
Locally defined LU alias. This is an 8-byte string in a locally displayable character set. This field is significant only if the lu_name field is set to all zeros, in which case all 8 bytes are significant and must be set. If both the lu_name and the lu_alias are set to all zeros, the LU associated with the control point (the default LU) is used.

plu_alias
Partner LU alias. This is an 8-byte string in a locally displayable character set. All 8 bytes are significant and must be set. If this field is set to all zeros, the fqplu_name field will be used for determining the index.

fqplu_name
A 17-byte fully qualified network name for the partner LU. This name is 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.)

mode_name
Mode name, which designates the network properties for a group of sessions. 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.

active_sessions
Active session filter. Specifies whether the returned modes should be filtered according to whether they currently have any active sessions (AP_YES or AP_NO).

Returned Parameters

If the verb executes successfully, NWSAA returns the following parameters:

primary_rc

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.

mode_summary.overlay_size
The number of bytes in this entry, and hence the offset to the next entry returned (if any).

mode_summary.mode_name
Mode name, which designates the network properties for a group of sessions. This is an 8-byte alphanumeric type-A EBCDIC string (starting with a letter), padded to the right with EBCDIC spaces.

mode_summary.description
Resource description (as specified on DEFINE_MODE). This is a 16-byte string in a locally displayable character set. All 16 bytes are significant.

mode_summary.sess_limit
Current session limit.

mode_summary.act_sess_count
Total number of active sessions using the mode. If the active_sessions filter has been set to AP_YES, then this field will always be greater than zero.

mode_summary.fqplu_name
A 17-byte fully qualified network name for the partner LU. This name is 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.)

mode_detail.overlay_size
The number of bytes in this entry, and hence the offset to the next entry returned (if any).

mode_detail.mode_name
Mode name, which designates the network properties for a group of sessions. This is an 8-byte alphanumeric type-A EBCDIC string (starting with a letter), padded to the right with EBCDIC spaces.

mode_detail.description
Resource description (as specified on DEFINE_MODE).

mode_detail.sess_limit
Current session limit.

mode_detail.act_sess_count
Total number of active sessions using the mode. If the active_sessions filter has been set to AP_YES, then this field will always be greater than zero.

mode_detail.fqplu_name
A 17-byte fully qualified network name for the partner LU. This name is 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.)

mode_detail.min_conwinners_source
Specifies the minimum number of sessions on which the local LU is the contention winner (or "first speaker").

mode_detail.min_conwinners_target
Specifies the minimum number of sessions on which the local LU is the contention loser (or "bidder").

mode_detail.drain_source
Specifies whether the local LU satisfies waiting session requests before deactivating a session when session limits are changed or reset (AP_NO or AP_YES).

mode_detail.drain_partner
Specifies whether the partner LU satisfies waiting session requests before deactivating a session when session limits are changed or reset (AP_NO or AP_YES).

mode_detail.auto_act
Number of contention winner sessions that are automatically activated following the Change Number of Sessions exchange with the partner LU.

mode_detail.act_cw_count
Number of active, contention winner (or "first speaker") sessions using this mode. (The local LU does not need to bid before using one of these sessions.)

mode_detail.act_cl_count
Number of active, contention loser (or "bidder") sessions using this mode. (The local LU must bid before using one of these sessions.)

mode_detail.sync_level
Specifies the synchronization levels supported by the mode (AP_NONE, AP_CONFIRM, or AP_SYNCPT).

mode_detail.default_ru_size
Specifies whether a default upper bound for the maximum RU size will be used. If this parameter has a value of AP_YES, the mode_chars.max_ru_size_upp field specified on the DEFINE_MODE verb is ignored, and the upper bound for the maximum RU size is set to the link BTU size minus the size of the TH and the RH.

mode_detail.max_neg_sess_limit
Maximum negotiable session limit. Specifies the maximum session limit for the mode name that a local LU can use during its CNOS processing as the target LU.

mode_detail.max_rcv_ru_size
Maximum received RU size.

mode_detail.pending_session_count
Specifies the number of sessions pending (waiting for session activation to complete).

mode_detail.termination_count
If a previous CNOS verb has caused the mode session limit to be reset to zero, there might have been conversations using, or waiting to use these sessions. This field is a count of how many of these sessions have not yet been deactivated.

mode_detail.implicit
Specifies whether the entry was put in place because of an implicit (AP_YES) or explicit (AP_NO) definition.

If the verb does not execute because of a parameter error, NWSAA returns the following parameters:

primary_rc

secondary_rc

If the verb does not execute because the node has not yet been started, NWSAA returns the following parameter:

primary_rc

If the verb does not execute because of a system error, NWSAA returns the following parameter:

primary_rc

QUERY_MODE_DEFINITION

QUERY_MODE_DEFINITION returns both information previously passed in on a DEFINE_MODE verb and information about SNA-defined default modes.

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

This list is ordered by the mode_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).

This verb returns definition information only. The QUERY_MODE verb returns information that is determined once the mode starts to be used by a local LU with a partner LU.

VCB Structure

Table 4-16

typedef struct query_mode_definition

{

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 mode_name[8];   /* mode name   */

} QUERY_MODE_DEFINITION;

Table 4-17

typedef struct mode_def_summary

{

unsigned short overlay_size;   /* size of this 

entry   */

unsigned char mode_name[8];   /* mode name   */

unsigned char description[RD_LEN];   /* resource 

description   */

} MODE_DEF_SUMMARY;

Table 4-18

typedef struct mode_def_detail

{

unsigned short overlay_size;   /* size of this 

entry   */

unsigned char mode_name[8];   /* mode name   */

MODE_CHARS mode_chars;   /* mode 

characteristics   */

} MODE_DEF_DETAIL;

Table 4-19

typedef struct mode_chars

{

unsigned char description[RD_LEN];   /* resource 

description   */

unsigned short max_ru_size_upp;   /* max RU size 

upper bound   */

unsigned char receive_pacing_win;   /* receive pacing 

window   */

unsigned char default_ru_size;   /* default RU size 

to maximize performance   */

unsigned short max_neg_sess_lim;   /* max negotiable 

session limit   */

unsigned short plu_mode_session_limit;   /* LU-mode 

session limit   */

unsigned short min_conwin_src;   /* min source 

contention winner sessions   */

unsigned char cos_name[8];   /* class-of-service name

   */

unsigned char cryptography;   /* cryptography   */

unsigned char reserv1;   /* reserved   */

unsigned short auto_act;   /* initial auto-activation 

count   */

unsigned char reserv2[6];   /* reserved   */

} MODE_CHARS;

Supplied Parameters

The application supplies the following parameters:

opcode

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:

NOTE: To complete the list_options setting, you must OR one of the format options (AP_SUMMARY, AP_DETAIL) with one of the index options (AP_FIRST_IN_LIST, AP_LIST_FROM_NEXT, AP_LIST_INCLUSIVE).

The mode_name specified (see the following parameter) represents an index value that is used to specify the starting point of the actual information to be returned.

mode_name
Mode name, which designates the network properties for a group of sessions. 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.

Returned Parameters

If the verb executes successfully, NWSAA returns the following parameters:

primary_rc

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.

mode_def_summary.overlay_size
The number of bytes in this entry, and hence the offset to the next entry returned (if any).

mode_def_summary.mode_name
8-byte mode name, which designates the network properties for a group of sessions.

mode_def_summary.description
Resource description (as specified on DEFINE_MODE). This is a 16-byte string in a locally displayable character set. All 16 bytes are significant.

mode_def_detail.overlay_size
The number of bytes in this entry, and hence the offset to the next entry returned (if any).

mode_def_detail.mode_name
Mode name, which designates the network properties for a group of sessions. This is an 8-byte alphanumeric type-A EBCDIC string (starting with a letter), padded to the right with EBCDIC spaces.

mode_def_detail.mode_chars.description
Resource description (as specified on DEFINE_MODE). This is a 16-byte string in a locally displayable character set. All 16 bytes are significant.

mode_def_detail.mode_chars.max_ru_size_upp
Upper boundary for the maximum RU size to be used on sessions with this mode name.

mode_def_detail.mode_chars.receive_pacing_win
Specifies the session pacing window for the sessions when fixed pacing is used.

mode_def_detail.mode_chars.default_ru_size
Specifies whether a default upper bound for the maximum RU size will be used. If this parameter specifies AP_YES, max_ru_size_upp is ignored.

mode_def_detail.mode_chars.max_neg_sess_lim
Maximum negotiable session limit. Value used to negotiate the maximum number of sessions permissible between the local LU and the partner LU for the designated mode name.

mode_def_detail.mode_chars.plu_mode_session_limit
Session limit to negotiate initially on this mode. This value indicates a preferred session limit and is used for implicit CNOS.

Range: 0--32767

mode_def_detail.mode_chars.min_conwin_src
Minimum number of contention winner sessions that can be activated by local LU using this mode.

Range: 0--32767

mode_def_detail.mode_chars.cos_name
Class-of-service name. This is an 8-byte alphanumeric type-A EBCDIC string (starting with a letter), padded to the right with EBCDIC spaces.

mode_def_detail.mode_chars.cryptography
Reserved.

mode_def_detail.mode_chars.auto_act
Specifies the number of session to be auto-activated for this mode. The value is used for implicit CNOS.

Range: 0-32767.

If the verb does not execute because of a parameter error, NWSAA returns the following parameters:

primary_rc

secondary_rc

If the verb does not execute because the node has not yet been started, NWSAA returns the following parameter:

primary_rc

If the verb does not execute because of a system error, NWSAA returns the following parameter:

primary_rc

QUERY_PARTNER_LU

QUERY_PARTNER_LU returns information about partner LUs that have been used by a local LU.

The information is returned as a list in one of two formats, either summary or detailed information. To obtain information about a specific partner LU, or to obtain the list information in several "chunks," the plu_alias field should be set (or the fqplu_name if the plu_alias is set to all zeros). If the list_options field is set to AP_FIRST_IN_LIST, both of these fields will be ignored. The lu_name or lu_alias field must always be set. The lu_name, if nonzero, will be used in preference to the lu_alias.

This list is ordered by the fqplu_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).

If plu_alias is set to all zeros, the fqplu_name value will be used; otherwise, the plu_alias is always used and the fqplu_name is ignored.

The list of partner LUs returned can be filtered according to whether they currently have any active sessions. If filtering is desired, the active_sessions field should be set to AP_YES (otherwise this field should be set to AP_NO).

This verb returns information that is determined when at least one session is established with the partner LU.

NOTE: The QUERY_PARTNER_LU_DEFINITION verb returns definition information only.

VCB Structure

Table 4-20

typedef struct query_partner_lu

{

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 lu_name[8];   /* LU name   */

unsigned char lu_alias[8];      /* LU alias   */

unsigned char plu_alias[8];   /* partner LU 

alias   */

unsigned char fqplu_name[17];   /* fully qualified 

partner LU name   */

unsigned char active_sessions;   /* active sessions 

only filter   */

} QUERY_PARTNER_LU;

Table 4-21

typedef struct plu_summary

{

unsigned short overlay_size;   /* size of this 

entry   */

unsigned char plu_alias[8];   /* partner LU 

alias   */

unsigned char fqplu_name[17];   /* fully qualified 

partner LU name   */

unsigned char reserv1;   /* reserved   */

unsigned char description[RD_LEN];   /* resource 

description   */

unsigned short act_sess_count;   /* curr active 

sessions count   */

unsigned char partner_cp_name[17];   /* partner LU CP 

name   */

unsigned char partner_lu_located;   /* CP name 

resolved?   */

} PLU_SUMMARY;

Table 4-22

typedef struct plu_detail

{

unsigned short overlay_size;   /* size of this 

entry   */

unsigned char plu_alias[8];   /* partner LU 

alias   */

unsigned char fqplu_name[17];   /* fully qualified 

partner LU names   */

unsigned char reserv1;   /* reserved   */

unsigned char description[RD_LEN];   /* resource 

description   */

unsigned short act_sess_count;   /* curr active 

sessions count   */

unsigned char partner_cp_name[17];   /* partner LU CP 

name   */

unsigned char partner_lu_located;   /* CP name 

resolved?   */

unsigned char plu_un_name[8];   /* partner LU 

uninterpreted name   */

unsigned char parallel_sess_supp;   /* parallel 

sessions supported?   */

unsigned char conv_security;   /* conversation 

security   */

unsigned short max_mc_ll_send_size;   /* max send LL 

size for mapped conversations   */

unsigned char implicit;   /* implicit or explicit 

entry   */

unsigned char security_details;   /* conversation 

security detail   */

unsigned char duplex_support;   /* full-duplex 

support   */

unsigned char preference;   /* routing 

preference   */

unsigned char reserva[16];   /* reserved   */

} PLU_DETAIL;

The application supplies the following parameters:

opcode

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:

NOTE: To complete the list_options setting, you must OR one of the format options (AP_SUMMARY, AP_DETAIL) with one of the index options (AP_FIRST_IN_LIST, AP_LIST_FROM_NEXT, AP_LIST_INCLUSIVE).

The combination of the lu_name (or lu_alias if the lu_name is set to all zeros) and plu_alias (or fqplu_name if the plu_alias is set to all zeros) specified (see the following parameter) represents an index value that is used to specify the starting point of the actual information to be returned:

lu_name
LU name. This name is an 8-byte type-A EBCDIC character string. If this field is set to all zeros, the lu_alias field will be used for determining the index.

lu_alias
Locally defined LU alias. This is an 8-byte string in a locally displayable character set. This field is only significant if the lu_name field is set to all zeros, in which case all 8 bytes are significant and must be set. If both the lu_name and the lu_alias are set to all zeros then the LU associated with the control point (the default LU) is used.

plu_alias
Partner LU alias. This is an 8-byte string in a locally displayable character set. All 8 bytes are significant and must be set. If this field is set to all zeros, the fqplu_name field will be used as the index value.

fqplu_name
A 17-byte fully qualified network name for the partner LU. This name is 17 bytes long and is 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.)

active_sessions
Active session filter. Specifies whether the returned partner LUs should be filtered according to whether they currently have any active sessions (AP_YES or AP_NO).

Returned Parameters

If the verb executes successfully, NWSAA returns the following parameters:

primary_rc

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.

plu_summary.overlay_size
The number of bytes in this entry, and hence the offset to the next entry returned (if any).

plu_summary.plu_alias
Partner LU alias. This is an 8-byte string in a locally displayable character set. All 8 bytes are significant.

plu_summary.fqplu_name
A 17-byte fully qualified network name for the partner LU. This name is 17 bytes long and is 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.)

plu_summary.description
Resource description (as specified on DEFINE_PARTNER_LU). This is a 16-byte string in a locally displayable character set. All 16 bytes are significant.

plu_summary.act_sess_count
Total number of active sessions between the local LU and the partner LU. If the active_sessions filter has been set to AP_YES, then this field will always be greater than zero.

plu_summary.partner_cp_name
A 17-byte fully qualified network name for the control point of the partner LU. This name is 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.)

plu_summary.partner_lu_located
Specifies whether the control point name for the partner LU has been resolved (AP_YES or AP_NO).

plu_detail.overlay_size
The number of bytes in this entry, and hence the offset to the next entry returned (if any).

plu_detail.plu_alias
Partner LU alias. This is an 8-byte string in a locally displayable character set. All 8 bytes are significant.

plu_detail.fqplu_name
A 17-byte fully qualified network name for the partner LU. This name is 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.)

plu_detail.description
Resource description (as specified on DEFINE_PARTNER_LU). This is a 16-byte string in a locally displayable character set. All 16 bytes are significant.

plu_detail.act_sess_count
Total number of active sessions between the local LU and the partner LU. If the active_sessions filter has been set to AP_YES, this field will always be greater than zero.

plu_detail.partner_cp_name
A 17-byte fully qualified network name for the control point of the partner LU. This name is 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.)

plu_detail.partner_lu_located
Specifies whether the control point name for the partner LU has been resolved (AP_YES or AP_NO).

plu_detail.plu_un_name
Uninterpreted name of the partner LU. This is an 8-byte type-A EBCDIC character string.

plu_detail.parallel_sess_supp
Specifies whether parallel sessions are supported (AP_YES or AP_NO).

plu_detail.conv_security
Specifies whether conversation security information can be sent to this partner LU (AP_YES or AP_NO). If it is set to AP_NO, then any security information supplied by a transaction program is not sent to the partner LU.

plu_detail.max_mc_ll_send_size
Maximum size of logical length (LL) record that can be sent to the partner LU. Data records that are larger than this are broken down into several LL records before being sent to the partner LU. The maximum value max_mc_ll_send_size can take is 32 767.

plu_detail.implict
Specifies whether the entry is the result of an implicit (AP_YES) or explicit (AP_NO) definition.

plu_detail.security_details
Returns the conversation security support as negotiated on the BIND. This can be one or more of the following values:

AP_CONVERSATION_LEVEL_SECURITY
Conversation security information will be accepted on requests to or from the partner LU to allocate a conversation. The specific types of conversation security support are described by the following values.

AP_ALREADY_VERIFIED
Both local and partner LU agree to accept already verified requests to allocate a conversation. An already verified request need carry only a user ID, and not a password.

AP_PERSISTENT_VERIFICATION
Persistent verification is supported on the session between the local and partner LUs. This means that, once the initial request (carrying a user ID and, typically, a password) for a conversation has been verified, subsequent requests for a conversation need only carry the user ID.

AP_PASSWORD_SUBSTITUTION
The local and partner LU support password substitution conversation security. When a request to allocate a conversation is issued, the request carries an encrypted form of the password. If password substitution is not supported, the password is carried in clear text (nonencrypted) format.

NOTE: If the session does not support password substitution, an ALLOCATE or SEND_CONVERSATION with security type of AP_PGM_STRONG will fail.

plu_detail.duplex_support
Returns the conversation duplex support as negotiated on the BIND. This is one of the following values:

If the verb does not execute because of a parameter error, NWSAA returns the following parameters:

primary_rc

secondary_rc

If the verb does not execute because the node has not yet been started, NWSAA returns the following parameter:

primary_rc

If the verb does not execute because of a system error, NWSAA returns the following parameter:

primary_rc

QUERY_PARTNER_LU_DEFINITION

QUERY_PARTNER_LU_DEFINITION returns information that had previously been passed in on a DEFINE_PARTNER_LU verb.

The information is returned as a list in one of two formats, either summary or detailed information. To obtain information about a specific partner LU, or to obtain the list information in several "chunks," the plu_alias field (or the fqplu_name if the plu_alias is set to all zeros) should be set. If the plu_alias field is nonzero it will be used to determine the index and the fqplu_name is ignored. If the plu_alias field is set to all zeros, the fqplu_name will be used to determine the index. If the list_options field is set to AP_FIRST_IN_LIST then both of these fields will be ignored. (In this case the returned list will be ordered by plu_alias if the AP_LIST_BY_ALIAS list_options is set, otherwise it will be ordered by fqplu_name).

This list is ordered on either plu_alias or fqplu_name according to the options specified. 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: This verb returns definition information only. The QUERY_PARTNER_LU verb returns information that is determined when at least one session is established with the partner LU.

VCB Structure

Table 4-23

typedef struct query_partner_lu_definition

{

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 plu_alias[8];   /* partner LU 

alias   */

unsigned char fqplu_name[17];   /* fully qualified 

partner LU names   */

} QUERY_PARTNER_LU_DEFINITION;

Table 4-24

typedef struct partner_lu_def_summary

{

unsigned short overlay_size;   /* size of this 

entry   */

unsigned char plu_alias[8];   /* partner LU 

alias   */

unsigned char fqplu_name[17];   /* fully qualified 

partner LU name   */

unsigned char description[RD_LEN];   /* resource 

description   */

} PARTNER_LU_DEF_SUMMARY;

Table 4-25

typedef struct partner_lu_def_detail

{

unsigned short overlay_size;   /* size of this 

entry   */

unsigned char plu_alias[8];   /* partner LU 

alias   */

unsigned char fqplu_name[17];   /* fully qualified 

partner LU name   */

unsigned char reserv1;   /* reserved   */

PLU_CHARS plu_chars;   /* partner LU 

characteristics   */

} PARTNER_LU_DEF_DETAIL;

Table 4-26

typedef struct plu_chars

{

unsigned char fqplu_name[17];   /* fully qualified 

partner   */

   /* LU name   */

unsigned char plu_alias[8];   /* partner LU 

alias   */

unsigned char description[RD_LEN];   /* resource 

description   */

unsigned char plu_un_name[8];   /* partner LU 

uninterpreted name   */

unsigned char preference;   
/* routing preference   */

unsigned short max_mc_ll_send_size;   /* max MC send 

LL size   */

unsigned char conv_security_ver;   /* 

already_verified accepted   */

unsigned char parallel_sess_supp;   /* parallel 

sessions supported?   */

unsigned char reserv2[8];   /* reserved   */

} PLU_CHARS;

Supplied Parameters

The application supplies the following parameters:

opcode

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:

NOTE: To complete the list_options setting, you must OR one of the format options (AP_SUMMARY, AP_DETAIL) with one of the index options (AP_FIRST_IN_LIST, AP_LIST_FROM_NEXT, AP_LIST_INCLUSIVE).

The plu_alias (or the fqplu_name if the plu_alias is set to all zeros) specified (see the following parameter) represents an index value that is used to specify the starting point of the actual information to be returned.

The returned list is ordered by plu_alias. This option is valid only when AP_FIRST_IN_LIST is specified. If AP_LIST_FROM_NEXT or AP_LIST_INCLUSIVE is specified, the list ordering will depend on whether the plu_alias or fqplu_name has been supplied as a starting point.

plu_alias
Partner LU alias. This is an 8-byte string in a locally displayable character set. All 8 bytes are significant and must be set. If this field is set to all zeros, the fqplu_name field is used to specify the required partner LU. This field is ignored if list_options is set to AP_FIRST_IN_LIST.

fqplu_name
A 17-byte fully qualified network name for the partner LU. This name is 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.) This field is significant only if the plu_alias field is set to all zeros. This field is ignored if list_options is set to AP_FIRST_IN_LIST.

Returned Parameters

If the verb executes successfully, NWSAA returns the following parameters:

primary_rc

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.

partner_lu_def_summary.overlay_size
The number of bytes in this entry, and hence the offset to the next entry returned (if any).

partner_lu_def_summary.plu_alias
Partner LU alias. This is an 8-byte string in a locally displayable character set. All 8 bytes are significant.

partner_lu_def_summary.fqplu_name
A 17-byte fully qualified network name for the partner LU. This name is 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.)

partner_lu_def_summary.description
Resource description (as specified on DEFINE_PARTNER_LU). This is a 16-byte string in a locally displayable character set. All 16 bytes are significant.

partner_lu_def_detail.overlay_size
The number of bytes in this entry, and hence the offset to the next entry returned (if any).

partner_lu_def_detail.plu_alias
Partner LU alias. This is an 8-byte string in a locally displayable character set. All 8 bytes are significant.

partner_lu_def_detail.fqplu_name
A 17-byte fully qualified network name for the partner LU. This name is 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.)

partner_lu_def_detail.plu_chars.fqplu_name
A 17-byte fully qualified network name for the partner LU. This name is 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.)

partner_lu_def_detail.plu_chars.plu_alias
Partner LU alias.

partner_lu_def_detail.plu_chars.description
Resource description (as specified on DEFINE_PARTNER_LU). This is a 16-byte string in a locally displayable character set. All 16 bytes are significant.

partner_lu_def_detail.plu_chars.plu_un_name
Uninterpreted name of the partner LU. This is an 8-byte type-A EBCDIC character string.

plu_chars.preference
The set of routing protocols to be preferred for session activation to this partner LU. This field can take the following values:

NOTE: Non-native routing is only meaningful when an AnyNet DLC is available to the Node Operator Facility, and there is an AnyNet link station defined.

partner_lu_def_detail.plu_chars.max_mc_ll_send_size
Maximum size of logical length (LL) record that can be sent to the partner LU. Data records that are larger than this are broken down into several LL records before being sent to the partner LU. The maximum value max_mc_ll_send_size can take is 32 767.

partner_lu_def_detail.plu_chars.conv_security_ver
Specifies whether the partner LU is authorized to validate user_ids on behalf of local LUs, that is, whether the partner LU can set the already verified indicator in an Attach request.

partner_lu_def_detail.plu_chars.parallel_sess_supp
Specifies whether parallel sessions are supported (AP_YES or AP_NO).

If the verb does not execute because of a parameter error, NWSAA returns the following parameters:

primary_rc

secondary_rc

If the verb does not execute because the node has not yet been started, NWSAA returns the following parameter:

primary_rc

If the verb does not execute because of a system error, NWSAA returns the following parameter:

primary_rc

QUERY_PU

QUERY_PU returns a list of local PUs and the links associated with them.

The information is returned as a list. To obtain information about a specific PU, or to obtain the list information in several "chunks," the pu_name field should be set. Otherwise (if the list_options field is set to AP_FIRST_IN_LIST), this field will be ignored.

The verb specifies whether local PUs are attached directly to the host system or attached via DLUR. The host_attachment field can be used as a filter so that only information about the specified attachment type is returned.

VCB Structure

Table 4-27

typedef struct query_pu

{

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 pu_name[8];   /* PU name   */

unsigned char host_attachment;   /* Host 

Attachment   */

} QUERY_PU;

Table 4-28

typedef struct pu_data

{

unsigned short overlay_size;   /* size of this 

entry   */

unsigned char pu_name[8];   /* PU name   */

unsigned char description[RD_LEN];   /* resource 

description   */

unsigned char ls_name[8];   /* LS name   */

unsigned char pu_sscp_sess_active;   /* Is PU-SSCP 

session active   */

unsigned char host_attachment;   /* Host 

attachment   */

SESSION_STATS pu_sscp_stats;   /* PU-SSCP session 

statistics   */

unsigned char reserva[20];   /* reserved   */

} PU_DATA;

Supplied Parameters

The application supplies the following parameters:

opcode

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.

The pu_name specified (see the following parameter) represents an index value that is used to specify the starting point of the actual information to be returned.

pu_name
Name of the first PU to be listed. 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.

host_attachment
Filter for host attachment:

Returned Parameters

If the verb executes successfully, NWSAA returns the following parameters:

primary_rc

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.

pu_data.overlay_size
The number of bytes in this entry, and hence the offset to the next entry returned (if any).

pu_data.pu_name
PU name. This is an 8-byte alphanumeric type-A EBCDIC string (starting with a letter), padded to the right with EBCDIC spaces.

pu_data.description
Resource description (as specified on DEFINE_LS or DEFINE_INTERNAL_PU). This is a 16-byte string in a locally displayable character set. All 16 bytes are significant.

pu_data.ls_name
Name of the link station associated with this PU. This is an 8-byte string in a locally displayable character set. All 8 bytes are significant.

pu_data.pu_sscp_sess_active
Specifies whether the PU-SSCP session is active (AP_YES or AP_NO).

pu_data.host_attachment
Local PU host attachment type:

pu_data.pu_sscp_stats.rcv_ru_size
This field is always reserved.

pu_data.pu_sscp_stats.send_ru_size
This field is always reserved.

pu_data.pu_sscp_stats.max_send_btu_size
Maximum BTU size that can be sent.

pu_data.pu_sscp_stats.max_rcv_btu_size
Maximum BTU size that can be received.

pu_data.pu_sscp_stats.max_send_pac_win
This field will always be set to zero.

pu_data.pu_sscp_stats.cur_send_pac_win
This field will always be set to zero.

pu_data.pu_sscp_stats.max_rcv_pac_win
This field will always be set to zero.

pu_data.pu_sscp_stats.cur_rcv_pac_win
This field will always be set to zero.

pu_data.pu_sscp_stats.send_data_frames
Number of normal flow data frames sent.

pu_data.pu_sscp_stats.send_fmd_data_frames
Number of normal flow FMD data frames sent.

pu_data.pu_sscp_stats.send_data_bytes
Number of normal flow data bytes sent.

pu_data.pu_sscp_stats.rcv_data_frames
Number of normal flow data frames received.

pu_data.pu_sscp_stats.rcv_fmd_data_frames
Number of normal flow FMD data frames received.

pu_data.pu_sscp_stats.rcv_data_bytes
Number of normal flow data bytes received.

pu_data.pu_sscp_stats.sidh
Session ID high byte.

pu_data.pu_sscp_stats.sidl
Session ID low byte.

pu_data.pu_sscp_stats.odai
Origin destination address indicator. When bringing up a session, the sender of the ACTPU sets this field to zero if the local node contains the primary link station and sets it to one if the ACTPU sender is the node containing the secondary link station.

pu_data.pu_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.

If the verb does not execute because of a parameter error, NWSAA returns the following parameters:

primary_rc

secondary_rc

If the verb does not execute because the node has not yet been started, NWSAA returns the following parameter:

primary_rc

If the verb does not execute because of a system error, NWSAA returns the following parameter:

primary_rc

QUERY_SESSION

QUERY_SESSION returns list information about sessions for which the node is an endpoint.

The information is returned as a list in one of two formats, either summary or detailed information. To obtain information about a specific session, or to obtain the list information in several "chunks," the session_id field should be set. Otherwise (if the list_options field is set to AP_FIRST_IN_LIST), this field will be ignored. Note that the lu_name (or lu_alias) and plu_alias (or fqplu_name) fields must always be set. The lu_name, if nonzero, will be used in preference to the lu_alias.

If plu_alias is set to all zeros, the fqplu_name value will be used, otherwise the plu_alias is always used and the fqplu_name is ignored.

The list of sessions returned can be filtered by the name of the mode that they are associated with. In this case the mode_name field should be set (otherwise this field should be set to all zeros).

VCB Structure

Table 4-29

typedef struct query_session

{

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 lu_name[8];   /* LU name   */

unsigned char lu_alias[8];   /* LU alias   */

unsigned char plu_alias[8];   /* partner LU 

alias   */

unsigned char fqplu_name[17];   /* fully qualified 

partner LU name   */

unsigned char mode_name[8];   /* mode name   */

unsigned char session_id[8];   /* session ID    */

} QUERY_SESSION;

Table 4-30

typedef struct session_summary

{

unsigned short overlay_size;   /* size of this 

entry   */

unsigned char plu_alias[8];   /* partner LU 

alias   */

unsigned char fqplu_name[17];   /* fully qualified 

partner LU name   */

unsigned char reserv3[1];   /* reserved   */

unsigned char mode_name[8];   /* mode name   */

unsigned char session_id[8];   /* session ID   */

FQPCID fqpcid;   /* fully qualified procedure 

correlator ID   */

} SESSION_SUMMARY;

Table 4-31

typedef struct session_detail

{

unsigned short overlay_size;   /* size of this 

entry   */

unsigned char plu_alias[8];   /* partner LU 

alias   */

unsigned char fqplu_name[17];   /* fully qualified 

partner LU name   */

unsigned char reserv3[1];   /* reserved   */

unsigned char mode_name[8];   /* mode name   */

unsigned char session_id[8];   /* session ID   */

FQPCID fqpcid;   /* fully qualified procedure 

correlator ID   */

unsigned char cos_name[8];   /* class-of-service 

name   */

unsigned char trans_pri;   /* transmission 

priority   */

unsigned char ltd_res;   /* session spans a limited 

resource   */

unsigned char polarity;   /* session polarity   */

unsigned char contention;   /* session 

contention   */

SESSION_STATS  sess_stats;   /* session 

statistics   */

unsigned char duplex_support;   /* full-duplex 

support   */

unsigned char reserv3a[2];   /* reserved   */

unsigned char reserva[20];   /* reserved   */

unsigned char rscv_len;   /* length of following 

RSCV   */

} SESSION_DETAIL;

Table 4-32

typedef struct fqpcid

{

unsigned char pcid[8];   /* pro correlator 

identifier   */

unsigned char fqcp_name[17];   /* orig's network 

qualified    */

   /* CP name    */

unsigned char reserve3[3];   /* reserved    */

} FQPCID;

Table 4-33

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;   /* maximum send 

BTU size    */

unsigned short max_rcv_btu_size;    rcv BTU size 

   */

unsigned short max_send_pac_win;   /* max send pacing 

window size   */

unsigned short cur_send_pac_win;   /* curr send 

pacing window size    */

unsigned short max_rcv_pac_win;   /* max receive 

pacing win size    */

unsigned short cur_rcv_pac_win;   /* curr rec 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;   /* num 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 reserve;   /* reserved    */

} SESSION_STATS;

Supplied Parameters

The application supplies the following parameters:

opcode

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.

NOTE: To complete the list_options setting, you must OR one of the format options (AP_SUMMARY, AP_DETAIL) with one of the index options (AP_FIRST_IN_LIST, AP_LIST_FROM_NEXT, AP_LIST_INCLUSIVE).

lu_name
LU name. This name is an 8-byte type-A EBCDIC character string. If this field is set to all zeros, the lu_alias field will be used for determining the index.

lu_alias
Locally defined LU alias. This is an 8-byte string in a locally displayable character set. This field is significant only if the lu_name field is set to all zeros, in which case all 8 bytes are significant and must be set. If both the lu_name and the lu_alias fields are set to all zeros, the LU associated with the control point (the default LU) is used.

plu_alias
Partner LU alias. This is an 8-byte string in a locally displayable character set. All 8 bytes are significant and must be set. If this field is set to all zeros, the fqplu_name field will be used for determining the index.

fqplu_name
A 17-byte fully qualified network name for the partner LU. This name is 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.)

mode_name
Mode 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 sessions associated with this mode are returned. This field is ignored if it is set to all zeros.

session_id
8-byte identifier of the session. This field is ignored if list_options is set to AP_FIRST_IN_LIST.

Returned Parameters

If the verb executes successfully, NWSAA returns the following parameters:

primary_rc

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.

session_summary.overlay_size
The number of bytes in this entry, and hence the offset to the next entry returned (if any).

session_summary.plu_alias
Partner LU alias. This is an 8-byte string in a locally displayable character set. All 8 bytes are significant.

session_summary.fqplu_name
A 17-byte fully qualified network name for the partner LU. This name is composed of two type-A EBCDIC character strings concatenated by an EBCDIC dot and is right-padded with EBCDIC spaces.

session_summary.mode_name
Mode name. This is an 8-byte alphanumeric type-A EBCDIC string (starting with a letter), padded to the right with EBCDIC spaces.

session_summary.session_id
8-byte identifier of the session.

session_summary.fqpcid.pcid
Procedure correlator ID. This is an 8-byte hexadecimal string.

session_summary.fqpcid.fqcp_name
Fully qualified control point name. This 17-byte name is 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.)

session_detail.overlay_size
The number of bytes in this entry (including any appended RSCV), and hence the offset to the next entry returned (if any).

session_detail.plu_alias
Partner LU alias. This is an 8-byte string in a locally displayable character set. All 8 bytes are significant.

session_detail.fqplu_name
A 17-byte fully qualified network name for the partner LU. This name is composed of two type-A EBCDIC character strings concatenated by an EBCDIC dot, and is right-padded with EBCDIC spaces.

session_detail.mode_name
Mode name. This is an 8-byte alphanumeric type-A EBCDIC string (starting with a letter), padded to the right with EBCDIC spaces.

session_detail.session_id
8-byte identifier of the session.

session_detail.fqpcid.pcid
Procedure correlator ID. This is an 8-byte hexadecimal string.

session_detail.fqpcid.fqcp_name
Fully qualified control point name. This 17-byte name is 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.)

session_detail.cos_name
Class-of-service name. This is an 8-byte alphanumeric type-A EBCDIC string (starting with a letter), padded to the right with EBCDIC spaces.

session_detail.trans_pri
Transmission priority. This is set to one of the following values:

session_detail.ltd_res
Specifies whether the session uses a limited resource link (AP_YES or AP_NO).

session_detail.polarity
Specifies the polarity of the session (AP_PRIMARY or AP_SECONDARY).

session_detail.contention
Specifies the session contention polarity. This indicates whether the local LU has 'first refusal' for the use of this session (AP_CONWINNER) or whether it must bid before using the session (AP_CONLOSER).

session_detail.sess_stats.rcv_ru_size
Maximum receive RU size.

session_detail.sess_stats.send_ru_size
Maximum send RU size.

session_detail.sess_stats.max_send_btu_size
Maximum BTU size that can be sent.

session_detail.sess_stats.max_rcv_btu_size
Maximum BTU size that can be received.

session_detail.sess_stats.max_send_pac_win
Maximum size of the send pacing window on this session.

session_detail.sess_stats.cur_send_pac_win
Current size of the send pacing window on this session.

session_detail.sess_stats.max_rcv_pac_win
Maximum size of the receive pacing window on this session.

session_detail.sess_stats.cur_rcv_pac_win
Current size of the receive pacing window on this session.

session_detail.sess_stats.send_data_frames
Number of normal flow data frames sent.

session_detail.sess_stats.send_fmd_data_frames
Number of normal flow FMD data frames sent.

session_detail.sess_stats.send_data_bytes
Number of normal flow data bytes sent.

session_detail.sess_stats.rcv_data_frames
Number of normal flow data frames received.

session_detail.sess_stats.rcv_fmd_data_frames
Number of normal flow FMD data frames received.

session_detail.sess_stats.rcv_data_bytes
Number of normal flow data bytes received.

session_detail.sess_stats.sidh
Session ID high byte.

session_detail.sess_stats.sidl
Session ID low byte.

session_detail.sess_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. It sets it to one if the BIND sender is the node containing the secondary link station.

session_detail.sess_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 the session statistics with the link over which session data flows.

session_detail.duplex_support
Returns the conversation duplex support as negotiated on the BIND. This is one of the following values:

session_detail.rscv_len
Length of the RSCV that is appended to the session_detail structure. (If none is appended, the length is zero.) The RSCV will be padded to end on a 4-byte boundary.

If the verb does not execute because of a parameter error, NWSAA returns the following parameters:

primary_rc

secondary_rc

If the verb does not execute because the node has not yet been started, NWSAA returns the following parameter:

primary_rc

If the verb does not execute because of a system error, NWSAA returns the following parameter:

primary_rc

QUERY_TP

QUERY_TP returns information about transaction programs currently being used by a local LU.

The information is returned as a list. To obtain information about a specific transaction program, or to obtain the list information in several "chunks," the tp_name field should be set. If the list_options field is set to AP_FIRST_IN_LIST, this field will be ignored. Note that the lu_name or lu_alias field must always be set. The lu_name field, if nonzero, will be used in preference to the lu_alias field.

This list is ordered by the tp_name using EBCDIC lexicographical ordering for names of the same length. This verb returns information that is determined once the TP starts to be used by a local LU. The QUERY_TP_DEFINITION verb returns definition information only.

VCB Structure

Table 4-34

typedef struct query_tp

{

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 lu_name[8];   /* LU name    */

unsigned char lu_alias[8];   /* LU alias    */

unsigned char tp_name[64];    name */   
} QUERY_TP;

Table 4-35

typedef struct tp_data 

{ 

unsigned short overlay_size;   /* size of this entry 

   */

unsigned char tp_name[64];   /* TP name    */

unsigned char description[RD_LEN];   /* resource 

description    */

unsigned short instance_limit;   /* max instance 

count    */

unsigned short instance_count;   /* current instance 

count    */

unsigned short locally_started_count;   /* locally 

started instance count   */

unsigned short remotely_started_count;   /* remotely 

started instance count   */

unsigned char reserva[20];   /* reserved    */

} TP_DATA;

Table 4-36

typedef struct tp_spec_data 

{

unsigned char pathname[256];   /* path and TP name 

   */

unsigned char parameters[64];   /* parameters for TP 

   */

unsigned char queued;   /* queued TP (AP_YES)    */

unsigned char load_type;   /* type of load-DETACHED/

CONSOLE    */

unsigned char dynamic_load;   /* dynamic loading of 

TP enabled    */

unsigned char reserved[5];   /* max size is 120 bytes 

   */

} TP_SPEC_DATA;

Supplied Parameters

The application supplies the following parameters:

opcode

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. The combination of lu_name (or lu_alias if the lu_name is set to all zeros) and tp_name specified (see the following parameter) represents an index value that is used to specify the starting point of the actual information to be returned.

lu_name
LU name. This name is an 8-byte type-A EBCDIC character string. If this field is set to all zeros, the lu_alias field will be used for determining the index.

lu_alias
Locally defined LU alias. This is an 8-byte string in a locally displayable character set. This field is only significant if the lu_name field is set to all zeros, in which case all 8 bytes are significant and must be set. If both the lu_name and the lu_alias are set to all zeros, the LU that is associated with the control point (the default LU) is used.

tp_name
Transaction program name. This is a 64-byte string, padded to the right with spaces. This field is ignored if list_options is set to AP_FIRST_IN_LIST.

Returned Parameters

If the verb executes successfully, NWSAA returns the following parameters:

primary_rc

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.

tp_data.overlay_size
The number of bytes in this entry, and hence the offset to the next entry returned (if any).

tp_data.tp_name
Transaction program name. This is a 64-byte string, padded to the right with spaces.

tp_data.instance.description
Resource description (as specified on DEFINE_TP). This is a 16-byte string in a locally displayable character set. All 16 bytes are significant.

tp_data.instance_limit
Maximum number of concurrently active instances of the specified transaction program.

tp_data.instance_count
Number of instances of the specified transaction program that are currently active.

tp_data.locally_started_count
Number of instances of the specified transaction program that have been started locally (by the transaction program issuing a TP_STARTED verb).

tp_data.remotely_started_count
Number of instances of the specified transaction program that have been started remotely (by a received Attach request).

tp_chars.tp_data.pathname
Specifies the path and transaction program name.

tp_chars.tp_data.parameters
Specifies the parameters for the transaction program.

tp_chars.tp_data.queued
Specifies whether the transaction program will be queued.

tp_chars.tp_data.load_type
Specifies how the transaction program will be loaded.

If the verb does not execute because of a parameter error, NWSAA returns the following parameters:

primary_rc

secondary_rc

If the verb does not execute because the node has not yet been started, NWSAA returns the following parameter:

primary_rc

If the verb does not execute because of a system error, NWSAA returns the following parameter:

primary_rc

QUERY_TP_DEFINITION

QUERY_TP_DEFINITION returns both information previously passed in on a DEFINE_TP verb and information about NWSAA-defined transaction programs.

The information is returned as a list in one of two formats, either summary or detailed information. To obtain information about a specific transaction program, or to obtain the list information in several "chunks," the tp_name field should be set.

Otherwise (if the list_options field is set to AP_FIRST_IN_LIST), this field will be ignored.

This list is ordered by the tp_name, using EBCDIC lexicographical 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).

This verb returns definition information only. The QUERY_TP verb returns information that is determined once the transaction program starts to be used by a local LU.

VCB Structure

Table 4-37

typedef struct query_tp_definition 

{

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 tp_name[64];   /* TP name    */

} QUERY_TP_DEFINITION;

Table 4-38

typedef struct tp_def_summary 

{

unsigned short overlay_size;   /* size of this entry 

   */

unsigned char tp_name[64];   /* TP name    */

unsigned char description[RD_LEN];   /* resource 

description    */

} TP_DEF_SUMMARY;

Table 4-39

typedef struct tp_def_detail 

{

unsigned short overlay_size;   /* size of this entry 

   */

unsigned char tp_name[64];   /* TP name    */

TP_CHARS tp_chars;   /* TP characteristics    */

} TP_DEF_DETAIL;

Table 4-40

typedef struct tp_chars 

{

unsigned char description[RD_LEN];   /* resource 

description    */

unsigned char conv_type;   /* conversation type    */

unsigned char security_rqd;   /* security support 

   */

unsigned char sync_level;   /* synchronization level 

support    */

unsigned char dynamic_load;   /* dynamic load    */

unsigned char enabled;   /* is the TP enabled?    */

unsigned char pip_allowed;   /* program 

initialization parameters supported    */

unsigned char duplex_support;   /* duplex supported 

   */

unsigned char reserv3[9];   /* reserved    */

unsigned short tp__instance_limit;   /* limit on 

currently active TP instances   */

unsigned short incoming_alloc_timeout;   /* incoming 

alloc.timeout    */

unsigned short rcv_alloc_timeout;   /* receive 

allocation timeout    */

unsigned short tp_data_len;   /* TP data length    */

TP_SPEC_DATA tp_data;   /* TP data    */

} TP_CHARS;

Table 4-41

typedef struct tp_spec_data 

{

unsigned char pathname[256];   /* path and TP name 

   */

unsigned char parameters[64];   /* parameters for TP 

   */

unsigned char queued;   /* queued TP (AP_YES)    */

unsigned char load_type;   /* type of load-DETACHED/

CONSOLE    */

unsigned char dynamic_load;   /* dynamic loading of 

TP enabled    */

unsigned char reserved[5];   /* max size is 120 bytes 

   */

} TP_SPEC_DATA;

Supplied Parameters

The application supplies the following parameters:

opcode

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:

NOTE: To complete the list_options setting, you must OR one of the format options (AP_SUMMARY, AP_DETAIL) with one of the index options (AP_FIRST_IN_LIST, AP_LIST_FROM_NEXT, AP_LIST_INCLUSIVE).

The tp_name specified (see the following parameter) represents an index value that is used to specify the starting point of the actual information to be returned.

tp_name
Name of the defined transaction program. This is a 64-byte string, padded to the right with spaces. This field is ignored if list_options is set to AP_FIRST_IN_LIST.

Returned Parameters

If the verb executes successfully, NWSAA 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.

tp_def_summary.overlay_size
The number of bytes in this entry, and hence the offset to the next entry returned (if any).

tp_def_summary.tp_name
Defined transaction program name. This is a 64-byte string, padded to the right with spaces.

tp_def_summary.description
Resource description (as specified on DEFINE_TP). This is a 16-byte string in a locally displayable character set. All 16 bytes are significant.

tp_def_detail.overlay_size
The number of bytes in this entry, and hence the offset to the next entry returned (if any).

tp_def_detail.tp_name
Defined transaction program name. This is a 64-byte string, padded to the right with spaces.

tp_def_detail.tp_chars.description
Resource description (as specified on DEFINE_TP). This is a 16-byte string in a locally displayable character set. All 16 bytes are significant.

tp_def_detail.tp_chars.conv_type
Specifies the types of conversation supported by the transaction program:

tp_def_detail.tp_chars.security_rqd
Specifies whether conversation security information is required to start the transaction program (AP_NONE, AP_SAME or AP_PGM).

tp_def_detail.tp_chars.sync_level
Specifies the synchronization levels supported by the transaction program:

tp_def_detail.tp_chars.dynamic_load
Specifies whether the transaction program can be dynamically loaded (AP_YES or AP_NO).

tp_def_detail.tp_chars.enabled
Specifies whether the transaction program can be attached successfully (AP_YES or AP_NO). The default is AP_NO.

tp_def_detail.tp_chars.pip_allowed
Specifies whether the transaction program can receive program initialization (PIP) parameters (AP_YES or AP_NO).

tp_def_detail.tp_chars.duplex_support
Indicates whether the transaction program is full- or half-duplex.

tp_def_detail.tp_chars.tp_instance_limit
Limit on the number of concurrently active transaction program instances.

tp_def_detail.tp_chars.incoming_alloc_timeout
Specifies the number of seconds that an incoming Attach will be queued waiting for a RECEIVE_ALLOCATE. Zero implies no timeout, and so it will be held indefinitely.

tp_def_detail.tp_chars.rcv_alloc_timeout
Specifies the number of seconds that a RECEIVE_ALLOCATE verb will be queued while waiting for an Attach. Zero implies no timeout, and so it will be held indefinitely.

tp_def_detail.tp_chars.tp_data_len
Length of the implementation-dependent transaction program data.

tp_def_detail.tp_chars.tp_data
Implementation-dependent transaction program data that is passed unchanged on the DYNAMIC_LOAD_INDICATION.

If the verb does not execute because of a parameter error, NWSAA returns the following parameter:

primary_rc

secondary_rc

If the verb does not execute because the node has not yet been started, NWSAA returns the following parameters:

primary_rc

If the verb does not execute because of a system error, NWSAA returns the following parameter:

primary_rc



[Contents] [Prev] [Next] [Index]
Page 6 out of 16 total pages.

usib2hpd@vnet.ibm.com Copyright © 1998, Novell Corporation and International Business Machines Corporation.
All rights reserved.

Last updated: 12/07/98 15:16:27