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