RESET_SESSION_LIMIT

The RESET_SESSION_LIMIT verb requests that the mode session limits be reset.

VCB Structure

typedef struct reset_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 qual partner LU name */
   unsigned char   reserv3;          /* reserved                   */
   unsigned char   mode_name[8];     /* mode name                  */
   unsigned char   mode_name_select; /* select mode name           */
   unsigned char   set_negotiable;   /* set max negotiable limit?  */
   unsigned char   reserv4[8];       /* reserved                   */
   unsigned char   responsible;      /* responsible                */
   unsigned char   drain_source;     /* drain source               */
   unsigned char   drain_target;     /* drain target               */
   unsigned char   force;            /* force                      */
   unsigned long   sense_data;       /* sense data                 */
} RESET_SESSION_LIMIT;

Supplied Parameters

The application supplies the following parameters:
opcode
AP_RESET_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 reset 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 reset 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 this is set to all zeros, 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.
mode_name_select
Selects whether session limits should be reset on a single specified mode, or on all modes between the local and partner LUs.

AP_ONE
AP_ALL

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

AP_YES
AP_NO

responsible
Indicates whether the source (local) or target (partner) LU is responsible for deactivating sessions after the session limit is reset (AP_SOURCE or AP_TARGET).
drain_source
Specifies whether the source LU satisfies waiting session requests before deactivating a session when session limits are changed or reset (AP_NO or AP_YES).
drain_target
Specifies whether the target LU satisfies waiting session requests before deactivating a session when session limits are changed or reset (AP_NO or AP_YES).
force
Specifies whether session limits will be set to zero even if CNOS negotiation fails (AP_YES or AP_NO).

Returned Parameters

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

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_EXCEEDS_MAX_ALLOWED

AP_INVALID_PLU_NAME
AP_INVALID_MODE_NAME
AP_INVALID_MODE_NAME_SELECT
AP_INVALID_RESPONSIBLE
AP_INVALID_DRAIN_SOURCE
AP_INVALID_DRAIN_TARGET
AP_INVALID_FORCE
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 parameter:
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