[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
AP_M_REQUEST_TO_SEND
- 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