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