SIGN_OFF

SIGN_OFF instructs an LU to remove entries from signed on lists. Currently, only entries from the signed-on list are removed. The verb can specify that all entries are removed, or that only those in the appended sign_off_data structures.

VCB Structure

typedef struct query_sign_off
{
   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];        /* LU name                      */
   unsigned char   lu_alias[8];       /* LU alias                     */
   unsigned char   plu_alias[8];      /* partner LU alias             */
   unsigned char   fqplu_name[17];    /* fully qualified partner      */
                                      /* LU name                      */
   unsigned char   list;              /* signed on to/from list       */
   unsigned char   all_in_list;       /* sign off all entries in list */
   unsigned char   immediate;         /* remove entries immediately   */
   unsigned char   num_entries;       /* number of entries            */
} QUERY_SIGN_OFF;
typedef struct sign_off_data
{
   unsigned char   user_id[10];       /* user ID                      */
   unsigned char   all_profiles;     /* all profiles for this user    */
   unsigned char   profile[10];      /* specific profile             */
} SIGN_OFF_DATA;

Supplied Parameters

The application supplies the following parameters:
opcode
AP_SIGN_OFF
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. 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 index.
lu_alias
Locally defined LU alias. 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, the LU associated with the control point (the default LU) is used.
plu_alias
Partner LU alias. 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 will be used for determining the index.
fqplu_name
17-byte fully qualified network name for the partner LU. This name is composed of two type-A EBCDIC character strings concatenated by an EBCDIC dot, and is right-padded with EBCDIC spaces. (Each name can have a maximum length of 8 bytes with no embedded spaces.)
list
Signed–on list type. This must be set to AP_SIGNED_ON_TO_LIST.
AP_SIGNED_ON_TO_LIST
The list of users who are signed on to the remote LU from the local LU. Note, the remote LU is not informed when entries are removed from this list. This is the only value currently supported.
all_in_list
If set to AP_YES, all users in the list specified by list are signed off.
immediate
If set to AP_YES, users are removed immediately. If set to AP_NO, users are removed once the remote LU has confirmed that the sign-off completed successfully. This field is reserved if list is AP_SIGNED_ON_TO_LIST.
num_entries
Number of entries actually returned.
If all_in_list is AP_NO, a list of users must be appended to the SIGN_OFF VCB, as a series of SIGN_OFF_DATA structures. The parameters in the SIGN_OFF_DATA structure are as follows:
sign_off_data.user_id
The user ID.
sign_off_data.all_profiles
Total number of entries that could have been returned. This can be higher than num_entries.
sign_off_data.profile
This is a 10-byte alphanumeric EBCDIC string. Note, the Program currently supports only the blank profile (10 eBCDIC spaces). This field is ignored if list_options is set to AP_FIRST_IN_LIST.

Returned Parameters

If the verb executes successfully, the Program returns the following parameters:
primary_rc
AP_OK
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_INVALID_LU_ALIAS

AP_INVALID_LU_NAME
AP_INVALID_PLU_NAME
AP_INVALID_USERID
AP_INVALID_PROFILE
AP_INVALID_LIST
AP_INVALID_LIST_OPTION

Any SIGN_OFF_DATA user_id/profile combinations that are not successfully processed by the Program, are returned to the application appended to the VCB, and the returned value of num_entries is the number of SIGN_OFF_DATA entries (which could not be processed) returned by the Program.

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_INVALID_LU_ALIAS

AP_INVALID_LU_NAME
AP_INVALID_LU_NAME
AP_INVALID_LIST

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 stopped, the Program returns the following parameter:
primary_rc
AP_NODE_STOPPING
If the verb does not execute because of a system error, the Program returns the following parameter:
primary_rc
AP_UNEXPECTED_SYSTEM_ERROR