[MC_]RECEIVE_EXPEDITED_DATA
The [MC_]RECEIVE_EXPEDITED_DATA verb receives any expedited data that is currently available from the partner TP. If expedited data is currently available, the local transaction program receives it without waiting; otherwise, the behavior is governed by the rtn_ctl field.
VCB Structure
typedef struct receive_expedited_data
{
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 */
unsigned char return_control; /* when to return control */
unsigned char reserv1[3]; /* reserved */
unsigned char rts_rcvd; /* request to send received */
unsigned char expd_data_rcvd; /* expedited data received */
unsigned short max_len; /* maximum length of received */
/* data */
unsigned short dlen; /* actual length of received */
/* data */
unsigned char *dptr; /* pointer to data buffer */
} RECEIVE_EXPEDITED_DATA
typedef struct mc_receive_expedited_data
{
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 */
unsigned char return_control; /* when to return control */
unsigned char reserv1[3]; /* reserved */
unsigned char rts_rcvd; /* request to send received */
unsigned char expd_data_rcvd; /* expedited data received */
unsigned short max_len; /* maximum length of received */
/* data */
unsigned short dlen; /* actual length of received */
/* data */
unsigned char *dptr; /* pointer to data buffer */
} MC_RECEIVE_EXPEDITED_DATASupplied Parameters
- opcode
- AP_B_RECEIVE_EXPEDITED_DATA

AP_M_RECEIVE_EXPEDITED_DATA
- opext
- AP_BASIC_CONVERSATION or AP_MAPPED_CONVERSATION. For nonblocking operation,
this flag can be ORed together with AP_NON_BLOCKING.
On full-duplex conversations, this flag must be ORed together with AP_FULL_DUPLEX_CONVERSATION.
- 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 ALLOCATE verb in the invoking transaction program or by RECEIVE_ALLOCATE in the invoked transaction program.
- return_control
- Specifies when to return control to the transaction program.
- AP_WHEN_EXPD_RECEIVED
- AP_IMMEDIATE
- max_len
- Maximum number of bytes of data the local transaction program can receive.
Range: 0–86
This value must not exceed the length of the buffer to contain the received data.
- dptr
- Address of the buffer to contain the data received by the local LU. The application can append data to the end of the VCB, in which case dptr must be set to NULL.
Returned Parameters
- primary_rc
- AP_OK
- rts_rcvd
- Request-to-send-received indicator.
- AP_YES
- AP_NO
- expd_data_rcvd
- Expedited-data-received indicator. This indication continues to be set
to AP_YES until a RECEIVE_EXPEDITED_DATA is issued.
AP_YES
AP_NO - dlen
- Number of bytes of data received (the data is stored in the buffer specified by the dptr parameter). A length of zero indicates that no data was received. Note that any data received is unformatted. No 2-byte length field (LL) is present.
- primary_rc
- AP_OPERATION_INCOMPLETE

- opext
- AP_OPERATION_INCOMPLETE_FLAG
- primary_rc
- AP_EXPD_NOT_SUPPORTED_BY_LU
- primary_rc
- AP_UNSUCCESSFUL
- primary_rc
- AP_BUFFER_TOO_SMALL
- dlen
- Number of bytes expedited data that the LU has available to receive.
- primary_rc
- AP_PARAMETER_CHECK
- secondary_rc
- AP_BAD_CONV_ID
AP_BAD_TP_ID
AP_EXPD_BAD_RETURN_CONTROL
AP_RCV_EXPD_INVALID_LENGTH
- primary_rc
- AP_STATE_CHECK
- secondary_rc
- AP_EXPD_DATA_BAD_CONV_STATE
AP_ALLOCATION_ERROR
- AP_SECURITY_NOT_VALID
- AP_TRANS_PGM_NOT_AVAIL_RETRY
- AP_TRANS_PGM_NOT_AVAIL_NO_RTRY
- AP_TP_NAME_NOT_RECOGNIZED
- AP_PIP_NOT_ALLOWED
- AP_PIP_NOT_SPECIFIED_CORRECTLY
- AP_CONVERSATION_TYPE_MISMATCH
- AP_SYNC_LEVEL_NOT_SUPPORTED
AP_CONV_FAILURE_NO_RETRY
AP_CONV_FAILURE_RETRY
AP_DEALLOC_ABEND_PROG
AP_DEALLOC_ABEND_SVC
AP_DEALLOC_ABEND_TIMER
AP_DEALLOC_NORMAL
AP_TP_BUSY
AP_CONVERSATION_TYPE_MIXED
AP_DUPLEX_TYPE_MIXED
AP_UNEXPECTED_SYSTEM_ERROR
AP_CANCELLED
