snalu62_reset_session_limit(3) — Subroutines
NAME
snalu62_reset_session_limit − Resets the LU/mode session limit and contention-winner polarities for single- or parallel-session connections.
LIBRARY
/usr/shlib/libsnatprm.so
SYNOPSIS
#include <sna/snatprmdf.h>
STATUS_RTN snalu62_reset_session_limit(
STATUS_VEC status_vec,
char ∗local_lu_name,
char ∗remote_lu_name,
MODE_INFO ∗mode_name,
UINT32 responsible,
UINT8 drain_source,
UINT8 drain_target,
UINT8 force,
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.
responsible
A UINT32 value specifying which LU is responsible for selecting and deactivating sessions as a result of a change that decreases the session limit or the maximum number of contention-winner sessions for the source or target. This parameter is ignored for single-session connections and for the SNASVCMG and CPSVCMG mode names. For parallel-session connections, if the LU/mode session limit and the contention-winner polarities are already zero, this parameter is ignored. Specify one of the following values:
•SNALU62_C_SOURCE (the default)
Specifies that the source LU is responsible.
•SNALU62_C_TARGET
Specifies that the target LU is responsible. The target LU can negotiate with the source LU and request that the source LU be the responsible party.
Depending on the value specified for the drain_source and drain_target parameters affecting the responsible LU, the LU deactivates the sessions after current conversations complete or after all queued conversations complete. The LU cannot deactivate a session with an active conversation.
drain_source
A boolean UINT8 value specifying whether the source LU can drain its queued allocation requests. For parallel sessions, the target LU cannot negotiate this parameter. This parameter is not applicable when the mode_name parameter specifies SNASVCMG or CPSVCMG.
A value of TRUE (1) indicates that the source LU can continue to allocate queued conversation requests to sessions until the queue is empty. Any requests made after the last queued request is satisfied receive an indication that the session limit is 0. If the mode_name parameter specifies a single mode name whose current session limit is already at 0 due to a reset request and the drain_source parameter for that mode name was previously specified as FALSE, a subsequent request cannot set the drain_source parameter to TRUE.
A value of FALSE (0) indicates that the source LU should reject all queued conversation requests with an indication that the session limit is 0. Any further requests made after the last queued request is rejected receive an indication that the session limit is 0. If the mode_name parameter specifies a single mode name whose current session limit is already at 0 due to a reset request and the drain_source parameter for that mode name was previously specified as TRUE, the drain_source parameter is set to FALSE and any draining is terminated.
drain_target
A boolean UINT8 value specifying whether the target LU can drain its queued allocation requests. For parallel sessions, the source LU cannot negotiate this parameter. This parameter is not applicable when the mode_name parameter specifies SNASVCMG or CPSVCMG.
A value of TRUE (1) indicates that the target LU can continue to allocate queued conversation requests to sessions until the queue is empty. Any requests made after the last queued request is satisfied receive an indication that the session limit is 0. If the mode_name parameter specifies a single mode name whose current session limit is already at 0 due to a reset request and the drain_source parameter for that mode name was previously specified as FALSE, a subsequent request can request that the target LU set its drain_source parameter to TRUE. If accepted by the target LU, the target LU can allocate any remaining queued conversation requests to sessions until the queue is empty.
A value of FALSE (0) indicates that the target LU should reject all queued conversation requests with an indication that the session limit is 0. Any further requests made after the last queued request is rejected receive an indication that the session limit is 0. If the mode_name parameter specifies a single mode name whose current session limit is already at 0 due to a reset request and the drain_source parameter for that mode name was previously specified as TRUE, the drain_source parameter is set to FALSE and any draining is terminated.
force
A boolean UINT8 value specifying whether the source LU is to force its session limits to be reset when certain error conditions occur that prevent successful exchange of the CNOS request and reply. If session limit resetting is forced, the responsible parameter is forced to SNALU62_C_SOURCE and the drain_source parameter is forced to FALSE. The state of the target LU is undetermined. This parameter is not applicable when the mode_name parameter specifies SNASVCMG or CPSVCMG.
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, or all mode names, between the source LU and the target LU. The reset LU/mode session limit and contention-winner polarities are enforced until initialized by a subsequent snalu62_initialize_sess_limit verb. As a consequence of resetting the session limit and polarities, all active sessions with the specified mode name, or all mode names, are deactivated (after conversations complete, see the note under the responsible parameter).
The LU/mode session limit for a single-session connection to a target LU is reset only at the source LU; a CNOS request and reply are not exchanged between the two LUs. The source LU deactivates the session, if it is active, in accordance with the drain_source and drain_target parameters.
This verb can be called when the LU/mode session limit is already zero. In particular, this verb may be called multiple times without calling an intervening snalu62_initialize_sess_limit verb. For example, if this verb was first called specifying TRUE for drain_target and subsequently the program decides to disallow further draining by the target LU, the program can call this verb a second time specifying FALSE for drain_target. When the LU/mode session limit is already zero, the responsible parameter is ignored; the LU (source or target) specified on the first snalu62_reset_session_limit verb remains responsible for deactivating sessions.
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.
RETURN VALUES
SNALU62_S_OKnormal successful completion
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_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_UNKMODE
unrecognized mode name
SNALU62_S_UNSUC
verb did not execute successfully
ERRORS
None
RELATED INFORMATION
Functions: snalu62_change_session_limit and snalu62_initialize_sess_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.