CHANGE_SESSION_LIMIT

The CHANGE_SESSION_LIMIT verb requests that the session limits of a particular mode (or session group) be changed. Sessions can be activated or deactivated as a result of processing this verb.

VCB Structure

typedef struct change_session_limit
{
   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   lu_name[8];          /* local LU name             */
   unsigned char   lu_alias[8];         /* local LU alias            */
   unsigned char   plu_alias[8];        /* partner LU alias          */
   unsigned char   fqplu_name[17];      /* fully qualified partner   */
                                        /* LU name                   */
   unsigned char   reserv3;             /* reserved                  */
   unsigned char   mode_name[8];        /* mode name                 */
   unsigned char   reserv3a;            /* reserved                  */
   unsigned char   set_negotiable;      /* set max negotiable limit? */
   unsigned short  plu_mode_session_limit;
                                        /* session limit             */
   unsigned short  min_conwinners_source;
                                        /* min source contention     */
                                        /* winner sessions           */
   unsigned short  min_conwinners_target;
                                        /* min target contention     */
                                        /* winner sessions           */
   unsigned short  auto_act;            /* auto activation limit     */
   unsigned char   responsible;         /* responsible indicator     */
   unsigned char   reserv4[3];          /* reserved                  */
   unsigned long   sense_data;          /* sense data                */
} CHANGE_SESSION_LIMIT;

Supplied Parameters

The application supplies the following parameters:
opcode
AP_CHANGE_SESSION_LIMIT
format
Identifies the format of the VCB. Set this field to zero to specify the version of the VCB listed above.
lu_name
LU name of the local LU requested to change session limits. 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 local LU.
lu_alias
Alias of the local LU requested to change session limits. 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 fields are set to all zeros then the verb is forwarded to the LU associated with the control point (the default LU).
plu_alias
Alias by which the partner LU is known to the local LU. This name must match the name of a partner LU established during configuration. 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.
fqplu_name
Fully qualified LU name for the partner LU. This name is 17 bytes long and is right-padded with EBCDIC spaces. It is composed of two type-A EBCDIC character strings concatenated by an EBCDIC dot. (Each name can have a maximum length of 8 bytes with no embedded spaces.) This field is only significant if the plu_alias field is set to all zeros.
mode_name
Name of a set of networking characteristics defined during configuration. This is an 8-byte alphanumeric type-A EBCDIC string (starting with a letter), padded to the right with EBCDIC spaces.

SNASVCMG and CPSVCMG mode limits cannot be changed. Set_negotiable specifies whether the maximum negotiable session limit for this mode should be modified to become the plu_mode_session_limit.

set_negotiable
Specifies whether the maximum negotiable session limit for this mode should be modified to become the plu_mode_session_limit.

AP_YES
AP_NO

plu_mode_session_limit
Requested total session limit for this mode. The actual session limit (which can be negotiated with the partner LU), is the agreed maximum number of sessions supported between the local LU and the partner LU on this mode.
min_conwinners_source
Minimum number of sessions in this mode for which the local LU is the contention winner.
min_conwinners_target
Minimum number of sessions in this mode for which the partner LU is the contention winner.
auto_act
Number of sessions to automatically activate after the session limit is changed. The actual number of automatically activated sessions is the minimum of this value and the negotiated minimum number of contention winner sessions for the local LU. When sessions are deactivated normally (specifying AP_DEACT_NORMAL) below this limit, new sessions are activated up to this limit.
responsible
Indicates whether the source (local) or target (partner) LU is responsible for deactivating sessions after the session limit is changed (AP_SOURCE or AP_TARGET).

Returned Parameters

If the verb executes successfully, the Program returns the following parameters:
primary_rc
AP_OK
secondary_rc
AP_AS_SPECIFIED

AP_AS_NEGOTIATED

If the verb does not execute because of a parameter error, the Program returns the following parameters:
primary_rc
AP_PARAMETER_CHECK
secondary_rc
AP_LU_MODE_SESSION_LIMIT_ZERO

AP_EXCEEDS_MAX_ALLOWED
AP_INVALID_MODE_NAME
AP_INVALID_PLU_NAME
AP_INVALID_RESPONSIBLE
AP_INVALID_SET_NEGOTIABLE
AP_INVALID_LU_NAME
AP_INVALID_LU_ALIAS

If the verb does not execute because of a state error, the Program returns the following parameters:
primary_rc
AP_STATE_CHECK
secondary_rc
AP_MODE_RESET
If the verb does not execute because the node has not yet been started, the Program returns the following parameter:
primary_rc
AP_NODE_NOT_STARTED
If the verb does not execute because the node is stopping, the Program returns the following parameter:
primary_rc
AP_NODE_STOPPING
If the verb does not execute because of an allocation error, the Program returns the following parameters:
primary_rc
AP_ALLOCATION_ERROR
secondary_rc
AP_ALLOCATION_FAILURE_NO_RETRY
sense_data
Sense data associated with allocation error.
If the verb does not execute because of a system error, the Program returns the following parameter:
primary_rc
AP_UNEXPECTED_SYSTEM_ERROR
If the verb does not execute because of an error, the Program returns the following parameters:
primary_rc

AP_CONV_FAILURE_NO_RETRY
AP_CNOS_PARTNER_LU_REJECT

secondary_rc
AP_CNOS_COMMAND_RACE_REJECT

AP_CNOS_MODE_NAME_REJECT