[MC_]REQUEST_TO_SEND

The [MC_]REQUEST_TO_SEND verb notifies the partner transaction program that the local transaction program wants to send data.

VCB Structure

typedef struct request_to_send
{
 unsigned short    opcode;               /* verb operation code     */
 unsigned char     opext;                /* verb extension code     */
 unsigned char     format;               /* format                  */
 unsigned short    primary_rc;           /* primary return code     */
 unsigned long     secondary_rc;         /* secondary return code   */
 unsigned char     tp_id[8];             /* TP identifier           */
 unsigned long     conv_id;              /* conversation identifier */
} REQUEST_TO_SEND;
typedef struct mc_request_to_send
{
 unsigned short      opcode;             /* verb operation code     */
 unsigned char       opext;              /* verb extension code     */
 unsigned char       format;             /* format                  */
 unsigned short      primary_rc;         /* primary return code     */
 unsigned long       secondary_rc;       /* secondary return code   */
 unsigned char       tp_id[8];           /* TP identifier           */
 unsigned long       conv_id;            /* conversation identifier */
} MC_REQUEST_TO_SEND;

Supplied Parameters

The transaction program supplies the following parameters to Personal Communications:
opcode
AP_B_REQUEST_TO_SEND
Displays a basic verb icon.

AP_M_REQUEST_TO_SEND

Displays a mapped verb icon.

opext
AP_BASIC_CONVERSATION or AP_MAPPED_CONVERSATION. For nonblocking operation, this flag can be ORed together with AP_NON_BLOCKING.
format
Identifies the format of the VCB. Set this field to zero to specify the version of the VCB listed above.
tp_id
Identifier for the local transaction program.

The value of this parameter was returned by the TP_STARTED verb in the invoking transaction program or by RECEIVE_ALLOCATE in the invoked transaction program.

conv_id
Conversation identifier.

The value of this parameter was returned by the [MC_]ALLOCATE verb in the invoking transaction program or by RECEIVE_ALLOCATE in the invoked transaction program.

Returned Parameters

If the verb executes successfully, Personal Communications returns the following parameter:
primary_rc
AP_OK
If the verb is nonblocking and has not completed, Personal Communications returns the following parameters:
primary_rc
AP_OPERATION_INCOMPLETE
opext
AP_OPERATION_INCOMPLETE_FLAG
If [MC_]REQUEST_TO_SEND is issued in nonblocking mode (see Queue-Level Nonblocking), and the conversation ends while processing a verb on the send/receive queue, Personal Communications returns the following parameter:
primary_rc
AP_CONVERSATION_ENDED

The application should not issue any more verbs for this conversation.

If the verb does not execute because of a parameter error, Personal Communications returns the following parameters:
primary_rc
AP_PARAMETER_CHECK
secondary_rc
AP_BAD_CONV_ID

AP_BAD_TP_ID
AP_R_T_S_INVALID_FOR_FDX

If the conversation is in the wrong state when the transaction program issues this verb, Personal Communications returns the following parameters:
primary_rc
AP_STATE_CHECK
secondary_rc
AP_R_T_S_BAD_STATE
The conditions generating the following possible primary return codes (primary_rc) are described in APPC Common Return Codes.

AP_TP_BUSY
AP_CONVERSATION_TYPE_MIXED
AP_UNEXPECTED_SYSTEM_ERROR
AP_CANCELLED