|
|
|
|
The SET_TP_PROPERTIES verb enables the application to set properties of the local TP, which are used when allocating new conversations for the TP. It provides access to the following properties:
The user ID to be used when allocating a new conversation
specifying already verified
security. In general, a TP uses
already verified
security when it has been invoked by another TP specifying
a valid user ID and password, and is now invoking a third TP as part of the
same transaction; in this case, APPC sends the user ID from the original TP
without requiring a password. Alternatively, if the TP was not invoked by
another TP, APPC uses the Solaris user name with which the application is running
as the user ID for conversation security.
However, if the TP obtained and verified the user ID and password by
another means (for example, if it requires the user to type in a user ID and
password explicitly before allocating the conversation), it needs to provide
the user ID to APPC using SET_TP_PROPERTIES before invoking another TP using
already verified
security.
Identifiers for the Logical Unit of Work in which the TP is
participating. A Logical Unit of Work is a transaction between APPC TPs to
accomplish a particular task; it may involve two communicating TPs, or a sequence
of conversations between several TPs. There are two Logical Unit of Work Identifiers
(LUWIDs) associated with the TP: the unprotected LUWID, which is used for
conversations with a sync_level of
The definition of the VCB structure for the SET_TP_PROPERTIES verb is as follows:
typedef struct set_tp_properties
{
AP_UINT16 opcode;
unsigned char opext; /* Reserved */
unsigned char format; /* Reserved */
AP_UINT16 primary_rc;
AP_UINT32 secondary_rc;
unsigned char tp_id[8];
unsigned char set_prot_id;
unsigned char new_prot_id;
LUWID_OVERLAY prot_id;
unsigned char set_unprot_id;
unsigned char new_unprot_id;
LUWID_OVERLAY unprot_id;
unsigned char set_user_id;
unsigned char set_password;
unsigned char user_id[10];
unsigned char new_password[10];
} SET_TP_PROPERTIES;
typedef struct luwid_overlay
{
unsigned char fq_length;
unsigned char fq_luw_name[17];
unsigned char instance[6];
unsigned char sequence[2];
} LUWID_OVERLAY;
The TP supplies the following parameters to APPC:
Identifier for the local TP.
The value of this parameter was returned by the TP_STARTED verb in the invoking TP or by RECEIVE_ALLOCATE in the invoked TP.
Specifies whether APPC is to modify the protected Logical Unit of Work identifier. Possible values are:
Modify the protected LUWID for this TP.
Leave the protected LUWID unchanged.
Specifies whether APPC should generate a new protected Logical Unit
of Work identifier, or to use the one specified on this verb. This parameter
is reserved if set_prod_id is set to
Generate a new protected LUWID.
Set the TP's protected LUWID to the one supplied on this verb.
If set_prot_id is set to
The length (1-17 bytes) of the fully qualified LU name associated with the Logical Unit of Work (the LU name itself is specified by the following parameter)
The fully qualified LU name associated with the Logical Unit of Work. This name is a 17-byte EBCDIC string, padded on the right with EBCDIC spaces. It consists of a network ID of 1-8 A-string characters, an EBCDIC dot (period) character, and an LU name of 1-8 A-string characters.
The instance number associated with the Logical Unit of Work (a 6-byte binary number).
The sequence number of the current segment of the Logical Unit of Work (a 2-byte binary number).
Specifies whether APPC is to modify the unprotected Logical Unit of Work identifier. Possible values are:
Modify the unprotected LUWID for this TP.
Leave the unprotected LUWID unchanged.
Specifies whether APPC should generate a new unprotected Logical Unit
of Work identifier, or to use the one specified on this verb. This parameter
is reserved if set_unprot_id is set to
Generate a new unprotected LUWID.
Set the TP's unprotected LUWID to the one supplied on this verb.
If set_unprot_id is set to
The length (1-17 bytes) of the fully qualified LU name associated with the Logical Unit of Work (the LU name itself is specified by the following parameter)
The fully qualified LU name associated with the Logical Unit of Work. This name is a 17-byte EBCDIC string, padded on the right with EBCDIC spaces. It consists of a network ID of 1-8 A-string characters, an EBCDIC dot (period) character, and an LU name of 1-8 A-string characters.
The instance number associated with the Logical Unit of Work (a 6-byte binary number).
The sequence number of the current segment of the Logical Unit of Work (a 2-byte binary number).
Specifies whether APPC is to modify the user ID. Possible values are:
Modify the user ID for this TP.
Leave the user ID unchanged.
Specifies whether APPC should modify the password associated with the new_password parameter. Possible values are:
APPC should modify the password.
APPC should not modify the password.
If set_user_id is set to
If set_password is set to
After the verb executes, APPC returns parameters to indicate whether the execution was successful and, if not, to indicate the reason the execution was not successful.
If the verb executes successfully, APPC returns the following parameters:
AP_OK
If set_prot_id and new_prot_id
are both set to
The length (1-17 bytes) of the fully qualified LU name associated with the Logical Unit of Work (the LU name itself is specified by the prot_id.fq_luw_name parameter)
The fully qualified LU name associated with the Logical Unit of Work. This name is a 17-byte EBCDIC string, padded on the right with EBCDIC spaces. It consists of a network ID of 1-8 A-string characters, an EBCDIC dot (period) character, and an LU name of 1-8 A-string characters.
The instance number associated with the Logical Unit of Work (a 6-byte binary number).
The sequence number of the current segment of the Logical Unit of Work (a 2-byte binary number).
If set_unprot_id and new_unprot_id
are both set to
The length (1-17 bytes) of the fully qualified LU name associated with the Logical Unit of Work (the LU name itself is specified by the unprot_id.fq_luw_name parameter)
The fully qualified LU name associated with the Logical Unit of Work. This name is a 17-byte EBCDIC string, padded on the right with EBCDIC spaces. It consists of a network ID of 1-8 A-string characters, an EBCDIC dot (period) character, and an LU name of 1-8 A-string characters.
The instance number associated with the Logical Unit of Work (a 6-byte binary number).
The sequence number of the current segment of the Logical Unit of Work (a 2-byte binary number).
If the verb does not execute successfully, APPC returns a primary return code parameter to indicate the type of error and a secondary return code parameter to provide specific details about the reason for unsuccessful execution.
If the verb does not execute because of a parameter error, APPC returns the following parameters:
AP_PARAMETER_CHECK
Possible values are:
The value of tp_id did not match a TP identifier assigned by APPC.
The reserved parameter format was set to a nonzero value.
The application issued this verb within a callback routine, using the synchronous APPC entry point. Any verb issued from a callback routine must use the asynchronous entry point.
No state check errors occur for this verb.
If the verb does not execute because other conditions exist, APPC returns primary return codes (and, if applicable, secondary return codes). For information about these return codes, see Common Return Codes.
Possible values are:
APPC does not return secondary return codes with these primary return codes.
The conversation can be in any state when the TP issues this verb.
The conversation state does not change for this verb.
For TPs that use Syncpoint functions, when the local application changes the protected LUWID, the Syncpoint Manager is responsible for sending the appropriate PS header to the partner application to inform it of the new protected LUWID. Similarly, when the Syncpoint Manager receives a PS header containing a new protected LUWID, it must issue SET_TP_PROPERTIES to inform the local LU of the new LUWID.
|
|
|
|
|