snalu62_initialize_sess_limit(3) — Subroutines
NAME
snalu62_initialize_sess_limit − Initializes the LU/mode session limit and contention-winner polarities for parallel- and single-session connections.
LIBRARY
/usr/shlib/libsnatprm.so
SYNOPSIS
#include <sna/snatprmdf.h>
STATUS_RTN snalu62_initialize_sess_limit(
STATUS_VEC status_vec,
char ∗local_lu_name,
char ∗remote_lu_name,
char ∗mode_name,
UINT32 lu_mode_session_limit,
UINT32 min_conwinners_source,
UINT32 min_conwinners_target,
SRV_INFO ∗server_info
);
SUPPLIED PARAMETERS
local_lu_name
A pointer to a null-terminated ASCII string specifying either the fully-qualified network name or the locally-known alias of the local LU with which the mode name is associated.
min_conwinners_source
A UINT32 value specifying the minimum number of sessions for which the source LU is the contention winner.
For single-session connections, specify a value of 1 or 0 depending on the value you specify for the min_conwinners_target parameter.
When the mode_name parameter specifies either SNASVCMG or CPSVCMG, specify a value of 1.
min_conwinners_target
A UINT32 value specifying the minimum number of sessions for which the remote (target) LU is the contention winner.
For single-session connections, specify a value of 1 or 0 depending on the value you specify for the min_conwinners_source parameter.
When the mode_name parameter specifies either SNASVCMG or CPSVCMG, specify a value of 1.
server_info
A pointer to a SRV_INFO structure specifying the LU6.2 Server to use. Supply sufficient information to uniquely identify the LU6.2 Server. If this parameter is not specified, the interface attempts to connect to a local server with the name LU62_SRV.
RETURNED PARAMETER
status_vec
A pointer to a STATUS_VEC array to receive the completion status information.
DESCRIPTION
This verb applies to the group of sessions with the specified mode name between the source LU and the remote (target) LU. The new LU/mode session limit and contention-winner polarities are enforced until changed by subsequent CNOS processing. As a consequence of initializing the session limit, one or more LU-LU sessions with the specified mode name may be activated.
Single-Session Modes
The LU/mode session limit for a single-session connection is initialized only locally at the source LU; a CNOS request and reply are not exchanged between the two LUs. Thus, the snalu62_initialize_sess_limit verb must be called at both LUs before either LU can activate the corresponding session. From each LU’s perspective, each is the source LU for processing this verb. A single-session connection can support multiple modes, each with a mode session limit of 1. However, only one of these modes can be in use at any given time.
Parallel-Session Modes
All the parallel sessions between two LUs can be partitioned into groups, with all sessions in a group having the same mode name. Use this verb to initialize the maximum number of active parallel sessions that can exist concurrently within a mode-name group between the source LU and target LU. The limits imposed on the number of active parallel sessions within a mode-name group are:
•The number of active sessions cannot exceed the LU/mode session limit.
•The number of active contention-winner sessions for the source LU cannot exceed the LU/mode session limit minus the minimum number of contention-winner sessions for the target LU.
•The number of active contention-winner sessions for the target LU cannot exceed the LU/mode session limit minus the minimum number of contention-winner sessions for the source LU.
As a result of calling this verb, parallel sessions may be activated to conform to the new limits.
For parallel-session connections, you must initialize the SNASVCMG mode at both LUs before initializing any other modes. Processing of the initialization request for the SNASVCMG mode always occurs locally, no CNOS request is exchanged.
When a remote LU (like CICS) fails, its underlying communication system automatically deactivates the remote LU’s sessions. When the communication system restarts the remote LU, it sets all the LU’s mode session limits to zero. If you attempt to establish a conversation to a remote transaction program using the remote LU, the session activation request will fail because the mode session limits are not initialized. You should use one or more of the CNOS verbs described in this chapter to negotiate new session limits.
RESTRICTIONS
Only a process having superuser privileges or a user listed in the system group in the /etc/group file can call this verb.
If you are using this verb to manage an LU6.2 Server on a remote node, the remote server must have access to an LU6.2 Server access validation file that includes your node name.
For a description of the LU6.2 Server access validation file, see the Compaq SNA APPC/LU6.2 Programming Interface for Tru64 UNIX Administrator’s Guide.
If the local LU was defined with the session_activation parameter set to TRUE (1), the interface does not negotiate the session limits immediately. The interface saves the requested limits and returns a status of SNALU62_S_OK. When a transaction program makes the first call to the snalu62_attach_listen verb specifying the local LU, the interface negotiates all remote LU/mode session limits that have any saved information.
RETURN VALUES
SNALU62_S_OKnormal successful completion
SNALU62_S_OK_ASNEG
normal successful completion was negotiated
SNALU62_S_OK_ASSPEC
normal successful completion as specified
SNALU62_S_ALLERR
conversation could not be allocated
SNALU62_S_EXCMAX
request exceeds maximum allowed
SNALU62_S_MSLIMC
LU-mode session limit closed
SNALU62_S_MSLIMN
LU-mode session limit not zero
SNALU62_S_PARERR
parameter error, function-name
SNALU62_S_PRGPARCHK
program parameter check
SNALU62_S_RACEREJ
command race reject
SNALU62_S_RESFNO
resource failure no retry
SNALU62_S_SESLIM
LU session limit exceeded
SNALU62_S_UNKMODE
unrecognized mode name
SNALU62_S_UNSUC
verb did not execute successfully
ERRORS
None
RELATED INFORMATION
Functions: snalu62_change_session_limit and snalu62_reset_session_limit
Manuals: Compaq SNA APPC/LU6.2 Programming Interface for Tru64 UNIX Programming and IBM’s Systems Network Architecture Transaction Programmer’s Reference Manual for LU Type 6.2.